blob: e2e8549f588455d34d93b67daef80e1702c815f4 [file] [log] [blame]
ddkilzer@apple.com90c29f52008-12-02 00:53:35 +000012008-12-01 David Kilzer <ddkilzer@apple.com>
2
3 Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
4
5 <https://bugs.webkit.org/show_bug.cgi?id=22466>
6 <rdar://problem/6403593>
7
8 Reviewed by Brady Eidson.
9
10 Test: http/tests/webarchive/test-preload-resources.html
11
12 * loader/archive/cf/LegacyWebArchive.cpp:
13 (WebCore::LegacyWebArchive::create): Check the WebCore cache for
14 resources if DocumentLoader::subresource() doesn't return them.
15 Note that the DocumentLoader::subresource() method returned
16 preloaded resources before r35867, but this caused a regression in
17 Mail.
18
jchaffraix@webkit.org74dae402008-12-01 23:07:04 +0000192008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
20
jchaffraix@webkit.org0e8f0492008-12-02 00:10:33 +000021 Reviewed by Eric Seidel.
22
23 Bug 22564: Make HTML elements' constructors take a QualifiedName
24 https://bugs.webkit.org/show_bug.cgi?id=22564
25
26 - Modified the remaining HTML elements' constructors to take a QualifiedName.
27
28 - Added an assertion that the QualifiedName given corresponds to the element constructed.
29
30 * bindings/js/JSAudioConstructor.cpp:
31 (WebCore::constructAudio):
32 * html/HTMLAudioElement.cpp:
33 (WebCore::HTMLAudioElement::HTMLAudioElement):
34 * html/HTMLAudioElement.h:
35 * html/HTMLBRElement.cpp:
36 (WebCore::HTMLBRElement::HTMLBRElement):
37 * html/HTMLBRElement.h:
38 * html/HTMLElement.cpp:
39 (WebCore::HTMLElement::setInnerText):
40 * html/HTMLElementFactory.cpp:
41 (WebCore::brConstructor):
42 (WebCore::quoteConstructor):
43 (WebCore::marqueeConstructor):
44 (WebCore::audioConstructor):
45 (WebCore::videoConstructor):
46 (WebCore::sourceConstructor):
47 * html/HTMLMarqueeElement.cpp:
48 (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
49 * html/HTMLMarqueeElement.h:
50 * html/HTMLQuoteElement.cpp:
51 (WebCore::HTMLQuoteElement::HTMLQuoteElement):
52 * html/HTMLQuoteElement.h:
53 * html/HTMLSourceElement.cpp:
54 (WebCore::HTMLSourceElement::HTMLSourceElement):
55 * html/HTMLSourceElement.h:
56 * html/HTMLVideoElement.cpp:
57 (WebCore::HTMLVideoElement::HTMLVideoElement):
58 * html/HTMLVideoElement.h:
59 * rendering/RenderTextControl.cpp:
60 (WebCore::RenderTextControl::updateFromElement):
61
622008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
63
jchaffraix@webkit.org74dae402008-12-01 23:07:04 +000064 Reviewed by Antti Koivisto.
65
66 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
67 https://bugs.webkit.org/show_bug.cgi?id=22441
68
69 Add an assertion to the modified HTML elements' constructor
70 to check that the QualifiedName parameter is the one that
71 matches the Element's.
72
73 * html/HTMLBaseElement.cpp:
74 (WebCore::HTMLBaseElement::HTMLBaseElement):
75 * html/HTMLBlockquoteElement.cpp:
76 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
77 * html/HTMLBodyElement.cpp:
78 (WebCore::HTMLBodyElement::HTMLBodyElement):
79 * html/HTMLButtonElement.cpp:
80 (WebCore::HTMLButtonElement::HTMLButtonElement):
81 * html/HTMLDListElement.cpp:
82 (WebCore::HTMLDListElement::HTMLDListElement):
83 * html/HTMLDirectoryElement.cpp:
84 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
85 * html/HTMLDivElement.cpp:
86 (WebCore::HTMLDivElement::HTMLDivElement):
87 * html/HTMLFieldSetElement.cpp:
88 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
89 * html/HTMLFormElement.cpp:
90 (WebCore::HTMLFormElement::HTMLFormElement):
91 * html/HTMLFrameElement.cpp:
92 (WebCore::HTMLFrameElement::HTMLFrameElement):
93 * html/HTMLFrameSetElement.cpp:
94 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
95 * html/HTMLHeadElement.cpp:
96 (WebCore::HTMLHeadElement::HTMLHeadElement):
97 * html/HTMLHtmlElement.cpp:
98 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
99 * html/HTMLIFrameElement.cpp:
100 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
101 * html/HTMLInputElement.cpp:
102 (WebCore::HTMLInputElement::HTMLInputElement):
103 * html/HTMLIsIndexElement.cpp:
104 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
105 * html/HTMLKeygenElement.cpp:
106 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
107 * html/HTMLLIElement.cpp:
108 (WebCore::HTMLLIElement::HTMLLIElement):
109 * html/HTMLLabelElement.cpp:
110 (WebCore::HTMLLabelElement::HTMLLabelElement):
111 * html/HTMLLegendElement.cpp:
112 (WebCore::HTMLLegendElement::HTMLLegendElement):
113 * html/HTMLLinkElement.cpp:
114 (WebCore::HTMLLinkElement::HTMLLinkElement):
115 * html/HTMLMenuElement.cpp:
116 (WebCore::HTMLMenuElement::HTMLMenuElement):
117 * html/HTMLMetaElement.cpp:
118 (WebCore::HTMLMetaElement::HTMLMetaElement):
119 * html/HTMLOListElement.cpp:
120 (WebCore::HTMLOListElement::HTMLOListElement):
121 * html/HTMLOptGroupElement.cpp:
122 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
123 * html/HTMLOptionElement.cpp:
124 (WebCore::HTMLOptionElement::HTMLOptionElement):
125 * html/HTMLSelectElement.cpp:
126 (WebCore::HTMLSelectElement::HTMLSelectElement):
127 * html/HTMLStyleElement.cpp:
128 (WebCore::HTMLStyleElement::HTMLStyleElement):
129 * html/HTMLTextAreaElement.cpp:
130 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
131 * html/HTMLTitleElement.cpp:
132 (WebCore::HTMLTitleElement::HTMLTitleElement):
133 * html/HTMLUListElement.cpp:
134 (WebCore::HTMLUListElement::HTMLUListElement):
135
cmarrin@apple.com01930792008-12-01 22:50:14 +00001362008-12-01 Chris Marrin <cmarrin@apple.com>
137
138 Reviewed by Darin Adler.
139
140 https://bugs.webkit.org/show_bug.cgi?id=22046
141
142 Fixed another case of crashing because the animation object is getting deleted when
143 it's in the middle of a callback. I actually moved where I am retaining the pointer
144 up out of the lower level AnimationBase code and into the timer callback that calls
145 them. So now the pointer is valid throughout the entire sequence of callback code.
146
147 The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
148 crash which this patch fixes.
149
150 * page/animation/AnimationBase.cpp:
151 (WebCore::AnimationBase::updateStateMachine):
152 (WebCore::AnimationBase::animationTimerCallbackFired):
153 * page/animation/CompositeAnimation.cpp:
154 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
155 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
156 (WebCore::CompositeAnimationPrivate::styleAvailable):
157 * page/animation/ImplicitAnimation.cpp:
158 (WebCore::ImplicitAnimation::sendTransitionEvent):
159 * page/animation/KeyframeAnimation.cpp:
160 (WebCore::KeyframeAnimation::sendAnimationEvent):
161 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
162
vestbo@webkit.orgf94ae3f2008-12-01 09:25:48 +00001632008-12-01 Tor Arne Vestbø <tavestbo@trolltech.com>
164
165 Reviewed by Simon Hausmann.
166
167 [Qt/Mac] Initialize NPAPI plugins before getting their entry points
168
169 The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
170 copied from Windows, but caused Silverlight on Mac to crash when loaded.
171
172 Apparently the call order of NP_Initialize and NP_GetEntryPoints is
173 reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
174
175 Reported-by: Peter Johnson <peter@zattoo.com>
176
177 * plugins/mac/PluginPackageMac.cpp:
178 (WebCore::PluginPackage::load):
179
cfleizach@apple.comf005da92008-12-01 05:35:44 +00001802008-11-30 Chris Fleizach <cfleizach@apple.com>
181
182 Reviewed by John Sullivan.
183
184 https://bugs.webkit.org/show_bug.cgi?id=22510
185 Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
186
187 A nil pointer needed to be checked
188
189 * page/AccessibilityRenderObject.cpp:
190 (WebCore::AccessibilityRenderObject::activeDescendant):
191
ap@webkit.org12a09f62008-11-30 08:31:11 +00001922008-11-30 Alexey Proskuryakov <ap@webkit.org>
193
194 Reviewed by Dan Bernstein.
195
196 https://bugs.webkit.org/show_bug.cgi?id=22530
197 Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
198
199 * dom/WorkerThread.cpp:
200 (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
201 function runs to completion before the thread begins execution.
202 (WebCore::WorkerThread::workerThread): Updated comments.
203 (WebCore::WorkerThread::stop): Ditto.
204 * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
205 protects startup as a whole.
206
207 * storage/DatabaseThread.cpp:
208 * storage/DatabaseThread.h:
209 * storage/LocalStorageThread.cpp:
210 * storage/LocalStorageThread.h:
211 Fixed the same m_threadID problem.
212
pewtermoose@webkit.orgb4b72e952008-11-29 23:44:49 +00002132008-11-29 Brent Fulgham <bfulgham@gmail.com>
214
215 Reviewed by Alexey Proskuryakov.
216
217 Remove Visual Studio project dependencies on non-redistributable
218 components in the Debug_Cairo and Release_Cairo build targets.
219 See https://bugs.webkit.org/show_bug.cgi?id=22527
220
221 * WebCore.vcproj/WebCore.vcproj:
222
weinig@apple.comaea8b842008-11-29 22:35:04 +00002232008-11-29 Sam Weinig <sam@webkit.org>
224
225 Rubber-stamped by Alexey Proskuryakov.
226
227 Fix some sorting
228
229 * WebCore.xcodeproj/project.pbxproj:
230
weinig@apple.com32e92c52008-11-29 22:33:49 +00002312008-11-28 Sam Weinig <sam@webkit.org>
232
233 Reviewed by Alexey Proskuryakov.
234
235 Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
236 NULL pointer crash in dispatchEvent(null);
237
238 Test: fast/events/dispatchEvent-crash.html
239
240 * dom/MessagePort.cpp:
241 (WebCore::MessagePort::dispatchEvent):
242 * dom/Worker.cpp:
243 (WebCore::Worker::dispatchEvent):
244 * dom/WorkerContext.cpp:
245 (WebCore::WorkerContext::dispatchEvent):
246 * loader/appcache/DOMApplicationCache.cpp:
247 (WebCore::DOMApplicationCache::dispatchEvent):
248 * xml/XMLHttpRequest.cpp:
249 (WebCore::XMLHttpRequest::dispatchEvent):
250 * xml/XMLHttpRequestUpload.cpp:
251 (WebCore::XMLHttpRequestUpload::dispatchEvent):
252
mitz@apple.com5ded92f2008-11-29 21:40:23 +00002532008-11-29 Dan Bernstein <mitz@apple.com>
254
255 Reviewed by Alexey Proskuryakov.
256
257 - fix https://bugs.webkit.org/show_bug.cgi?id=22454
258 <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
259
260 Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
261
262 The crash happened because style recalculation was invoked by
263 CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
264 before another CSSSegmentedFontFace using the same CSSFontFace had done
265 so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
266 prune their tables before telling the CSSFontSelector to recalc style.
267
268 * css/CSSFontFace.cpp:
269 (WebCore::CSSFontFace::fontLoaded):
270 * css/CSSFontSelector.cpp:
271 (WebCore::CSSFontSelector::fontLoaded):
272 * css/CSSFontSelector.h:
273 * css/CSSSegmentedFontFace.cpp:
274 (WebCore::CSSSegmentedFontFace::fontLoaded):
275
ap@webkit.org0e0abeb2008-11-29 18:29:10 +00002762008-11-29 Alexey Proskuryakov <ap@webkit.org>
277
278 Reviewed by Eric Seidel.
279
280 https://bugs.webkit.org/show_bug.cgi?id=14968
281 document.open() erroneously returns void instead of the new Document
282
283 Test: fast/dom/HTMLDocument/document-open-return-value.html
284
285 * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
286 Return the document on which this method was invoked, per HTML5.
287
zimmermann@webkit.org1c3ac8e2008-11-28 21:36:13 +00002882008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
289
zimmermann@webkit.org44591d02008-11-29 04:00:20 +0000290 Reviewed by Cameron Zwarich.
291
292 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
293
294 Add <timer> element support. It provides a way to execute a task with a delay.
295 The user is notified by firing the task associated with the <card>'s ontimer attribute.
296 Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
297
298 * WebCore.xcodeproj/project.pbxproj:
299 * wml/WMLCardElement.cpp:
300 (WebCore::WMLCardElement::WMLCardElement):
301 (WebCore::WMLCardElement::setIntrinsicEventTimer):
302 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
303 * wml/WMLCardElement.h:
304 * wml/WMLDoElement.cpp:
305 (WebCore::WMLDoElement::defaultEventHandler):
306 * wml/WMLErrorHandling.cpp:
307 (WebCore::reportWMLError):
308 * wml/WMLPageState.h:
309 (WebCore::WMLPageState::getVariable):
310 * wml/WMLPrevElement.cpp:
311 (WebCore::WMLPrevElement::executeTask):
312 * wml/WMLRefreshElement.cpp:
313 (WebCore::WMLRefreshElement::executeTask):
314 * wml/WMLTagNames.in:
315 * wml/WMLTimerElement.cpp: Added.
316 (WebCore::WMLTimerElement::WMLTimerElement):
317 (WebCore::WMLTimerElement::parseMappedAttribute):
318 (WebCore::WMLTimerElement::insertedIntoDocument):
319 (WebCore::WMLTimerElement::timerFired):
320 (WebCore::WMLTimerElement::start):
321 (WebCore::WMLTimerElement::stop):
322 (WebCore::WMLTimerElement::storeIntervalToPageState):
323 * wml/WMLTimerElement.h: Added.
324
3252008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
326
zimmermann@webkit.orgc1a85412008-11-29 02:52:04 +0000327 Reviewed by Holger Freyther.
328
329 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
330
331 Add <do> element support. It provides a way to bind a task element to a <template>/<card> element.
332 Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
333
334 * WebCore.xcodeproj/project.pbxproj:
335 * rendering/RenderButton.cpp:
336 (WebCore::RenderButton::updateFromElement):
337 * wml/WMLCardElement.cpp:
338 (WebCore::WMLCardElement::registerDoElement):
339 * wml/WMLCardElement.h:
340 * wml/WMLDoElement.cpp: Added.
341 (WebCore::WMLDoElement::WMLDoElement):
342 (WebCore::WMLDoElement::defaultEventHandler):
343 (WebCore::WMLDoElement::parseMappedAttribute):
344 (WebCore::WMLDoElement::insertedIntoDocument):
345 (WebCore::WMLDoElement::createRenderer):
346 (WebCore::WMLDoElement::recalcStyle):
347 * wml/WMLDoElement.h: Added.
348 (WebCore::WMLDoElement::registerTask):
349 (WebCore::WMLDoElement::isActive):
350 (WebCore::WMLDoElement::label):
351 (WebCore::WMLDoElement::name):
352 (WebCore::WMLDoElement::setActive):
353 (WebCore::WMLDoElement::setNoop):
354 * wml/WMLNoopElement.cpp:
355 (WebCore::WMLNoopElement::insertedIntoDocument):
356 * wml/WMLTagNames.in:
357 * wml/WMLTaskElement.cpp:
358 (WebCore::WMLTaskElement::insertedIntoDocument):
359
3602008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
361
zimmermann@webkit.org1c3ac8e2008-11-28 21:36:13 +0000362 Reviewed by Sam Weinig.
363
364 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
365
366 Add onenterforward/onenterbackward/ontimer support for <card> elements.
367
368 No testing possible at the moment because WMLGoElement is not yet implemented.
369 After that we can add tests covering the <card> event handling.
370
371 * wml/WMLCardElement.cpp:
372 (WebCore::WMLCardElement::WMLCardElement):
373 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
374 (WebCore::WMLCardElement::parseMappedAttribute):
375 (WebCore::WMLCardElement::setActiveCardInDocument):
376 * wml/WMLCardElement.h:
377 (WebCore::WMLCardElement::isNewContext):
378 (WebCore::WMLCardElement::isOrdered):
379 * wml/WMLDocument.cpp:
380 (WebCore::WMLDocument::finishedParsing):
381 * wml/WMLIntrinsicEvent.cpp:
382 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
383 * wml/WMLIntrinsicEvent.h:
384 (WebCore::WMLIntrinsicEvent::create):
385
vestbo@webkit.org8ef6fdc2008-11-28 18:14:02 +00003862008-11-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
387
388 Reviewed by Tor Arne Vestbø.
389
390 Regression seen on QtWebKit - causes a build failure on Win using MinGW
391
392 https://bugs.webkit.org/show_bug.cgi?id=22536
393
394 * WebCore.pro:
395
hausmann@webkit.orgcf9d7f22008-11-28 15:18:53 +00003962008-11-28 Simon Hausmann <hausmann@webkit.org>
397
398 Reviewed by Tor Arne Vestbø.
399
400 Fix compilation and linking on Windows CE.
401
402 Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
403 from the Windows'ish build.
404
405 Link against the newly required mmtimer.
406
407 * WebCore.pro:
408 * plugins/PluginPackage.cpp:
409
ap@webkit.orgaf924e22008-11-28 10:23:41 +00004102008-11-28 David Levin <levin@chromium.org>
411
412 Reviewed by Alexey Proskuryakov.
413
414 http://bugs.webkit.org/show_bug.cgi?id=22524
415
416 Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
417 of XMLHttpRequest by Workers (on threads).
418
419 No observable change in behavior, so no test.
420
421 * xml/XMLHttpRequest.cpp:
422 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
423 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
424 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
425 (WebCore::PreflightResultCacheItem::allowsRequest):
426 (WebCore::createXMLHttpRequestStaticData):
427 (WebCore::initializeXMLHttpRequestStaticData):
428 (WebCore::XMLHttpRequest::XMLHttpRequest):
429 (WebCore::XMLHttpRequest::isSafeRequestHeader):
430 (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
431 * xml/XMLHttpRequest.h:
432
cwzwarich@webkit.org27dfac52008-11-28 05:03:46 +00004332008-11-27 Cameron Zwarich <zwarich@apple.com>
434
435 Not reviewed.
436
437 r38825, was committed without checking whether anything in WebCore
438 uses JSFunction::m_body. Use the appropriate getters and setters
439 instead.
440
441 * inspector/JavaScriptDebugServer.cpp:
442 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
443
ap@webkit.org16411b12008-11-27 18:03:06 +00004442008-11-27 Alexey Proskuryakov <ap@webkit.org>
445
446 Reviewed by Dan Bernstein.
447
448 https://bugs.webkit.org/show_bug.cgi?id=22529
449 Crashes seen on buildbots due to trying to stop a worker thread twice
450
451 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
452 Don't try to stop the thread if it's already stopping.
453
hausmann@webkit.org11d22872008-11-27 16:13:54 +00004542008-11-27 Kent Hansen <khansen@trolltech.com>
455
456 Reviewed by Simon Hausmann.
457
458 Make JavaScript bindings for Qt plugin widgets work again
459 this was a regression; need to handle non-NPAPI plugins as in 4.4.
460
461 * bindings/js/ScriptControllerQt.cpp:
462 (WebCore::ScriptController::createScriptInstanceForWidget):
463
zimmermann@webkit.orgb2d4e802008-11-27 05:07:45 +00004642008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
465
466 Reviewed by George Staikos.
467
468 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
469
470 Catch WML errors (invalid variable name/reference, multiple access elements, etc)
471 while parsing the document, and stop parsing immediately and wrap the document
472 fragment in a XHTML error document, just like it's done from XML parsing errors.
473
474 Until now all card elements were hidden by default (no renderer created), and
475 WMLDocument::finishedParsing() took care of showing the right card (either the first,
476 or any named card in the document, specified by document URL reference). Change this
477 behaviour to support displaying partially parsed WML document fragments: Mark the first
478 WMLCardElement inserted into the document as visible. If the document parsing finishes
479 without problems, WMLDocument::finishedParsing() will be called, which takes care of
480 showing the desired card (common case: first card in the document, which is already
481 visible, so nothing actually has to be done). If an error occours, the document is
482 correctly rendered until the error happened - wrapped in a XHTML document.
483
484 Fixes: fast/wml/err-event-binding-conflict.wml
485 fast/wml/err-invalid-variable-name.wml
486 fast/wml/err-multi-access.wml
487 fast/wml/err-unallowed-task-in-anchor.wml
488
489 * WebCore.xcodeproj/project.pbxproj:
490 * wml/WMLAccessElement.cpp:
491 (WebCore::WMLAccessElement::parseMappedAttribute):
492 (WebCore::WMLAccessElement::insertedIntoDocument):
493 * wml/WMLAccessElement.h:
494 * wml/WMLCardElement.cpp:
495 (WebCore::WMLCardElement::insertedIntoDocument):
496 (WebCore::WMLCardElement::setActiveCardInDocument):
497 * wml/WMLCardElement.h:
498 * wml/WMLDocument.cpp:
499 (WebCore::WMLDocument::finishedParsing):
500 * wml/WMLErrorHandling.cpp: Added.
501 (WebCore::reportWMLError):
502 * wml/WMLErrorHandling.h: Added.
503 (WebCore::):
504 * wml/WMLIntrinsicEventHandler.cpp:
505 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
506 * wml/WMLIntrinsicEventHandler.h:
507 * wml/WMLNoopElement.cpp:
508 (WebCore::WMLNoopElement::insertedIntoDocument):
509 * wml/WMLOnEventElement.cpp:
510 (WebCore::WMLOnEventElement::parseMappedAttribute):
511 (WebCore::WMLOnEventElement::registerTask):
512 * wml/WMLPageState.cpp:
513 (WebCore::WMLPageState::setNeedCheckDeckAccess):
514 * wml/WMLPageState.h:
515 * wml/WMLSetvarElement.cpp:
516 (WebCore::WMLSetvarElement::parseMappedAttribute):
517
ddkilzer@apple.combc646c0f2008-11-27 12:21:28 +00005182008-11-26 Glenn Wilson <gwilson@chromium.org>
darin@chromium.org27bcff12008-11-27 01:45:57 +0000519
520 Reviewed by Dan Bernstein.
521
522 Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
523
524 This fixes the crash when the small-caps font variant is used
525 on a lower-case glyph that does not have a corresponding
526 upper-case glyph defined in the set of available fonts.
527
528 This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
529
530 Test: fast/css/small-caps-crash.html
531
532 * platform/graphics/Font.cpp:
533 (WebCore::Font::glyphDataForCharacter):
534
ddkilzer@apple.combc646c0f2008-11-27 12:21:28 +00005352008-11-26 Tony Chang <tony@chromium.org>
darin@chromium.org89e50aa2008-11-27 01:31:56 +0000536
537 Reviewed by Oliver Hunt.
538
539 Add a new platform specific method cleanupAfterSystemDrag
540 that platforms can ue to clean up drag state after a
541 system drag. Use this method on PLAFORM(MAC).
542 https://bugs.webkit.org/show_bug.cgi?id=21956
543
544 * ChangeLog:
545 * page/DragController.cpp:
546 (WebCore::DragController::doSystemDrag):
547 * page/DragController.h:
548 * page/gtk/DragControllerGtk.cpp:
549 (WebCore::DragController::cleanupAfterSystemDrag):
550 * page/mac/DragControllerMac.mm:
551 (WebCore::DragController::cleanupAfterSystemDrag):
552 * page/qt/DragControllerQt.cpp:
553 (WebCore::DragController::cleanupAfterSystemDrag):
554 * page/win/DragControllerWin.cpp:
555 (WebCore::DragController::cleanupAfterSystemDrag):
556 * page/wx/DragControllerWx.cpp:
557 (WebCore::DragController::cleanupAfterSystemDrag):
558
zimmermann@webkit.org333e8032008-11-27 00:44:19 +00005592008-11-26 Nikolas Zimmermann <zimmermann@kde.org>
560
561 Reviewed by Oliver Hunt.
562
563 Fix path to string logic, correctly taking closed (sub-)paths into account.
564 Code was just broken on cg, observed by Dirk Schulze.
565
566 QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
567 using the elementAt() function. There might be a workaround - Dirk will investigate.
568
569 * platform/graphics/cg/PathCG.cpp:
570 (WebCore::CGPathToCFStringApplierFunction):
571 * platform/graphics/cairo/PathCairo.cpp:
572 (WebCore::Path::debugString):
573
darin@chromium.org15fb9bd2008-11-27 00:26:52 +00005742008-11-26 Darin Fisher <darin@chromium.org>
575
576 Reviewed by Eric Seidel.
577
578 https://bugs.webkit.org/show_bug.cgi?id=22519
579 Remove unnecessary include.
580
581 * dom/XMLTokenizer.cpp:
582
zimmermann@webkit.org18a6b0b2008-11-26 23:40:39 +00005832008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
584
585 Reviewed by Oliver Hunt.
586
587 Add <noop> element support, completing the task element support.
588
589 * WebCore.xcodeproj/project.pbxproj:
590 * wml/WMLNoopElement.cpp: Added.
591 (WebCore::WMLNoopElement::WMLNoopElement):
592 (WebCore::WMLNoopElement::insertedIntoDocument):
593 * wml/WMLNoopElement.h: Added.
594 * wml/WMLTagNames.in: Reorganize file a bit.
595
jchaffraix@webkit.org6a27e012008-11-26 23:07:45 +00005962008-11-26 Julien Chaffraix <jchaffraix@webkit.org>
597
598 Reviewed by Eric Seidel.
599
600 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
601 https://bugs.webkit.org/show_bug.cgi?id=22441
602
603 Make more HTML elements' constructors take a QualifiedName.
604
605 * editing/DeleteButtonController.cpp:
606 (WebCore::DeleteButtonController::createDeletionUI):
607 * html/HTMLBlockquoteElement.cpp:
608 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
609 * html/HTMLBlockquoteElement.h:
610 * html/HTMLButtonElement.cpp:
611 (WebCore::HTMLButtonElement::HTMLButtonElement):
612 * html/HTMLButtonElement.h:
613 * html/HTMLDListElement.cpp:
614 (WebCore::HTMLDListElement::HTMLDListElement):
615 * html/HTMLDListElement.h:
616 * html/HTMLDirectoryElement.cpp:
617 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
618 * html/HTMLDirectoryElement.h:
619 * html/HTMLDivElement.cpp:
620 (WebCore::HTMLDivElement::HTMLDivElement):
621 * html/HTMLDivElement.h:
622 * html/HTMLElementFactory.cpp:
623 (WebCore::styleConstructor):
624 (WebCore::titleConstructor):
625 (WebCore::frameConstructor):
626 (WebCore::framesetConstructor):
627 (WebCore::iframeConstructor):
628 (WebCore::formConstructor):
629 (WebCore::buttonConstructor):
630 (WebCore::inputConstructor):
631 (WebCore::isindexConstructor):
632 (WebCore::fieldsetConstructor):
633 (WebCore::keygenConstructor):
634 (WebCore::labelConstructor):
635 (WebCore::legendConstructor):
636 (WebCore::optgroupConstructor):
637 (WebCore::optionConstructor):
638 (WebCore::selectConstructor):
639 (WebCore::textareaConstructor):
640 (WebCore::dlConstructor):
641 (WebCore::ulConstructor):
642 (WebCore::olConstructor):
643 (WebCore::dirConstructor):
644 (WebCore::menuConstructor):
645 (WebCore::liConstructor):
646 (WebCore::blockquoteConstructor):
647 (WebCore::divConstructor):
648 (WebCore::headingConstructor):
649 * html/HTMLFieldSetElement.cpp:
650 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
651 * html/HTMLFieldSetElement.h:
652 * html/HTMLFormElement.cpp:
653 (WebCore::HTMLFormElement::HTMLFormElement):
654 * html/HTMLFormElement.h:
655 * html/HTMLFrameElement.cpp:
656 (WebCore::HTMLFrameElement::HTMLFrameElement):
657 * html/HTMLFrameElement.h:
658 * html/HTMLFrameSetElement.cpp:
659 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
660 * html/HTMLFrameSetElement.h:
661 * html/HTMLIFrameElement.cpp:
662 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
663 * html/HTMLIFrameElement.h:
664 * html/HTMLInputElement.cpp:
665 * html/HTMLInputElement.h:
666 * html/HTMLIsIndexElement.cpp:
667 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
668 * html/HTMLIsIndexElement.h:
669 * html/HTMLKeygenElement.cpp:
670 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
671 * html/HTMLKeygenElement.h:
672 * html/HTMLLIElement.cpp:
673 (WebCore::HTMLLIElement::HTMLLIElement):
674 * html/HTMLLIElement.h:
675 * html/HTMLLabelElement.cpp:
676 (WebCore::HTMLLabelElement::HTMLLabelElement):
677 * html/HTMLLabelElement.h:
678 * html/HTMLLegendElement.cpp:
679 (WebCore::HTMLLegendElement::HTMLLegendElement):
680 * html/HTMLLegendElement.h:
681 * html/HTMLMenuElement.cpp:
682 (WebCore::HTMLMenuElement::HTMLMenuElement):
683 * html/HTMLMenuElement.h:
684 * html/HTMLOListElement.cpp:
685 (WebCore::HTMLOListElement::HTMLOListElement):
686 * html/HTMLOListElement.h:
687 * html/HTMLOptGroupElement.cpp:
688 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
689 * html/HTMLOptGroupElement.h:
690 * html/HTMLOptionElement.cpp:
691 (WebCore::HTMLOptionElement::HTMLOptionElement):
692 * html/HTMLOptionElement.h:
693 * html/HTMLParser.cpp:
694 (WebCore::HTMLParser::formCreateErrorCheck):
695 (WebCore::HTMLParser::handleIsindex):
696 * html/HTMLSelectElement.cpp:
697 * html/HTMLSelectElement.h:
698 * html/HTMLStyleElement.cpp:
699 (WebCore::HTMLStyleElement::HTMLStyleElement):
700 * html/HTMLStyleElement.h:
701 * html/HTMLTextAreaElement.cpp:
702 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
703 * html/HTMLTextAreaElement.h:
704 * html/HTMLTitleElement.cpp:
705 (WebCore::HTMLTitleElement::HTMLTitleElement):
706 * html/HTMLTitleElement.h:
707 * html/HTMLUListElement.cpp:
708 (WebCore::HTMLUListElement::HTMLUListElement):
709 * html/HTMLUListElement.h:
710 * html/HTMLViewSourceDocument.cpp:
711 (WebCore::HTMLViewSourceDocument::createContainingTable):
712 * rendering/MediaControlElements.cpp:
713 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
714 (WebCore::MediaControlInputElement::MediaControlInputElement):
715 * rendering/RenderFileUploadControl.cpp:
716 (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
717 * rendering/RenderMedia.cpp:
718 (WebCore::RenderMedia::createPanel):
719 (WebCore::RenderMedia::createTimeDisplay):
720 * rendering/RenderSlider.cpp:
721 (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
722 * rendering/TextControlInnerElements.cpp:
723 (WebCore::TextControlInnerElement::TextControlInnerElement):
724
zimmermann@webkit.org64392c72008-11-26 22:23:33 +00007252008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
726
727 Reviewed by Sam Weinig.
728
729 Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
730
731 * wml/WMLPageState.cpp:
732 (WebCore::WMLPageState::WMLPageState):
733
darin@chromium.org27121752008-11-26 21:07:03 +00007342008-11-26 Matt Perry <mpcomplete@gmail.com>
735
darin@chromium.orgeac8ec22008-11-26 21:48:42 +0000736 Fix Qt bustage.
737
738 See https://bugs.webkit.org/show_bug.cgi?id=22051
739
740 * platform/qt/RenderThemeQt.cpp:
741 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
742
7432008-11-26 Matt Perry <mpcomplete@gmail.com>
744
darin@chromium.org27121752008-11-26 21:07:03 +0000745 Reviewed by Maciej Stachowiak.
746
747 Fix https://bugs.webkit.org/show_bug.cgi?id=22051
748 Renderthemes should be able to supply additional CSS rules to the core
749 ones.
750
751 * DerivedSources.make:
752 * css/CSSStyleSelector.cpp:
753 (WebCore::parseUASheet):
754 (WebCore::loadFullDefaultStyle):
755 (WebCore::loadSimpleDefaultStyle):
756 * css/themeWin.css: Added.
757 * css/themeWinQuirks.css: Added.
758 * platform/qt/RenderThemeQt.cpp:
759 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
760 * platform/qt/RenderThemeQt.h:
761 * rendering/RenderTheme.cpp:
762 * rendering/RenderTheme.h:
763 (WebCore::RenderTheme::extraDefaultStyleSheet):
764 (WebCore::RenderTheme::extraQuirksStyleSheet):
765 * rendering/RenderThemeWin.cpp:
766 (WebCore::RenderThemeWin::extraDefaultStyleSheet):
767 (WebCore::RenderThemeWin::extraQuirksStyleSheet):
768 * rendering/RenderThemeWin.h:
769
ddkilzer@apple.com1f85c1e2008-11-26 19:44:05 +00007702008-11-26 David Kilzer <ddkilzer@apple.com>
771
772 Make CSSStyleSheet::addSubresourceURLStrings() iterative
773
774 Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
775 <https://bugs.webkit.org/show_bug.cgi?id=11850>
776
777 Reviewed by Brady Eidson.
778
779 * css/CSSStyleSheet.cpp:
780 (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
781 from recursive to iterative for gathering the list of all CSS
782 stylesheets referenced in @import statements.
783
krit@webkit.org46b1ee82008-11-26 15:07:30 +00007842008-11-26 Dirk Schulze <krit@webkit.org>
785
786 Reviewed by Simon Hausmann.
787
788 Transformations to the context shouldn't transform the currentPath.
789 Fixed this on Qt.
790
791 [QT] GraphicsContext's currenPath can be transformed
792 https://bugs.webkit.org/show_bug.cgi?id=22163
793
794 * platform/graphics/GraphicsContextPrivate.h:
795 * platform/graphics/qt/GraphicsContextQt.cpp:
796 (WebCore::GraphicsContext::restorePlatformState):
797 (WebCore::GraphicsContext::fillPath):
798 (WebCore::GraphicsContext::strokePath):
799 (WebCore::GraphicsContext::fillRect):
800 (WebCore::GraphicsContext::translate):
801 (WebCore::GraphicsContext::rotate):
802 (WebCore::GraphicsContext::scale):
803 (WebCore::GraphicsContext::concatCTM):
804
jmalonzo@webkit.org07986662008-11-26 11:31:16 +00008052008-11-26 Jan Michael Alonzo <jmalonzo@webkit.org>
806
807 Gtk build script minor fixes. Not reviewed.
808
809 * GNUmakefile.am:
810 - Add ScriptInstance.h (introduced in r38774) to
811 the build.
812 - Move WML and GEOLOCATION conditionals before the SVG
813 conditional to be consistent with the style of the script.
814 - Move GeolocationGtk sources to webcoregtk_sources.
815
ap@webkit.org5035dee2008-11-26 09:10:26 +00008162008-11-26 Dmitry Titov <dimich@chromium.org>
817
818 Reviewed by Darin Adler and Eric Seidel.
819
820 https://bugs.webkit.org/show_bug.cgi?id=22469
821
822 Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
823 preparation to making it work for Workers. For now, just move the code and couple
824 of global variables.
825
826 * GNUmakefile.am:
827 * WebCore.pro:
828 * WebCore.vcproj/WebCore.vcproj:
829 * WebCore.xcodeproj/project.pbxproj:
830 * WebCoreSources.bkl:
831 * bindings/js/JSDOMWindowBase.cpp:
832 (WebCore::JSDOMWindowBase::installTimeout):
833 (WebCore::JSDOMWindowBase::pauseTimeouts):
834 (WebCore::JSDOMWindowBase::resumeTimeouts):
835 (WebCore::JSDOMWindowBase::timerFired):
836 * bindings/js/JSDOMWindowBase.h:
837 * bindings/js/DOMTimer.cpp: Added.
838 (WebCore::DOMTimer::DOMTimer):
839 (WebCore::DOMTimer::~DOMTimer):
840 (WebCore::DOMTimer::fired):
841 * bindings/js/DOMTimer.h: Added.
842 (WebCore::DOMTimer::timeoutId):
843 (WebCore::DOMTimer::nestingLevel):
844 (WebCore::DOMTimer::setNestingLevel):
845 (WebCore::DOMTimer::action):
846 (WebCore::DOMTimer::takeAction):
847
darin@chromium.org38535142008-11-26 02:19:38 +00008482008-11-25 Darin Fisher <darin@chromium.org>
849
850 Fix bustage.
851
852 https://bugs.webkit.org/show_bug.cgi?id=22493
853 Need to expose bridge/*.h to the WebKit build.
854
855 * WebCore.vcproj/WebCore.vcproj:
856
zimmermann@webkit.org5b1be652008-11-26 01:21:37 +00008572008-11-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
858
859 Not reviewed. Fix build, by removing some wrong last-minute changes.
860
861 * wml/WMLIntrinsicEvent.cpp:
862 (WebCore::createTaskElement):
863 * wml/WMLOnEventElement.cpp:
864 (WebCore::WMLOnEventElement::registerTask):
865
darin@chromium.orgd239de22008-11-26 01:19:31 +00008662008-11-25 Darin Fisher <darin@chromium.org>
867
868 Reviewed by Geoffrey Garen.
869
870 https://bugs.webkit.org/show_bug.cgi?id=22493
871 Abstract away JSC:: usage in WebCore/html
872
873 * WebCore.xcodeproj/project.pbxproj:
874 * bindings/js/JSPluginElementFunctions.cpp:
875 (WebCore::pluginInstance):
876 * bindings/js/ScriptController.h:
877 * bindings/js/ScriptControllerMac.mm:
878 (WebCore::ScriptController::createScriptInstanceForWidget):
879 * bindings/js/ScriptInstance.h: Added.
880 * html/HTMLPlugInElement.cpp:
881 (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
882 (WebCore::HTMLPlugInElement::getInstance):
883 * html/HTMLPlugInElement.h:
884
zimmermann@webkit.orgae5e9752008-11-26 01:15:03 +00008852008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
886
887 Reviewed by Sam Weinig.
888
889 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
890
891 A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
892 Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
893
894 Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
895 centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
896 function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
897 <template>/<option> or <card> element.
898
899 Add complete <onevent> support.
900
901 * WebCore.xcodeproj/project.pbxproj:
902 * wml/WMLCardElement.cpp:
903 (WebCore::WMLCardElement::WMLCardElement):
904 (WebCore::WMLCardElement::setActiveCardInDocument):
905 * wml/WMLCardElement.h:
906 (WebCore::WMLCardElement::isVisible):
907 (WebCore::WMLCardElement::setVisible):
908 * wml/WMLElement.h:
909 (WebCore::WMLElement::isWMLTaskElement):
910 * wml/WMLEventHandlingElement.cpp: Added.
911 (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
912 (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
913 * wml/WMLEventHandlingElement.h: Added.
914 (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
915 (WebCore::WMLEventHandlingElement::eventHandler):
916 * wml/WMLOnEventElement.cpp: Added.
917 (WebCore::WMLOnEventElement::WMLOnEventElement):
918 (WebCore::WMLOnEventElement::parseMappedAttribute):
919 (WebCore::WMLOnEventElement::registerTask):
920 * wml/WMLOnEventElement.h: Added.
921 * wml/WMLSetvarElement.cpp:
922 (WebCore::WMLSetvarElement::parseMappedAttribute):
923 (WebCore::WMLSetvarElement::insertedIntoDocument):
924 * wml/WMLTagNames.in:
925 * wml/WMLTaskElement.cpp:
926 (WebCore::WMLTaskElement::insertedIntoDocument):
927 * wml/WMLTaskElement.h:
928 (WebCore::WMLTaskElement::isWMLTaskElement):
929
pol@apple.com042032832008-11-26 00:54:24 +00009302008-11-25 Pierre-Olivier Latour <pol@apple.com>
931
932 Reviewed by Mark Rowe.
933
934 createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
935
936 https://bugs.webkit.org/show_bug.cgi?id=22503
937
938 * platform/graphics/mac/FontCustomPlatformData.cpp:
939 (WebCore::createFontCustomPlatformData):
940
jchaffraix@webkit.orgd7f08592008-11-26 00:33:56 +00009412008-11-25 Julien Chaffraix <jchaffraix@webkit.org>
942
943 Reviewed by Eric Seidel.
944
945 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
946 https://bugs.webkit.org/show_bug.cgi?id=22441
947
948 Element's other than HTML ones take a QualifiedName in their constructors.
949 To make HTMLElementFactory closer to the other ElementFactory, we need
950 to make them take the same arguments.
951 This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
952 will go into the next patch.
953
954 * dom/Document.cpp:
955 (WebCore::Document::implicitClose):
956 * html/HTMLBaseElement.cpp:
957 (WebCore::HTMLBaseElement::HTMLBaseElement):
958 * html/HTMLBaseElement.h:
959 * html/HTMLBodyElement.cpp:
960 (WebCore::HTMLBodyElement::HTMLBodyElement):
961 * html/HTMLBodyElement.h:
962 * html/HTMLElementFactory.cpp:
963 (WebCore::htmlConstructor):
964 (WebCore::headConstructor):
965 (WebCore::bodyConstructor):
966 (WebCore::baseConstructor):
967 (WebCore::linkConstructor):
968 (WebCore::metaConstructor):
969 * html/HTMLHeadElement.cpp:
970 (WebCore::HTMLHeadElement::HTMLHeadElement):
971 * html/HTMLHeadElement.h:
972 * html/HTMLHtmlElement.cpp:
973 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
974 * html/HTMLHtmlElement.h:
975 * html/HTMLLinkElement.cpp:
976 (WebCore::HTMLLinkElement::HTMLLinkElement):
977 * html/HTMLLinkElement.h:
978 * html/HTMLMetaElement.cpp:
979 (WebCore::HTMLMetaElement::HTMLMetaElement):
980 * html/HTMLMetaElement.h:
981 * html/HTMLParser.cpp:
982 (WebCore::HTMLParser::handleError):
983 (WebCore::HTMLParser::headCreateErrorCheck):
984 (WebCore::HTMLParser::createHead):
985 (WebCore::HTMLParser::finished):
986 * html/HTMLViewSourceDocument.cpp:
987 (WebCore::HTMLViewSourceDocument::createContainingTable):
988
simon.fraser@apple.com7c14de32008-11-26 00:18:15 +00009892008-11-25 Chris Marrin <cmarrin@apple.com>
990
cmarrin@apple.comc9510f92008-11-26 01:38:17 +0000991 Reviewed by Dan Bernstein.
992
993 Fix for https://bugs.webkit.org/show_bug.cgi?id=22487
994 I was not checking for the case of 0 length keyframe lists and dereffing a null pointer.
995
996 Tests: animations/empty-keyframes.html
997 animations/fill-unset-properties.html
998
999 * css/CSSStyleSelector.cpp:
1000 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1001
10022008-11-25 Chris Marrin <cmarrin@apple.com>
1003
simon.fraser@apple.com7c14de32008-11-26 00:18:15 +00001004 Reviewed by Darin Adler
1005
1006 https://bugs.webkit.org/show_bug.cgi?id=22046
1007
1008 Fix a crash when an animation or transition end event handler
1009 removes the element upon which the transition/animation is running,
1010 by keeping a reference to the AnimationBase object on the stack.
1011
1012 Tests: animations/transform-animation-event-destroy-element.html
1013 transitions/transform-transition-event-destroy-element.html
1014
1015 * page/animation/AnimationBase.cpp:
1016 (WebCore::AnimationBase::setChanged):
1017 (WebCore::AnimationBase::updateStateMachine):
1018 * page/animation/AnimationBase.h:
1019 (WebCore::AnimationBase::clearRenderer):
1020 * page/animation/AnimationController.cpp:
1021 (WebCore::AnimationControllerPrivate::clear):
1022 * page/animation/CompositeAnimation.cpp:
1023 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
1024 * page/animation/CompositeAnimation.h:
1025
kevino@webkit.orgb153fed2008-11-25 23:32:12 +000010262008-11-25 Kevin Ollivier <kevino@theolliviers.com>
1027
1028 Better wx build fix - support PurgeableBuffer on Mac.
1029
1030 * platform/PurgeableBuffer.h:
1031 * webcore-wx.bkl:
1032
zecke@webkit.orgb2440d62008-11-25 23:17:49 +000010332008-11-25 Holger Hans Peter Freyther <zecke@selfish.org>
1034
1035 Reviewed by David Kilzer.
1036
1037 https://bugs.webkit.org/show_bug.cgi?id=22022
1038
1039 Add GeoleocationServiceGtk stubs and integrate it into the buildsystem
1040
1041 Add stubs for a Gtk Implementation.
1042
1043 * GNUmakefile.am:
1044 * platform/gtk/GeolocationServiceGtk.cpp: Added.
1045 (WebCore::GeolocationService::create):
1046 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
1047 (WebCore::GeolocationServiceGtk::startUpdating):
1048 (WebCore::GeolocationServiceGtk::stopUpdating):
1049 (WebCore::GeolocationServiceGtk::suspend):
1050 (WebCore::GeolocationServiceGtk::resume):
1051 (WebCore::GeolocationServiceGtk::lastPosition):
1052 (WebCore::GeolocationServiceGtk::lastError):
1053 * platform/gtk/GeolocationServiceGtk.h: Added.
1054
kevino@webkit.org87363182008-11-25 23:00:46 +000010552008-11-25 Kevin Ollivier <kevino@theolliviers.com>
1056
1057 wx build fix - we don't support PurgeableBuffer on Leopard for now.
1058
1059 * platform/PurgeableBuffer.h:
1060
antti@apple.comd9a0e092008-11-25 22:46:42 +000010612008-11-25 Antti Koivisto <antti@apple.com>
1062
1063 Reviewed by Mark Rowe.
1064
1065 Fix https://bugs.webkit.org/show_bug.cgi?id=22483
1066 Assertion failure in CachedResource::makePurgeable during layout tests
1067
1068 Deleting SVG image can re-enter destroyDecodedData.
1069
1070 * loader/CachedImage.cpp:
1071 (WebCore::CachedImage::destroyDecodedData):
1072
ap@webkit.org6a0673f2008-11-25 20:01:49 +000010732008-11-25 David Levin <levin@chromium.org>
1074
1075 Reviewed by Alexey Proskuryakov.
1076
ap@webkit.org93c25682008-11-25 20:02:36 +00001077 https://bugs.webkit.org/show_bug.cgi?id=22443
ap@webkit.org6a0673f2008-11-25 20:01:49 +00001078 Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by
1079 Workers on threads.
1080
1081 No observable change in behavior, so no test.
1082
1083 * platform/text/PlatformString.h:
1084 * platform/text/String.cpp:
1085 (WebCore::String::substringCopy):
1086 * platform/text/StringImpl.cpp:
1087 (WebCore::StringImpl::substringCopy):
1088 * platform/text/StringImpl.h:
1089 Added the ability to copy a substring.
1090
1091 * xml/XMLHttpRequest.cpp:
1092 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
1093 (WebCore::PreflightResultCache::PreflightResultCache):
1094 (WebCore::PreflightResultCacheItem::addToAccessControlAllowList):
1095 (WebCore::PreflightResultCacheItem::parseAccessControlAllowList):
1096 (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge):
1097 (WebCore::PreflightResultCacheItem::parse):
1098 (WebCore::PreflightResultCacheItem::allowsRequest):
1099 (WebCore::PreflightResultCache::shared):
1100 (WebCore::PreflightResultCache::appendEntry):
1101 (WebCore::PreflightResultCache::canSkipPreflight):
1102 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1103 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1104 Made the PreflightResultCache threadsafe.
1105
1106 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
1107 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
1108 Consolidation of duplicate logic.
1109
darin@chromium.org18d8db92008-11-25 19:31:32 +000011102008-11-24 Jungshik Shin <jshin@chromium.org>
1111
1112 Reviewed by Darin Adler.
1113
1114 For Unicode encodings other than UTF-8, use UTF-8 for
1115 form submission and URL query part encoding.
1116
1117 See https://bugs.webkit.org/show_bug.cgi?id=21635
1118
1119 Tests: http/tests/misc/submit-get-in-utf16be.html
1120 http/tests/misc/submit-get-in-utf16le.html
1121 http/tests/misc/submit-get-in-utf32be.html
1122 http/tests/misc/submit-get-in-utf32le.html
1123 http/tests/misc/submit-get-in-utf7.html
1124 http/tests/misc/submit-post-in-utf16be.html
1125 http/tests/misc/submit-post-in-utf16le.html
1126 http/tests/misc/submit-post-in-utf32be.html
1127 http/tests/misc/submit-post-in-utf32le.html
1128 http/tests/misc/submit-post-in-utf7.html
1129 http/tests/misc/url-in-utf16be.html
1130 http/tests/misc/url-in-utf16le.html
1131 http/tests/misc/url-in-utf32be.html
1132 http/tests/misc/url-in-utf32le.html
1133 http/tests/misc/url-in-utf7.html
1134
1135 * html/HTMLFormElement.cpp:
1136 (WebCore::HTMLFormElement::formData):
1137 * loader/TextResourceDecoder.cpp:
1138 (WebCore::TextResourceDecoder::setEncoding):
1139 * platform/KURL.cpp:
1140 (WebCore::KURL::KURL):
1141 * platform/text/TextEncoding.cpp:
1142 (WebCore::UTF7Encoding):
1143 (WebCore::TextEncoding::isNonByteBasedEncoding):
1144 (WebCore::TextEncoding::closestByteBasedEquivalent):
1145 (WebCore::TextEncoding::encodingForFormSubmission):
1146 * platform/text/TextEncoding.h:
1147
jchaffraix@webkit.orgbcfe5562008-11-25 19:21:20 +000011482008-11-24 Julien Chaffraix <jchaffraix@webkit.org>
1149
1150 Reviewed by Darin Adler.
1151
1152 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
1153 https://bugs.webkit.org/show_bug.cgi?id=22441
1154
1155 - Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers.
1156
1157 - Tweaked the generated files to better match our coding style.
1158
1159 * dom/make_names.pl:
1160
antti@apple.comdd370792008-11-25 08:13:05 +000011612008-11-24 Antti Koivisto <antti@apple.com>
1162
1163 Reviewed by Darin Adler.
1164
1165 Fix for https://bugs.webkit.org/show_bug.cgi?id=22073
1166 REGRESSION(r33544): Palace in the Sky crashes WebKit
1167
1168 HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while
1169 there were no scripts left to execute.
1170
1171 If m_hasScriptsWaitingForStylesheets becomes true during script execution
1172 bail out from executing more scripts synchronously.
1173
1174 Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html
1175
1176 * html/HTMLTokenizer.cpp:
1177 (WebCore::HTMLTokenizer::reset):
1178 (WebCore::HTMLTokenizer::notifyFinished):
1179
darin@chromium.org66f78602008-11-25 06:47:32 +000011802008-11-24 Darin Fisher <darin@chromium.org>
1181
1182 Reviewed by Geoffrey Garen.
1183
1184 https://bugs.webkit.org/show_bug.cgi?id=22465
1185 Define KURL::copy() and use it in WorkerThread.cpp
1186
1187 * dom/WorkerThread.cpp:
1188 (WebCore::WorkerThread::WorkerThread):
1189 * platform/KURL.cpp:
1190 (WebCore::KURL::copy):
1191 * platform/KURL.h:
1192
zimmermann@webkit.org5a1760b2008-11-25 03:36:32 +000011932008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1194
1195 Reviewed by Sam Weinig.
1196
zimmermann@webkit.org80b83962008-11-25 03:43:12 +00001197 Name enum values in a style guide compatible way.
1198 Allow WMLIntrinsicEvent inclusion, without needing other includes.
1199
1200 * wml/WMLIntrinsicEvent.cpp:
1201 (WebCore::createTaskElement):
1202 * wml/WMLIntrinsicEvent.h:
1203 * wml/WMLIntrinsicEventHandler.cpp:
1204 * wml/WMLIntrinsicEventHandler.h:
1205 (WebCore::):
1206
12072008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1208
1209 Reviewed by Sam Weinig.
1210
zimmermann@webkit.org5a1760b2008-11-25 03:36:32 +00001211 Add wmlPageStateForDocument() helper function and use it in some places.
1212
1213 * wml/WMLAccessElement.cpp:
1214 (WebCore::WMLAccessElement::parseMappedAttribute):
1215 * wml/WMLDocument.cpp:
1216 (WebCore::WMLDocument::WMLDocument):
1217 (WebCore::WMLDocument::finishedParsing):
1218 (WebCore::wmlPageStateForDocument):
1219 * wml/WMLDocument.h:
1220 * wml/WMLGoElement.cpp:
1221 (WebCore::WMLGoElement::executeTask):
1222 * wml/WMLPrevElement.cpp:
1223 (WebCore::WMLPrevElement::executeTask):
1224 * wml/WMLRefreshElement.cpp:
1225 (WebCore::WMLRefreshElement::executeTask):
1226 * wml/WMLTaskElement.cpp:
1227 (WebCore::WMLTaskElement::storeVariableState):
1228 * wml/WMLTaskElement.h:
1229
antti@apple.com2d6006a2008-11-25 03:11:16 +000012302008-11-24 Antti Koivisto <antti@apple.com>
1231
antti@apple.comc3f2f6e2008-11-25 03:16:29 +00001232 Reviewed by Geoff Garen and Sam Weinig.
antti@apple.com2d6006a2008-11-25 03:11:16 +00001233
1234 https://bugs.webkit.org/show_bug.cgi?id=22214
antti@apple.comc3f2f6e2008-11-25 03:16:29 +00001235 Keep dead resources in memory cache in purgeable memory.
antti@apple.com2d6006a2008-11-25 03:11:16 +00001236 <rdar://problem/6333088>
1237
1238 OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
1239 areas as less important. Under memory pressure system can steal pages that have
1240 been marked purgeable for (hopefully) better uses. This is ideal for caches.
1241
antti@apple.comdd370792008-11-25 08:13:05 +00001242 Only resources larger than 16KB will be moved to the purgeable memory.
antti@apple.com2d6006a2008-11-25 03:11:16 +00001243
1244 * WebCore.base.exp:
1245 * WebCore.vcproj/WebCore.vcproj:
1246 * WebCore.xcodeproj/project.pbxproj:
1247 * loader/Cache.cpp:
1248 (WebCore::Cache::requestResource):
1249 (WebCore::Cache::requestUserCSSStyleSheet):
1250 (WebCore::Cache::resourceForURL):
1251 (WebCore::Cache::pruneDeadResources):
1252 (WebCore::Cache::TypeStatistic::addResource):
1253 (WebCore::Cache::getStatistics):
1254 (WebCore::Cache::dumpStats):
1255 * loader/Cache.h:
1256 (WebCore::Cache::TypeStatistic::TypeStatistic):
1257 * loader/CachedCSSStyleSheet.cpp:
1258 (WebCore::CachedCSSStyleSheet::allClientsRemoved):
1259 (WebCore::CachedCSSStyleSheet::sheetText):
1260 * loader/CachedCSSStyleSheet.h:
1261 * loader/CachedImage.cpp:
1262 (WebCore::CachedImage::addClient):
1263 (WebCore::CachedImage::image):
1264 (WebCore::CachedImage::imageSize):
1265 (WebCore::CachedImage::imageRect):
1266 (WebCore::CachedImage::destroyDecodedData):
1267 * loader/CachedResource.cpp:
1268 (WebCore::CachedResource::addClient):
1269 (WebCore::CachedResource::makePurgeable):
1270 (WebCore::CachedResource::isPurgeable):
1271 (WebCore::CachedResource::wasPurged):
1272 * loader/CachedResource.h:
1273 (WebCore::CachedResource::data):
1274 * loader/CachedScript.cpp:
1275 (WebCore::CachedScript::allClientsRemoved):
1276 (WebCore::CachedScript::script):
1277 (WebCore::CachedScript::destroyDecodedData):
1278 * platform/PurgeableBuffer.h: Added.
1279 (WebCore::PurgeableBuffer::create):
1280 (WebCore::PurgeableBuffer::size):
1281 (WebCore::PurgeableBuffer::):
1282 (WebCore::PurgeableBuffer::purgePriority):
1283 (WebCore::PurgeableBuffer::isPurgeable):
1284 (WebCore::PurgeableBuffer::~PurgeableBuffer):
1285 (WebCore::PurgeableBuffer::data):
1286 (WebCore::PurgeableBuffer::setPurgePriority):
1287 (WebCore::PurgeableBuffer::wasPurged):
1288 (WebCore::PurgeableBuffer::makePurgeable):
1289 * platform/SharedBuffer.cpp:
1290 (WebCore::SharedBuffer::~SharedBuffer):
1291 (WebCore::SharedBuffer::adoptPurgeableBuffer):
1292 (WebCore::SharedBuffer::size):
1293 (WebCore::SharedBuffer::data):
1294 (WebCore::SharedBuffer::append):
1295 (WebCore::SharedBuffer::clear):
1296 (WebCore::SharedBuffer::releasePurgeableBuffer):
1297 * platform/SharedBuffer.h:
1298 (WebCore::SharedBuffer::hasPurgeableBuffer):
1299 * platform/cf/SharedBufferCF.cpp:
1300 * platform/mac/PurgeableBufferMac.cpp: Added.
1301 (WebCore::PurgeableBuffer::PurgeableBuffer):
1302 (WebCore::PurgeableBuffer::~PurgeableBuffer):
1303 (WebCore::PurgeableBuffer::create):
1304 (WebCore::PurgeableBuffer::makePurgeable):
1305 (WebCore::PurgeableBuffer::wasPurged):
1306 (WebCore::PurgeableBuffer::setPurgePriority):
1307 (WebCore::PurgeableBuffer::data):
1308
zimmermann@webkit.orgab70d1e2008-11-25 00:23:22 +000013092008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1310
1311 Reviewed by George Staikos & Eric Seidel.
1312
1313 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22430
1314
1315 Regenerate WML layout test results after implementing WML specific <card> handling:
1316 Only the first <card> element should be visible after loading the document, others
1317 can be shown by using the <go> task element.
1318
1319 * dom/Document.h: Make 'finishedParsing()' a virtual function.
1320 * wml/WMLCardElement.cpp:
1321 (WebCore::WMLCardElement::WMLCardElement):
1322 (WebCore::WMLCardElement::~WMLCardElement):
1323 (WebCore::WMLCardElement::createRenderer):
1324 (WebCore::WMLCardElement::setActiveCardInDocument):
1325 (WebCore::WMLCardElement::setVisibility):
1326 * wml/WMLCardElement.h:
1327 * wml/WMLDocument.cpp:
1328 (WebCore::WMLDocument::finishedParsing): Execute WML specific logic after tokenzing.
1329 * wml/WMLDocument.h:
1330
darin@chromium.org3ff70692008-11-25 00:18:48 +000013312008-11-24 Glenn Wilson <gwilson@chromium.org>
1332
1333 Reviewed by Alexey Proskuryakov.
1334
1335 http://bugs.webkit.org/show_bug.cgi?id=15643
1336
1337 Added support for clients that wish to disable smart insert/delete
1338 and enable the "trailing whitespace selection" work-around.
1339
1340 Tests: editing/selection/doubleclick-whitespace.html
1341
1342 * editing/Editor.cpp:
1343 (WebCore::Editor::selectTrailingWhitespaceEnabled):
1344 * editing/Editor.h:
1345 * editing/Selection.cpp:
1346 (WebCore::Selection::includeTrailingWhitespace):
1347 * editing/Selection.h:
1348 * loader/EmptyClients.h:
1349 (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled):
1350 * page/EditorClient.h:
1351 * page/EventHandler.cpp:
1352 (WebCore::EventHandler::selectClosestWordFromMouseEvent):
1353
zimmermann@webkit.org3cdce572008-11-25 00:02:36 +000013542008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1355
zimmermann@webkit.orgc21043b2008-11-25 00:04:18 +00001356 Not reviewed. Forgot to include WMLPageState.h in last commit.
1357
1358 * wml/WMLPageState.h:
1359 (WebCore::WMLPageState::restrictDeckAccessToDomain):
1360 (WebCore::WMLPageState::restrictDeckAccessToPath):
1361
13622008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1363
zimmermann@webkit.org3cdce572008-11-25 00:02:36 +00001364 Reviewed by Oliver Hunt & Eric Seidel.
1365
1366 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431
1367
1368 Implement WMLAccessElement. It just propogates two attributes values to WMLPageState.
1369
1370 * WebCore.xcodeproj/project.pbxproj:
1371 * wml/WMLAccessElement.cpp: Added.
1372 (WebCore::WMLAccessElement::WMLAccessElement):
1373 (WebCore::WMLAccessElement::parseMappedAttribute):
1374 * wml/WMLAccessElement.h: Added.
1375 * wml/WMLTagNames.in:
1376 * wml/WMLPageState.h: Rename functions.
1377 (WebCore::WMLPageState::restrictDeckAccessToDomain):
1378 (WebCore::WMLPageState::restrictDeckAccessToPath):
1379 * wml/WMLVariables.cpp: Add new helper function.
1380 (WebCore::valueContainsVariableReference):
1381 * wml/WMLVariables.h:
1382 (WebCore::):
1383
darin@apple.comfd4587e2008-11-24 23:32:09 +000013842008-11-24 Darin Adler <darin@apple.com>
1385
1386 Reviewed by Dan Bernstein.
1387
1388 - https://bugs.webkit.org/show_bug.cgi?id=22470
1389 remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
1390
1391 * loader/EmptyClients.h:
1392 (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument.
1393 * loader/FrameLoader.cpp:
1394 (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL.
1395 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
1396 * loader/FrameLoaderClient.h: Remove argument.
1397
darin@chromium.org2b367922008-11-24 23:12:03 +000013982008-11-24 Finnur Thorarinsson <finnur.webkit@gmail.com>
1399
1400 Reviewed by Darin Adler.
1401
1402 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22432
1403
1404 Add plumbing for tickmark support for the scrollbars. The painting code
1405 for the scrollbar just needed to call paintTickmarks at the right time
1406 and a default no-op implementation is provided, which the ports will
1407 need to override.
1408
1409 * platform/ScrollbarThemeComposite.cpp:
1410 (WebCore::ScrollbarThemeComposite::paint):
1411 * platform/ScrollbarThemeComposite.h:
1412 (WebCore::ScrollbarThemeComposite::paintTickmarks):
1413
darin@chromium.org6b412472008-11-24 23:07:38 +000014142008-11-24 Darin Fisher <darin@chromium.org>
1415
1416 Reviewed by Sam Weinig.
1417
1418 https://bugs.webkit.org/show_bug.cgi?id=22448
1419 Create an abstraction for JSC::SourceCode
1420
1421 * WebCore.vcproj/WebCore.vcproj:
1422 * bindings/js/CachedScriptSourceProvider.h:
1423 * bindings/js/ScriptController.cpp:
1424 (WebCore::ScriptController::evaluate):
1425 * bindings/js/ScriptController.h:
1426 * bindings/js/ScriptSourceCode.h: Added.
1427 (WebCore::ScriptSourceCode::ScriptSourceCode):
1428 (WebCore::ScriptSourceCode::length):
1429 (WebCore::ScriptSourceCode::jsSourceCode):
1430 * bindings/js/WorkerScriptController.cpp:
1431 (WebCore::Workevn ScriptController::evaluate):
1432 * bindings/js/WorkerScriptController.h:
1433 * dom/ScriptElement.cpp:
1434 (WebCore::ScriptElement::insertedIntoDocument):
1435 (WebCore::ScriptElement::childrenChanged):
1436 (WebCore::ScriptElementData::evaluateScript):
1437 (WebCore::ScriptElementData::notifyFinished):
1438 * dom/ScriptElement.h:
1439 * dom/WorkerThread.cpp:
1440 (WebCore::WorkerThread::workerThread):
1441 * dom/WorkerThread.h:
1442 * dom/XMLTokenizer.cpp:
1443 (WebCore::XMLTokenizer::notifyFinished):
1444 * dom/XMLTokenizerLibxml2.cpp:
1445 (WebCore::XMLTokenizer::endElementNs):
1446 * dom/XMLTokenizerQt.cpp:
1447 (WebCore::XMLTokenizer::parseEndElement):
1448 * html/HTMLTokenizer.cpp:
1449 (WebCore::HTMLTokenizer::scriptHandler):
1450 (WebCore::HTMLTokenizer::scriptExecution):
1451 (WebCore::HTMLTokenizer::notifyFinished):
1452 * html/HTMLTokenizer.h:
1453 * loader/FrameLoader.cpp:
1454 (WebCore::FrameLoader::executeScript):
1455 * loader/FrameLoader.h:
1456
darin@apple.com1b861eb2008-11-24 22:48:32 +000014572008-11-24 Darin Adler <darin@apple.com>
1458
1459 Reviewed by Dan Bernstein.
1460
1461 - finish https://bugs.webkit.org/show_bug.cgi?id=22295
1462 track which history items are from page load failures
1463
1464 * WebCore.base.exp: Exported new function.
1465
1466 * loader/DocumentLoader.cpp:
1467 (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added.
1468 * loader/DocumentLoader.h: Ditto.
1469
cfleizach@apple.com9ae09562008-11-24 22:33:09 +000014702008-11-24 Chris Fleizach <cfleizach@apple.com>
1471
1472 Reviewed by Beth Dakin.
1473
1474 Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class
1475 https://bugs.webkit.org/show_bug.cgi?id=22461
1476
1477 Changing AccessibilityListBox to use its parent's signature for hit testing
1478
1479 * page/AccessibilityListBox.cpp:
1480 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
1481 * page/AccessibilityListBox.h:
1482
simon.fraser@apple.come9f403e2008-11-24 21:54:22 +000014832008-11-24 Simon Fraser <simon.fraser@apple.com>
1484
1485 Fix Windows build: selectionRect() -> selectionBounds().
1486
1487 * page/win/FrameCGWin.cpp:
1488 (WebCore::imageFromSelection):
1489
darin@chromium.org367995f2008-11-24 21:40:25 +000014902008-11-24 Glenn Wilson <gwilson@chromium.org>
1491
1492 Reviewed by Darin Adler.
1493
1494 http://bugs.webkit.org/show_bug.cgi?id=18703
1495 "Changing the 'size' property on a text input does not affect its length"
1496
1497 Text fields would not repaint themselves after having their "size"
1498 attributes modified. This fix tells the object to recalculate its
1499 width and repaint itself when its "size" attribute is parsed.
1500
1501 Test: fast/js/text-field-resize.html
1502
1503 * html/HTMLInputElement.cpp:
1504 (WebCore::HTMLInputElement::parseMappedAttribute):
1505
simon.fraser@apple.comc3a23de2008-11-24 19:58:04 +000015062008-11-24 Simon Fraser <simon.fraser@apple.com>
1507
simon.fraser@apple.comd6f4c372008-11-24 21:21:51 +00001508 Reviewed by Darin Adler
1509
1510 Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433
1511
1512 Make RenderView::selectionRect() private to cause compile-time
1513 errors if someone tries to call it.
1514
1515 * rendering/RenderView.h:
1516
15172008-11-24 Simon Fraser <simon.fraser@apple.com>
1518
simon.fraser@apple.comc3a23de2008-11-24 19:58:04 +00001519 Reviewed by Dan Bernstein
1520
1521 Via: https://bugs.webkit.org/show_bug.cgi?id=22433
1522
1523 Rename RenderView::selectionRect() to selectionBounds(), to remove
1524 longstanding ambiguity with the base class selectionRect() method.
1525 Do the same on Frame for consistency with RenderView. Assert
1526 that RenderView::selectionRect() is never called.
1527
1528 * WebCore.base.exp:
1529 * editing/SelectionController.cpp:
1530 (WebCore::SelectionController::focusedOrActiveStateChanged):
1531 * page/DragController.cpp:
1532 (WebCore::dragLocForSelectionDrag):
1533 * page/Frame.cpp:
1534 (WebCore::Frame::selectionBounds):
1535 (WebCore::Frame::revealSelection):
1536 * page/Frame.h:
1537 * page/mac/FrameMac.mm:
1538 (WebCore::Frame::selectionImage):
1539 * rendering/RenderView.cpp:
1540 (WebCore::RenderView::selectionRect):
1541 (WebCore::RenderView::selectionBounds):
1542 * rendering/RenderView.h:
1543
jchaffraix@webkit.org6d046192008-11-24 19:29:39 +000015442008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
1545
1546 Reviewed by Darin Adler.
1547
1548 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
1549 https://bugs.webkit.org/show_bug.cgi?id=22441
1550
1551 - Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of
1552 an AtomicString.
1553
1554 - Updated the elements' constructors and the callers to reflect the previous change.
1555
1556 * dom/Document.cpp:
1557 (WebCore::Document::createElement):
1558 * html/HTMLDocument.cpp:
1559 (WebCore::HTMLDocument::createElement):
1560 * html/HTMLElement.cpp:
1561 (WebCore::HTMLElement::cloneNode):
1562 * html/HTMLElementFactory.cpp:
1563 (WebCore::htmlConstructor):
1564 (WebCore::headConstructor):
1565 (WebCore::bodyConstructor):
1566 (WebCore::baseConstructor):
1567 (WebCore::linkConstructor):
1568 (WebCore::metaConstructor):
1569 (WebCore::styleConstructor):
1570 (WebCore::titleConstructor):
1571 (WebCore::frameConstructor):
1572 (WebCore::framesetConstructor):
1573 (WebCore::iframeConstructor):
1574 (WebCore::formConstructor):
1575 (WebCore::buttonConstructor):
1576 (WebCore::inputConstructor):
1577 (WebCore::isindexConstructor):
1578 (WebCore::fieldsetConstructor):
1579 (WebCore::keygenConstructor):
1580 (WebCore::labelConstructor):
1581 (WebCore::legendConstructor):
1582 (WebCore::optgroupConstructor):
1583 (WebCore::optionConstructor):
1584 (WebCore::selectConstructor):
1585 (WebCore::textareaConstructor):
1586 (WebCore::dlConstructor):
1587 (WebCore::ulConstructor):
1588 (WebCore::olConstructor):
1589 (WebCore::dirConstructor):
1590 (WebCore::menuConstructor):
1591 (WebCore::liConstructor):
1592 (WebCore::blockquoteConstructor):
1593 (WebCore::divConstructor):
1594 (WebCore::headingConstructor):
1595 (WebCore::hrConstructor):
1596 (WebCore::paragraphConstructor):
1597 (WebCore::preConstructor):
1598 (WebCore::basefontConstructor):
1599 (WebCore::fontConstructor):
1600 (WebCore::modConstructor):
1601 (WebCore::anchorConstructor):
1602 (WebCore::imageConstructor):
1603 (WebCore::mapConstructor):
1604 (WebCore::areaConstructor):
1605 (WebCore::canvasConstructor):
1606 (WebCore::appletConstructor):
1607 (WebCore::embedConstructor):
1608 (WebCore::objectConstructor):
1609 (WebCore::paramConstructor):
1610 (WebCore::scriptConstructor):
1611 (WebCore::tableConstructor):
1612 (WebCore::tableCaptionConstructor):
1613 (WebCore::tableColConstructor):
1614 (WebCore::tableRowConstructor):
1615 (WebCore::tableCellConstructor):
1616 (WebCore::tableSectionConstructor):
1617 (WebCore::brConstructor):
1618 (WebCore::quoteConstructor):
1619 (WebCore::marqueeConstructor):
1620 (WebCore::audioConstructor):
1621 (WebCore::videoConstructor):
1622 (WebCore::sourceConstructor):
1623 (WebCore::HTMLElementFactory::createHTMLElement):
1624 * html/HTMLElementFactory.h:
1625 * html/HTMLParser.cpp:
1626 (WebCore::HTMLParser::getNode):
1627
ap@webkit.orge0d884f2008-11-24 19:21:53 +000016282008-11-24 Brent Fulgham <bfulgham@gmail.com>
1629
1630 Reviewed by Alexey Proskuryakov.
1631
1632 https://bugs.webkit.org/show_bug.cgi?id=22444
1633
1634 Correct bad default constructor for Cairo FontPlatformData so that
1635 the m_scaledFont member is initialized. Previously this would be
1636 set to 0xbaadf00d, which would result in infinite loops while
1637 attempting to deal with the font cache.
1638
1639 * platform/graphics/win/FontPlatformData.h:
1640 (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0
1641
ap@webkit.org32761492008-11-24 14:40:29 +000016422008-11-24 Alexey Proskuryakov <ap@webkit.org>
1643
ap@webkit.orge149b892008-11-24 18:21:03 +00001644 Reviewed by Darin Adler.
1645
1646 https://bugs.webkit.org/show_bug.cgi?id=22455
1647 Add support for Worker.terminate()
1648
1649 Test: fast/workers/worker-terminate.html
1650
1651 * dom/Worker.idl:
1652 * dom/Worker.cpp:
1653 * dom/Worker.h:
1654 Added terminate().
1655
1656 * dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
1657 * dom/WorkerMessagingProxy.cpp:
1658 (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked
1659 to terminate (this is not mentioned in draft spec, but makes sense anyway).
1660 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was
1661 asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount
1662 to only track messages that were posted to worker thread, avoiding a leak if the script
1663 could not be loaded.
1664 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating.
1665 (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for.
1666 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context
1667 was destroyed, the worker object may still be alive now, so don't delete self in this case.
1668 (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or
1669 remember to stop it when it is created.
1670 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity
1671 if the thread asked to stop anyway.
1672 (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto.
1673
1674 * dom/WorkerThread.cpp:
1675 * dom/WorkerThread.h:
1676 Fixed a race condition in stop().
1677
16782008-11-24 Alexey Proskuryakov <ap@webkit.org>
1679
ap@webkit.org32761492008-11-24 14:40:29 +00001680 Reviewed by Mark Rowe.
1681
1682 https://bugs.webkit.org/show_bug.cgi?id=22439
1683 Won't load stylesheets with filenames less than 2 characters long in xhtml.
1684
1685 Test: http/tests/misc/single-character-pi-stylesheet.xhtml
1686
1687 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet):
1688 Fix up the logic.
1689
zecke@webkit.orge9dbf8a2008-11-24 12:56:31 +000016902008-11-24 Holger Hans Peter Freyther <zecke@selfish.org>
1691
1692 Reviewed by Mark Rowe.
1693
1694 [Gtk+] Add configure option to enable Web Workers and enable it by default
1695
1696 Add --enable-workers to the buildsystem (used by build-webkit) add
1697 the to be build files to the GNUmakefile.am and change build-webkit
1698 to enable Web Workers by default.
1699
zecke@webkit.orge9dbf8a2008-11-24 12:56:31 +00001700 * GNUmakefile.am:
1701
ap@webkit.org8f619592008-11-24 11:54:08 +000017022008-11-24 Alexey Proskuryakov <ap@webkit.org>
1703
1704 Build fix (for Windows Cairo port?)
1705
1706 * page/DOMWindow.idl: Use ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as
1707 the ENABLE macro is not available in idls.
1708
darin@chromium.orgf2389952008-11-24 06:04:44 +000017092008-11-22 Dimitri Glazkov <dglazkov@chromium.org>
1710
1711 Reviewed by Darin Adler.
1712
1713 https://bugs.webkit.org/show_bug.cgi?id=22421
1714 Added ScriptValue to Visual Studio and XCode projects.
1715
1716 * WebCore.vcproj/WebCore.vcproj:
1717 * WebCore.xcodeproj/project.pbxproj:
1718
zimmermann@webkit.org27ea3132008-11-22 15:39:33 +000017192008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1720
zimmermann@webkit.org61996002008-11-22 16:37:33 +00001721 Reviewed by Holger Freyther.
1722
zimmermann@webkit.org82c8a9b2008-11-22 18:47:35 +00001723 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426
1724
1725 Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.
1726
1727 * WebCore.xcodeproj/project.pbxproj:
1728 * wml/WMLIntrinsicEvent.cpp: Added.
1729 (WebCore::createTaskElement):
1730 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
1731 * wml/WMLIntrinsicEvent.h: Added.
1732 (WebCore::WMLIntrinsicEvent::create):
1733 (WebCore::WMLIntrinsicEvent::createWithTask):
1734 (WebCore::WMLIntrinsicEvent::taskElement):
1735 * wml/WMLIntrinsicEventHandler.cpp: Added.
1736 (WebCore::WMLIntrinsicEventHandler::WMLIntrinsicEventHandler):
1737 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
1738 (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
1739 (WebCore::WMLIntrinsicEventHandler::hasIntrinsicEvent):
1740 * wml/WMLIntrinsicEventHandler.h: Added.
1741 (WebCore::):
1742
17432008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1744
1745 Reviewed by Holger Freyther.
1746
zimmermann@webkit.org61996002008-11-22 16:37:33 +00001747 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22423
1748
1749 Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
1750 Activate code handling <setvar> registration in WMLTaskElement.
1751
1752 * wml/WMLGoElement.cpp: Added.
1753 (WebCore::WMLGoElement::WMLGoElement):
1754 (WebCore::WMLGoElement::~WMLGoElement):
1755 (WebCore::WMLGoElement::parseMappedAttribute):
1756 (WebCore::WMLGoElement::executeTask):
1757 * wml/WMLGoElement.h: Added.
1758 * wml/WMLPrevElement.cpp: Added.
1759 (WebCore::WMLPrevElement::WMLPrevElement):
1760 (WebCore::WMLPrevElement::~WMLPrevElement):
1761 (WebCore::WMLPrevElement::executeTask):
1762 * wml/WMLPrevElement.h: Added.
1763 * wml/WMLRefreshElement.cpp: Added.
1764 (WebCore::WMLRefreshElement::WMLRefreshElement):
1765 (WebCore::WMLRefreshElement::~WMLRefreshElement):
1766 (WebCore::WMLRefreshElement::executeTask):
1767 * wml/WMLRefreshElement.h: Added.
1768 * wml/WMLSetvarElement.cpp: Added.
1769 (WebCore::WMLSetvarElement::WMLSetvarElement):
1770 (WebCore::WMLSetvarElement::~WMLSetvarElement):
1771 (WebCore::WMLSetvarElement::parseMappedAttribute):
1772 (WebCore::WMLSetvarElement::insertedIntoDocument):
1773 (WebCore::WMLSetvarElement::name):
1774 (WebCore::WMLSetvarElement::value):
1775 * wml/WMLSetvarElement.h: Added.
1776 * wml/WMLTagNames.in:
1777 * wml/WMLTaskElement.cpp:
1778 (WebCore::WMLTaskElement::registerVariableSetter):
1779 (WebCore::WMLTaskElement::storeVariableState):
1780 * wml/WMLTaskElement.h:
1781 * WebCore.xcodeproj/project.pbxproj:
1782
17832008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1784
zimmermann@webkit.org27ea3132008-11-22 15:39:33 +00001785 Not reviewed. Forgot to include WMLPageState.* in the last commit.
1786
1787 * wml/WMLPageState.cpp:
1788 (WebCore::WMLPageState::setNeedCheckDeckAccess):
1789 * wml/WMLPageState.h:
1790 (WebCore::WMLPageState::storeVariables):
1791
ap@webkit.org6b9d4122008-11-22 07:42:44 +000017922008-11-21 Alexey Proskuryakov <ap@webkit.org>
1793
1794 Reviewed by Darin Adler.
1795
1796 https://bugs.webkit.org/show_bug.cgi?id=22397
1797 Worker threads are not destroyed if running a JS loop
1798
1799 Since the event loop is not ever entered again in this case, the fix necessarily involves
1800 some shared data hackery.
1801
1802 * dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
1803 * dom/WorkerThread.h:
1804 Added a stop() method, which asks the thread to exit as soon as possible. In the future, it
1805 may need to abort other kinds of synchronous processing, such as importScripts or XHR.
1806
1807 * bindings/js/WorkerScriptController.cpp:
1808 (WebCore::WorkerScriptController::WorkerScriptController):
1809 (WebCore::WorkerScriptController::evaluate):
1810 (WebCore::WorkerScriptController::forbidExecution):
1811 * bindings/js/WorkerScriptController.h:
1812 Added a forbidExecution() method, which interrupts currently running JS, and makes any
1813 future calls to evaluate() return immediately.
1814
1815 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
1816 Call WorkerThread::stop().
1817
kevino@webkit.org6d096812008-11-22 03:21:45 +000018182008-11-21 Kevin Watters <kevinwatters@gmail.com>
kevino@webkit.org97376ad2008-11-22 03:08:15 +00001819
1820 Reviewed by Kevin Ollivier.
1821
1822 Improve wx image drawing performance considerably when using wxGraphicsContext
1823 by avoiding unnecessary copies and drawing.
1824
1825 https://bugs.webkit.org/show_bug.cgi?id=22404
1826
1827 * platform/graphics/wx/ImageWx.cpp:
1828 (WebCore::BitmapImage::draw):
1829 (WebCore::BitmapImage::drawPattern):
1830
1831
kevino@webkit.org80a35a42008-11-22 02:27:48 +000018322008-11-21 Kevin Watters <kevinwatters@gmail.com>
1833
1834 Reviewed by Kevin Ollivier.
1835
1836 Implementation of AffineTransform::mapRect for wx.
1837
1838 https://bugs.webkit.org/show_bug.cgi?id=22401
1839
1840 * platform/graphics/wx/AffineTransformWx.cpp:
1841 (WebCore::AffineTransform::mapRect):
1842
justin.garcia@apple.come2482302008-11-22 01:50:42 +000018432008-11-21 Justin Garcia <justin.garcia@apple.com>
1844
1845 Reviewed by Darin Adler.
1846
1847 <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text
1848
1849 Change link editing behavior to match TextEdit and MS Word when editing before and after
1850 a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we
1851 used to, so it's difficult to get out of link editing mode):
1852 When inserting before or after a link, always insert content outside of the link. This
1853 makes it impossible to get stuck in link editing mode, while making it slightly more
1854 difficult to edit link labels. WebKit editors that care about this can add UI for editing
1855 link labels, like GMail and GoogleDocs have done. We never actually had any bugs complaining
1856 about how it was difficult to edit link labels at the start/end, the code was just introduced
1857 with another bug fix without much thought.
1858
1859 Don't remember removed links anymore, no other editor does this and it made it
1860 difficult/impossible to get out of link editing mode. This code was added to fix
1861 <rdar://problem/4069359>, which is fixed instead by removing the styles from an
1862 enclosing anchor element from those styles that we remember when we delete content.
1863
1864 * editing/CompositeEditCommand.cpp:
1865 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
1866 * editing/CompositeEditCommand.h:
1867 * editing/DeleteSelectionCommand.cpp:
1868 (WebCore::removeEnclosingAnchorStyle):
1869 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
1870 (WebCore::DeleteSelectionCommand::doApply):
1871 * editing/DeleteSelectionCommand.h:
1872 * editing/EditCommand.cpp:
1873 (WebCore::EditCommand::apply):
1874 * editing/Editor.cpp:
1875 (WebCore::Editor::appliedEditing):
1876 * editing/InsertTextCommand.cpp:
1877 (WebCore::InsertTextCommand::prepareForTextInsertion):
1878 (WebCore::InsertTextCommand::input):
1879 * editing/RemoveFormatCommand.cpp:
1880 (WebCore::RemoveFormatCommand::doApply):
1881 * editing/SelectionController.cpp:
1882 (WebCore::SelectionController::setSelection):
1883 * editing/SelectionController.h:
1884
alice.liu@apple.com5aaa74c2008-11-22 01:38:03 +000018852008-11-21 Alice Liu <alice.liu@apple.com>
1886
1887 Rubber-stamped by Dan Bernstein.
1888
1889 fixed <rdar://6340771> crashing on print preview
1890
1891 * platform/graphics/win/GraphicsContextCGWin.cpp:
1892 (WebCore::GraphicsContext::drawWindowsBitmap):
1893
darin@chromium.orgb3131e02008-11-22 00:11:28 +000018942008-11-21 Darin Fisher <darin@chromium.org>
1895
1896 Reviewed by Geoffrey Garen.
1897
1898 https://bugs.webkit.org/show_bug.cgi?id=22390
1899 Abstract away JSC:: usage in WebCore/xml
1900
1901 * bindings/js/ScriptString.h: Added.
1902 (WebCore::ScriptString::ScriptString):
1903 (WebCore::ScriptString::operator JSC::UString):
1904 (WebCore::ScriptString::isNull):
1905 (WebCore::ScriptString::size):
1906 (WebCore::ScriptString::operator=):
1907 (WebCore::ScriptString::operator+=):
1908 * inspector/InspectorController.cpp:
1909 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
1910 (WebCore::InspectorResource::setXMLHttpRequestProperties):
1911 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1912 * inspector/InspectorController.h:
1913 * xml/XMLHttpRequest.cpp:
1914 (WebCore::XMLHttpRequest::responseText):
1915 (WebCore::XMLHttpRequest::clearResponse):
1916 (WebCore::XMLHttpRequest::dropProtection):
1917 (WebCore::XMLHttpRequest::didFinishLoading):
1918 (WebCore::XMLHttpRequest::didReceiveData):
1919 * xml/XMLHttpRequest.h:
1920 (WebCore::XMLHttpRequest::setLastSendURL):
1921
weinig@apple.com9c73bf72008-11-21 22:54:40 +000019222008-11-21 Sam Weinig <sam@webkit.org>
1923
1924 Reviewed by Geoffrey Garen.
1925
1926 Destroy script decoded data on a zero-delay timer after
1927 decoding. This means we now have no decoded script data
1928 at the end of Membuster.
1929
1930 * loader/CachedScript.cpp:
1931 (WebCore::CachedScript::CachedScript):
1932 (WebCore::CachedScript::allClientsRemoved):
1933 (WebCore::CachedScript::script):
1934 (WebCore::CachedScript::decodedDataDeletionTimerFired):
1935 * loader/CachedScript.h:
1936
simon.fraser@apple.com0ebe80d2008-11-21 22:49:22 +000019372008-11-21 Simon Fraser <simon.fraser@apple.com>
1938
1939 Reviewed by Darin Adler
1940
1941 https://bugs.webkit.org/show_bug.cgi?id=22159
1942
1943 RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
1944 maximalOutlineSize(), since a child might have an outline which projects
1945 outside the parent overflowRect().
1946
1947 We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
1948 so that it is valid for these repaints.
1949
1950 Test: fast/repaint/outline-child-repaint.html
1951
1952 * WebCore.xcodeproj/project.pbxproj:
1953 * rendering/RenderBox.cpp:
1954 (WebCore::RenderBox::styleDidChange):
1955 (WebCore::RenderBox::absoluteClippedOverflowRect):
1956
jmalonzo@webkit.org0bc70ae2008-11-21 22:03:02 +000019572008-11-21 Jan Michael Alonzo <jmalonzo@webkit.org>
1958
1959 Gtk, Qt, and Wx build fix.
1960
1961 Add LinkHash.cpp in the build scripts.
1962 Add LinkHash.h to Gtk's build script.
1963
1964 LinkHash.cpp/h was introduced in r38661.
1965
1966 * GNUmakefile.am:
1967 * WebCore.pro:
1968 * WebCoreSources.bkl:
1969
weinig@apple.comff029502008-11-21 21:40:46 +000019702008-11-21 Sam Weinig <sam@webkit.org>
1971
1972 Reviewed by Dan Bernstein.
1973
1974 Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
1975 Be more eager in destroying script decoded data
1976
1977 Destroy the decoded data when all clients are removed from a CachedScript.
1978
1979 * loader/CachedScript.cpp:
1980 (WebCore::CachedScript::allClientsRemoved):
1981 * loader/CachedScript.h:
1982 (WebCore::CachedScript::allClientsRemoved):
1983
dino@apple.com030a4f32008-11-21 20:01:22 +000019842008-11-21 Pierre-Olivier Latour <pol@apple.com>
1985
1986 Reviewed by Dan Bernstein.
1987
1988 WebKit should be using Device RGB colorspace everywhere for
1989 consistency.
1990
1991 https://bugs.webkit.org/show_bug.cgi?id=22300
1992
1993 * page/mac/AccessibilityObjectWrapper.mm:
1994 (CreateCGColorIfDifferent):
1995 * platform/graphics/mac/ColorMac.h:
1996 * platform/graphics/mac/ColorMac.mm:
1997 (WebCore::nsColor):
1998 (+[WebCoreControlTintObserver controlTintDidChange]):
1999 * rendering/RenderThemeMac.mm:
2000 (WebCore::convertNSColorToColor):
2001 (WebCore::menuBackgroundColor):
2002
jchaffraix@webkit.org29c44b12008-11-21 19:32:03 +000020032008-11-20 Julien Chaffraix <jchaffraix@webkit.org>
2004
2005 Reviewed by Darin Adler.
2006
2007 Bug 22388: Add JSInterfaceName to the .in files
2008 https://bugs.webkit.org/show_bug.cgi?id=22388
2009
2010 Add JSInterfaceName that is similar to interfaceName but
2011 for the JS wrappers. JSInterfaceName is always equal to interfaceName
2012 unless explicitly set.
2013
2014 * dom/make_names.pl:
2015 * html/HTMLTagNames.in:
2016 * svg/svgtags.in:
2017
weinig@apple.comfffcbe62008-11-21 18:44:42 +000020182008-11-21 Sam Weinig <sam@webkit.org>
2019
2020 Reviewed by Geoffrey Garen.
2021
2022 Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
2023 Be more eager in destroying script decoded data
2024
2025 Use a new CachedScriptSourceProvider to keep CachedScripts as
2026 CachedScripts, even down into JSC. This has the added benefit
2027 of showing the CachedScripts as live in the Caches window.
2028
2029 * GNUmakefile.am:
2030 * WebCore.vcproj/WebCore.vcproj:
2031 * WebCore.xcodeproj/project.pbxproj:
2032 * bindings/js/CachedScriptSourceProvider.h: Added.
2033 (WebCore::CachedScriptSourceProvider::create):
2034 (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
2035 (WebCore::CachedScriptSourceProvider::getRange):
2036 (WebCore::CachedScriptSourceProvider::data):
2037 (WebCore::CachedScriptSourceProvider::length):
2038 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
2039 (WebCore::makeSource):
2040 * dom/ScriptElement.cpp:
2041 (WebCore::ScriptElementData::notifyFinished):
2042 * dom/XMLTokenizer.cpp:
2043 (WebCore::XMLTokenizer::notifyFinished):
2044 * html/HTMLTokenizer.cpp:
2045 (WebCore::HTMLTokenizer::notifyFinished):
2046
brettw@chromium.org51435592008-11-21 18:22:55 +000020472008-11-21 Brett Wilson <brettw@chromium.org>
2048
2049 Fix debug-only build bustage due to a typo in an assert, and add new
2050 files to the Windows build.
2051
2052 * Info.plist:
2053 * WebCore.vcproj/WebCore.vcproj:
2054 * platform/LinkHash.h:
2055 (WebCore::LinkHashHash::avoidDeletedValue):
2056
brettw@chromium.org696b4e12008-11-21 17:07:30 +000020572008-11-20 Brett Wilson <brettw@chromium.org>
2058
2059 Reviewed by Eric Seidel.
2060
2061 https://bugs.webkit.org/show_bug.cgi?id=22131
2062
2063 Factor out visited link hashing and types into a new file, LinkHash.
2064 This also changes the hash type to 64 bits, but does not actually use
2065 the extra bits yet.
2066
2067 * WebCore.xcodeproj/project.pbxproj:
2068 (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
2069 (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
2070 * css/CSSStyleSelector.h:
2071 (WebCore::CSSStyleSelector::visitedStateChanged):
2072 * dom/Document.cpp:
2073 * dom/Document.h:
2074 * page/Page.cpp:
2075 (WebCore::Page::visitedStateChanged):
2076 * page/Page.h:
2077 * page/PageGroup.cpp:
2078 (WebCore::PageGroup::isLinkVisited):
2079 (WebCore::PageGroup::addVisitedLink):
2080 * page/PageGroup.h:
2081 * platform/LinkHash.cpp: Added.
2082 (WebCore::findSlashDotDotSlash):
2083 (WebCore::findSlashSlash):
2084 (WebCore::findSlashDotSlash):
2085 (WebCore::containsColonSlashSlash):
2086 (WebCore::cleanPath):
2087 (WebCore::matchLetter):
2088 (WebCore::needsTrailingSlash):
2089 (WebCore::visitedLinkHash):
2090 * platform/LinkHash.h: Added
2091 (WebCore::LinkHashHash::hash):
2092 (WebCore::LinkHashHash::equal):
2093 (WebCore::LinkHashHash::avoidDeletedValue):
2094
zimmermann@webkit.org7dc20052008-11-21 15:20:50 +000020952008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2096
2097 Reviewed by Alexey Proskuryakov.
2098
zimmermann@webkit.org727f5ef2008-11-21 16:47:04 +00002099 No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.
2100
2101 * wml/WMLPElement.cpp:
2102 (WebCore::WMLPElement::insertedIntoDocument):
2103
21042008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2105
2106 Reviewed by Alexey Proskuryakov.
2107
zimmermann@webkit.orgcb6f2072008-11-21 15:25:26 +00002108 Fix some coding style/formatting issues in WMLAElement.
2109
2110 * wml/WMLAElement.cpp:
2111 (WebCore::WMLAElement::parseMappedAttribute):
2112 (WebCore::WMLAElement::defaultEventHandler):
2113 * wml/WMLAElement.h:
2114
21152008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2116
2117 Reviewed by Alexey Proskuryakov.
2118
zimmermann@webkit.org7dc20052008-11-21 15:20:50 +00002119 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399
2120
2121 Implement <anchor> support for WML, add WMLVariables file containing helper functions
2122 for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.
2123
2124 * css/CSSStyleSelector.cpp:
2125 (WebCore::linkAttribute):
2126 * rendering/HitTestResult.cpp:
2127 (WebCore::HitTestResult::absoluteImageURL):
2128 (WebCore::HitTestResult::absoluteLinkURL):
2129 (WebCore::HitTestResult::isLiveLink):
2130 * wml/WMLAnchorElement.cpp: Added.
2131 (WebCore::WMLAnchorElement::WMLAnchorElement):
2132 (WebCore::WMLAnchorElement::~WMLAnchorElement):
2133 (WebCore::WMLAnchorElement::defaultEventHandler):
2134 * wml/WMLAnchorElement.h: Added.
2135 (WebCore::WMLAnchorElement::registerTask):
2136 * wml/WMLTagNames.in:
2137 * wml/WMLTaskElement.cpp: Added.
2138 (WebCore::WMLTaskElement::WMLTaskElement):
2139 (WebCore::WMLTaskElement::~WMLTaskElement):
2140 (WebCore::WMLTaskElement::insertedIntoDocument):
2141 (WebCore::WMLTaskElement::addVariableSetter):
2142 (WebCore::WMLTaskElement::removeVariableSetter):
2143 (WebCore::WMLTaskElement::storeVariableState):
2144 * wml/WMLTaskElement.h: Added.
2145 * wml/WMLVariables.cpp: Added.
2146 (WebCore::isValidVariableCharacter):
2147 (WebCore::isValidVariableReferenceCharacter):
2148 (WebCore::isValidVariableName):
2149 (WebCore::substituteVariableReferences):
2150 * wml/WMLVariables.h: Added.
2151 (WebCore::):
2152
jchaffraix@webkit.orgaee253e2008-11-21 14:30:51 +000021532008-11-21 Julien Chaffraix <jchaffraix@pleyo.com>
2154
2155 Rubber-stamped by Alexey Proskuryakov.
2156
2157 Build fix when building without WORKERS on non-POSIX, non-WINDOWS
2158 machine.
2159
2160 Spotted by Mario Bensi.
2161
2162 * platform/text/TextCodecICU.cpp:
2163
weinig@apple.com072de3b2008-11-21 05:35:22 +000021642008-11-20 Sam Weinig <sam@webkit.org>
2165
2166 Reviewed by Geoffrey Garen.
2167
weinig@apple.com79099002008-11-21 05:51:28 +00002168 First step in https://bugs.webkit.org/show_bug.cgi?id=22394
2169 Be more eager in destroying script decoded data
2170
2171 Pass data to be used in script execution around as JSC::SourceCode instead
2172 of a source, url, and starting line.
2173
2174 * bindings/js/ScriptController.cpp:
2175 (WebCore::ScriptController::evaluate):
2176 * bindings/js/ScriptController.h:
2177 * bindings/js/StringSourceProvider.h:
2178 (WebCore::makeSource):
2179 * bindings/js/WorkerScriptController.cpp:
2180 (WebCore::WorkerScriptController::evaluate):
2181 * bindings/js/WorkerScriptController.h:
2182 * dom/ScriptElement.cpp:
2183 (WebCore::ScriptElement::insertedIntoDocument):
2184 (WebCore::ScriptElement::childrenChanged):
2185 (WebCore::ScriptElementData::evaluateScript):
2186 (WebCore::ScriptElementData::notifyFinished):
2187 * dom/ScriptElement.h:
2188 * dom/WorkerThread.cpp:
2189 (WebCore::WorkerThread::workerThread):
2190 * dom/XMLTokenizer.cpp:
2191 (WebCore::XMLTokenizer::notifyFinished):
2192 * dom/XMLTokenizerLibxml2.cpp:
2193 (WebCore::XMLTokenizer::endElementNs):
2194 * dom/XMLTokenizerQt.cpp:
2195 (WebCore::XMLTokenizer::parseEndElement):
2196 * html/HTMLTokenizer.cpp:
2197 (WebCore::HTMLTokenizer::scriptHandler):
2198 (WebCore::HTMLTokenizer::scriptExecution):
2199 (WebCore::HTMLTokenizer::notifyFinished):
2200 * html/HTMLTokenizer.h:
2201 * loader/FrameLoader.cpp:
2202 (WebCore::FrameLoader::executeScript):
2203 * loader/FrameLoader.h:
2204
22052008-11-20 Sam Weinig <sam@webkit.org>
2206
2207 Reviewed by Geoffrey Garen.
2208
weinig@apple.com072de3b2008-11-21 05:35:22 +00002209 Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
2210 REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String
2211
2212 - Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
2213
2214 * bindings/js/JSXMLHttpRequestCustom.cpp:
2215 (WebCore::JSXMLHttpRequest::responseText):
2216 * xml/XMLHttpRequest.idl:
2217
simon.fraser@apple.com1dffe8f2008-11-21 01:57:55 +000022182008-11-20 Simon Fraser <simon.fraser@apple.com>
2219
2220 Reviewed by Dan Bernstein
2221
2222 https://bugs.webkit.org/show_bug.cgi?id=19623
2223
2224 When an non-layer object gained a transform, it would only repaint
2225 the bounds of the new layer, which could result in redraw artifacts
2226 if the new layer was smaller. So if we're gaining a transform, we
2227 repaint.
2228
2229 Test: fast/repaint/change-transform.html
2230
2231 * rendering/RenderObject.cpp:
2232 (WebCore::RenderObject::styleWillChange):
2233
adele@apple.com1b99bf62008-11-21 01:54:55 +000022342008-11-20 Adele Peterson <adele@apple.com>
2235
2236 Reviewed by Darin Adler.
2237
2238 Fix for <rdar://problem/6111436> Support upload progress events on Windows
2239
2240 * platform/network/cf/ResourceHandleCFNet.cpp:
2241 (WebCore::didSendBodyData): Added.
2242 (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
2243
justin.garcia@apple.comd041d1f2008-11-21 01:37:00 +000022442008-11-20 Justin Garcia <justin.garcia@apple.com>
2245
2246 Reviewed by Darin Adler.
2247
2248 <rdar://problem/2610675> Blank line that is quoted can't be deleted
2249
2250 If the caret is in an empty quoted paragraph, and either there is nothing before that
2251 paragraph, or what is before is unquoted, and the user presses delete, unquote that
2252 paragraph.
2253
2254 * editing/CompositeEditCommand.cpp:
2255 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added.
2256 Removes the line break that holds open an empty paragraph and then attempts to
2257 prune the blockquote(s) that held that line break in case they have been emptied
2258 out. Places a line break to create in empty unquoted paragraph in place of the
2259 quoted one that was removed.
2260 * editing/CompositeEditCommand.h:
2261 * editing/TypingCommand.cpp:
2262 (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
2263 * editing/htmlediting.cpp:
2264 (WebCore::highestEnclosingNodeOfType): Added.
2265 * editing/htmlediting.h:
2266
simon.fraser@apple.com5f535b92008-11-21 00:44:20 +000022672008-11-20 Dean Jackson <dino@apple.com>
2268
2269 Reviewed by Antti Koivisto
2270
simon.fraser@apple.come5d2c892008-11-21 00:48:46 +00002271 https://bugs.webkit.org/show_bug.cgi?id=21247
2272
2273 Make transition shorthand property accept transition-delay.
2274
2275 Test: transitions/transition-shorthand-delay.html
2276
2277 * css/CSSParser.cpp:
2278 (WebCore::CSSParser::parseTransitionShorthand):
2279
22802008-11-20 Dean Jackson <dino@apple.com>
2281
2282 Reviewed by Antti Koivisto
2283
simon.fraser@apple.com5f535b92008-11-21 00:44:20 +00002284 https://bugs.webkit.org/show_bug.cgi?id=22368
2285
2286 Make sure pauseTransition API takes transition delay into account.
2287
2288 Test: transitions/transition-drt-api-delay.html
2289
2290 * page/animation/AnimationBase.cpp:
2291 (WebCore::AnimationBase::pauseAtTime):
2292
simon.fraser@apple.com1a2c6782008-11-21 00:26:29 +000022932008-11-20 Simon Fraser <simon.fraser@apple.com>
2294
2295 Reviewed by Darin Adler
2296
2297 https://bugs.webkit.org/show_bug.cgi?id=20368
2298
2299 Implement getComputedStyle for animation properties. Remove individual
2300 computed values for transform-origin-x, transform-origin-y, and just
2301 return transform-origin instead. Return "none" for default animation-name,
2302 and fix the initial value.
2303
2304 Tests: animations/computed-style.html
2305 transforms/computed-style-origin.html
2306
2307 * css/CSSComputedStyleDeclaration.cpp:
2308 (WebCore::):
2309 (WebCore::getDelayValue):
2310 (WebCore::getDurationValue):
2311 (WebCore::getTimingFunctionValue):
2312 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2313 * rendering/style/RenderStyle.h:
2314 (WebCore::InheritedFlags::initialAnimationName):
2315
justin.garcia@apple.comba2601a2008-11-20 22:02:37 +000023162008-11-20 Justin Garcia <justin.garcia@apple.com>
2317
2318 Reviewed by Beth Dakin.
2319
2320 Preparation for:
2321 <rdar://problem/2610675> Blank line that is quoted can't be deleted
2322
2323 To fix this we need to make changes to the code that creates selections to delete
2324 when the user does a backward or forward delete with a caret selection. For certain
2325 caret positions, we now want to remove something other than the standard "caret extended
2326 backward/forward by one unit". The problem is that there were two pieces of code
2327 responsible for doing this, one in Editor::deleteWithDirection, and another inside
2328 TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent
2329 addition (r19172), and adding it there caused regressions because it prevented the
2330 code in deleteKeyPressed from ever running. The regressions were never caught because
2331 JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.
2332
2333 This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
2334 can handle it. That required moving code to handle the kill ring down into deleteKeyPressed.
2335
2336 Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
2337 discrepancies between the behavior of JS deletions and manual deletions, so that we
2338 have better test coverage.
2339
2340 * editing/Editor.cpp:
2341 (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead
2342 of checking for that periodically throughout the function. There's really nothing to be done
2343 if it's null anyway.
2344 Move kill ring code down into deleteKeyPressed.
2345 * editing/Editor.h:
2346 * editing/TypingCommand.cpp:
2347 (WebCore::TypingCommand::TypingCommand):
2348 (WebCore::TypingCommand::deleteKeyPressed):
2349 (WebCore::TypingCommand::forwardDeleteKeyPressed):
2350 (WebCore::TypingCommand::doApply):
2351 * editing/TypingCommand.h:
2352 (WebCore::TypingCommand::create):
2353
darin@apple.com6fc2f4a2008-11-20 21:41:20 +000023542008-11-20 Darin Adler <darin@apple.com>
2355
2356 Earlier version reviewed by Justin Garcia.
2357
2358 - fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
2359
2360 * editing/Editor.cpp:
2361 (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be
2362 handled even when the selection is not in an editable area.
2363 (WebCore::Editor::handleInputMethodKeydown): Ditto.
2364
2365 * editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to
2366 allow use when there's a selection even if it's not in an editable area. This includes commands
2367 like shift-arrow keys to extend the slection, but not commands like arrow keys to move the
2368 insertion point.
2369
ap@webkit.org54d829a2008-11-20 20:36:20 +000023702008-11-20 Alexey Proskuryakov <ap@webkit.org>
2371
2372 Reviewed by Darin Adler.
2373
2374 https://bugs.webkit.org/show_bug.cgi?id=22380
2375 Fix WorkerContext refcounting
2376
2377 * dom/WorkerContext.cpp:
2378 (WebCore::WorkerContext::WorkerContext):
2379 * dom/WorkerContext.h:
2380 (WebCore::WorkerContext::script):
2381 (WebCore::WorkerContext::clearScript):
ap@webkit.org8bd36192008-11-21 09:39:31 +00002382 Added a method to manually destroy WorkerScriptController.
ap@webkit.org54d829a2008-11-20 20:36:20 +00002383
2384 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
2385 Destroy WorkerScriptController to release any references to WorkerContext.
2386
jchaffraix@webkit.orgfe4eec02008-11-20 19:40:25 +000023872008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
2388
2389 Reviewed by Darin Adler.
2390
2391 Last part of bug 21106: .in format discussed changes
2392 https://bugs.webkit.org/show_bug.cgi?id=21106
2393
2394 - Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
2395
2396 - Cleaned up additionnal function parameters that were unneeded.
2397
2398 * dom/make_names.pl:
2399 * html/HTMLTagNames.in:
2400
ap@webkit.org5f83ddd2008-11-20 18:18:50 +000024012008-11-20 Alexey Proskuryakov <ap@webkit.org>
2402
2403 Reviewed by Darin Adler.
2404
2405 https://bugs.webkit.org/show_bug.cgi?id=22383
2406 Worker tests spill error messages over to consequent tests
2407
2408 * dom/Worker.cpp: (WebCore::Worker::Worker):
2409 Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL
2410 in this case, and there is no sense in starting a thread and trying to parse document source
2411 as JavaScript.
2412
2413 * bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker):
2414 Return quickly if toString() raised an exception.
2415
simon.fraser@apple.com13a62b22008-11-20 16:43:11 +000024162008-11-19 Simon Fraser <simon.fraser@apple.com>
2417
2418 Reviewed by Adele Peterson.
2419
2420 https://bugs.webkit.org/show_bug.cgi?id=22190
2421
2422 Fix the painting and event handling in transformed search fields.
2423 When painting the cancel and results button parts, get the rect from AppKit
2424 relative to the input bounds (rather than in absolute coords), then convert
2425 it into the coords of the part's renderer (which is the one that is painting).
2426 To do this we need to compute an offset relative to some container, so expose
2427 a method on RenderObject for that.
2428
2429 Also fix the location at which the search popup shows up to take transforms
2430 into account, and fix the math that is used to figure out if the search
2431 results button, or the cancel button should get the mouse events.
2432
2433 Test: fast/forms/search-transformed.html
2434
2435 * rendering/RenderBox.h:
2436 * rendering/RenderObject.cpp:
2437 (WebCore::RenderObject::offsetFromContainer):
2438 * rendering/RenderObject.h:
2439 * rendering/RenderTextControl.cpp:
2440 (WebCore::RenderTextControl::forwardEvent):
2441 (WebCore::RenderTextControl::showPopup):
2442 * rendering/RenderThemeMac.h:
2443 * rendering/RenderThemeMac.mm:
2444 (WebCore::RenderThemeMac::convertToPaintingRect):
2445 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2446 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2447 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2448
hausmann@webkit.org61386622008-11-20 13:44:01 +000024492008-11-20 Joerg Bornemann <joerg.bornemann@trolltech.com>
2450
2451 Reviewed by Simon Hausmann.
2452
2453 Steps towards making the the Qt port of WebKit compile on Windows CE
2454
2455 https://bugs.webkit.org/show_bug.cgi?id=20746
2456
2457 * WebCore.pro: Various fixes to include windows specific build options
2458 also in the Windows CE build.
2459 * loader/icon/IconDatabase.cpp: Removed unnecessary errno.h inclusion.
2460 * platform/FileSystem.h: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
2461 * platform/graphics/qt/GraphicsContextQt.cpp:
2462 (WebCore::GraphicsContext::getWindowsContext): SetWorldTransform is
2463 not available on CE.
2464 * platform/graphics/qt/PathQt.cpp: Added local definition of M_PI.
2465 * platform/qt/FileSystemQt.cpp: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
2466 * platform/qt/KeyboardCodes.h: Extend #idefs to define the missing OEM
2467 constants on CE.
2468 * platform/qt/TemporaryLinkStubs.cpp: Added stubs for plugins.
2469 * platform/text/RegularExpression.cpp: Removed unused sys/types.h and
2470 pcre.h inclusions.
2471 * platform/win/SystemTimeWin.cpp:
2472 (WebCore::userIdleTime): Don't use GetLastInputInfo on CE, it does not
2473 exist.
2474
antti@apple.comc3221bd2008-11-20 10:47:22 +000024752008-11-20 Antti Koivisto <antti@apple.com>
2476
2477 Reviewed by Maciej Stachowiak.
2478
2479 https://bugs.webkit.org/show_bug.cgi?id=22379
2480 Make CSSOM use less memory
2481
2482 - Shrink CSSProperty by half by using bitfields.
2483 - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet
2484 and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
2485
2486 * css/CSSMutableStyleDeclaration.cpp:
2487 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2488 (WebCore::CSSMutableStyleDeclaration::operator=):
2489 * css/CSSMutableStyleDeclaration.h:
2490 (WebCore::CSSMutableStyleDeclaration::setStrictParsing):
2491 (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
2492 * css/CSSProperty.h:
2493 * css/CSSStyleSheet.cpp:
2494 (WebCore::CSSStyleSheet::CSSStyleSheet):
2495 * css/CSSStyleSheet.h:
2496 (WebCore::CSSStyleSheet::setStrictParsing):
2497 (WebCore::CSSStyleSheet::useStrictParsing):
2498 * css/StyleBase.h:
2499 (WebCore::StyleBase::useStrictParsing):
2500 (WebCore::StyleBase::StyleBase):
2501
darin@chromium.orgcd848402008-11-20 02:05:41 +000025022008-11-19 Darin Fisher <darin@chromium.org>
2503
darin@chromium.org395b5272008-11-20 03:27:50 +00002504 Fix bustage.
2505
2506 https://bugs.webkit.org/show_bug.cgi?id=22373
2507 Ports busted by addition of ScriptValue.{h,cpp}
2508
2509 * plugins/PluginView.cpp:
2510 (WebCore::PluginView::performRequest):
2511
25122008-11-19 Darin Fisher <darin@chromium.org>
2513
darin@chromium.orgc1849fa2008-11-20 03:19:28 +00002514 Bustage fix.
2515
2516 https://bugs.webkit.org/show_bug.cgi?id=22373
2517 Ports busted by addition of ScriptValue.{h,cpp}
2518
2519 * GNUmakefile.am:
2520 * WebCore.pro:
2521 * WebCoreSources.bkl:
2522 * dom/XMLTokenizerQt.cpp:
2523 * plugins/PluginView.cpp:
2524
25252008-11-19 Darin Fisher <darin@chromium.org>
2526
darin@chromium.orgcd848402008-11-20 02:05:41 +00002527 Reviewed by Geoff Garen.
2528
2529 https://bugs.webkit.org/show_bug.cgi?id=22345
2530 Define ScriptValue as a thin container for a JSC::Value*.
2531
2532 * WebCore.vcproj/WebCore.vcproj:
2533 * WebCore.xcodeproj/project.pbxproj:
2534 * bindings/js/ScheduledAction.cpp:
2535 * bindings/js/ScriptController.cpp:
2536 (WebCore::ScriptController::evaluate):
2537 * bindings/js/ScriptController.h:
2538 * bindings/js/ScriptValue.cpp: Added.
2539 (WebCore::ScriptValue::getString):
2540 * bindings/js/ScriptValue.h: Added.
2541 (WebCore::ScriptValue::ScriptValue):
2542 (WebCore::ScriptValue::jsValue):
2543 * dom/ScriptElement.cpp:
2544 * dom/XMLTokenizer.cpp:
2545 * dom/XMLTokenizerLibxml2.cpp:
2546 * html/HTMLTokenizer.cpp:
2547 * loader/FrameLoader.cpp:
2548 (WebCore::FrameLoader::executeIfJavaScriptURL):
2549 (WebCore::FrameLoader::executeScript):
2550 * loader/FrameLoader.h:
2551
bdakin@apple.comf5090c92008-11-20 01:33:05 +000025522008-11-19 Beth Dakin <bdakin@apple.com>
2553
2554 Reviewed by Justin Garcia.
2555
2556 Fix for <rdar://problem/5472507> Remove color property when a user
2557 sets color to black
2558
2559 This patch prevents us from inserting font nodes during the
2560 ApplyStyleCommand if they will not change the computed style of an
2561 element.
2562
2563 * editing/ApplyStyleCommand.cpp:
2564 (WebCore::fontColorChangesComputedStyle):
2565 (WebCore::fontSizeChangesComputedStyle):
2566 (WebCore::fontFaceChangesComputedStyle):
2567 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2568
simon.fraser@apple.com5c9b4482008-11-19 21:07:15 +000025692008-11-19 Simon Fraser <simon.fraser@apple.com>
2570
simon.fraser@apple.com15484662008-11-20 02:44:28 +00002571 Reviewed by Antti Koivisto
2572
2573 https://bugs.webkit.org/show_bug.cgi?id=22111
2574
2575 Fix hit testing in controls on transformed video elements
2576 by replacing absoluteBoundingBoxRect().contains() with
2577 code that maps the point into local coords, taking
2578 transforms into account.
2579
2580 Test: media/video-controls-transformed.html
2581
2582 * platform/graphics/MediaPlayer.h:
2583 * rendering/RenderMedia.cpp:
2584 (WebCore::rendererContainsPoint):
2585 (WebCore::RenderMedia::forwardEvent):
2586
25872008-11-19 Simon Fraser <simon.fraser@apple.com>
2588
simon.fraser@apple.com5c9b4482008-11-19 21:07:15 +00002589 Reviewed by Darin Adler
2590
2591 https://bugs.webkit.org/show_bug.cgi?id=22348
2592
2593 Need to educate style sharing about autofill, so that style does not
2594 get shared between input elements that are autofilled, and those
2595 that are not. Setting autofill should also do a setChanged on the node.
2596
2597 * css/CSSStyleSelector.cpp:
2598 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2599 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2600 * dom/Node.h:
2601 (WebCore::Node::isAutofilled):
2602 * html/HTMLInputElement.cpp:
2603 (WebCore::HTMLInputElement::setAutofilled):
2604 * html/HTMLInputElement.h:
2605 (WebCore::HTMLInputElement::isAutofilled):
2606
brettw@chromium.org74db4f52008-11-19 20:44:37 +000026072008-11-19 Brett Wilson <brettw@chromium.org>
2608
2609 Reviewed by Antti Koivisto.
2610
2611 https://bugs.webkit.org/show_bug.cgi?id=22349
2612
2613 Clear the subresource loader client when the client is removed in
2614 response to a 304 (not modified). This prevents an inconsistent state
2615 where the loader thinks it's active and the loader::Host doesn't.
2616
2617 * loader/loader.cpp:
2618 (WebCore::Loader::Host::didReceiveResponse):
2619
ap@webkit.orge9b6b592008-11-19 17:42:39 +000026202008-11-19 Alexey Proskuryakov <ap@webkit.org>
2621
ap@webkit.org592d2a82008-11-19 17:57:58 +00002622 Reviewed by Darin Adler.
2623
ap@webkit.org871cd152008-11-19 18:28:57 +00002624 https://bugs.webkit.org/show_bug.cgi?id=22355
2625 Systematize code for replacing global constructors
2626
2627 Test: fast/workers/worker-replace-global-constructor.html
2628
2629 * bindings/js/JSDOMWindowBase.cpp:
2630 (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated
2631 code for global constructor setters does.
2632 (setJSDOMWindowBaseAudio): Ditto.
2633 (setJSDOMWindowBaseImage): Ditto.
2634 (setJSDOMWindowBaseMessageChannel): Ditto.
2635 (setJSDOMWindowBaseOption): Ditto.
2636 (setJSDOMWindowBaseWorker): Ditto.
2637 (setJSDOMWindowBaseXMLHttpRequest): Ditto.
2638 (setJSDOMWindowBaseXSLTProcessor): Ditto.
2639 (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors.
2640
2641 * bindings/js/JSWorkerContext.cpp:
2642 (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties,
2643 as it is done for Window.
2644 (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global
2645 constructors are.
2646 (WebCore::setJSWorkerContextWorkerLocation): Ditto.
2647
26482008-11-19 Alexey Proskuryakov <ap@webkit.org>
2649
2650 Reviewed by Darin Adler.
2651
ap@webkit.org592d2a82008-11-19 17:57:58 +00002652 https://bugs.webkit.org/show_bug.cgi?id=22341
2653 Text codecs should not use static data without locking
2654
2655 * platform/text/TextCodecICU.cpp:
2656 * platform/text/mac/TextCodecMac.cpp:
2657 Made cached converters per-thread.
2658
2659 * platform/text/TextEncodingRegistry.cpp:
2660 (WebCore::encodingRegistryMutex): Added a mutex for codec maps access.
ap@webkit.org8bd36192008-11-21 09:39:31 +00002661 (WebCore::addToTextCodecMap): Don't use TextEncoding just to canonicalize the name, as it
2662 causes a deadlock due to a recursive call into registry.
ap@webkit.org592d2a82008-11-19 17:57:58 +00002663 (WebCore::buildBaseTextCodecMaps): Added assertions.
2664 (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps.
2665 (WebCore::atomicCanonicalTextEncodingName): Ditto.
2666 (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not
2667 necessary here.
2668
26692008-11-19 Alexey Proskuryakov <ap@webkit.org>
2670
ap@webkit.org2834b3e2008-11-19 17:57:00 +00002671 Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines.
2672
2673 * WebCorePrefix.h:
2674
26752008-11-19 Alexey Proskuryakov <ap@webkit.org>
2676
ap@webkit.orge9b6b592008-11-19 17:42:39 +00002677 Reviewed by Darin Adler.
2678
2679 https://bugs.webkit.org/show_bug.cgi?id=22310
2680 Worker exceptions should be printed to console
2681
2682 * dom/Document.cpp: (WebCore::Document::reportException):
2683 * dom/Document.h:
2684 * dom/ScriptExecutionContext.h:
2685 * dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
2686 * dom/WorkerContext.h:
2687 Added a reportException() method on ScriptExecutionContext. It forwards the exception info
2688 up until it finds a Document context, and then it prints it to console.
2689
2690 * bindings/js/JSEventListener.cpp:
2691 (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use
2692 ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering()
2693 could be called from workers.
2694 (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity.
2695
2696 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
2697 Report exceptions to ScriptExecutionContext.
2698
2699 * dom/WorkerMessagingProxy.cpp:
2700 (WebCore::MessageWorkerTask::performTask):
2701 (WebCore::WorkerExceptionTask::create):
2702 (WebCore::WorkerExceptionTask::WorkerExceptionTask):
2703 (WebCore::WorkerExceptionTask::performTask):
2704 (WebCore::WorkerMessagingProxy::postWorkerException):
2705 * dom/WorkerMessagingProxy.h:
2706 Added a task for posting exception information.
2707
2708 * bindings/js/JSDOMBinding.cpp:
2709 (WebCore::reportException):
2710 (WebCore::reportCurrentException):
2711 * bindings/js/JSDOMBinding.h:
2712 Added helper methods for reporting exceptions via ScriptExecutionContext.
2713
2714 * page/Console.cpp:
2715 * page/Console.h:
2716 Removed methods for directly reporting exceptions to console.
2717
2718 * bindings/js/JSCustomPositionCallback.cpp:
2719 (WebCore::JSCustomPositionCallback::handleEvent):
2720 * bindings/js/JSCustomPositionErrorCallback.cpp:
2721 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2722 * bindings/js/JSCustomSQLStatementCallback.cpp:
2723 (WebCore::JSCustomSQLStatementCallback::handleEvent):
2724 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2725 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2726 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2727 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2728 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2729 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2730 * bindings/js/JSCustomVoidCallback.cpp:
2731 (WebCore::JSCustomVoidCallback::handleEvent):
2732 * bindings/js/JSCustomXPathNSResolver.cpp:
2733 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2734 * bindings/js/ScheduledAction.cpp:
2735 (WebCore::ScheduledAction::execute):
2736 * bindings/js/ScriptController.cpp:
2737 (WebCore::ScriptController::evaluate):
2738 * bindings/objc/WebScriptObject.mm:
2739 (WebCore::addExceptionToConsole):
2740 Switch to JSDOMBinding methods for reporting exceptions.
2741
mitz@apple.comc50bbf12008-11-19 07:51:47 +000027422008-11-18 Dan Bernstein <mitz@apple.com>
2743
2744 Reviewed by Mark Rowe.
2745
2746 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=22331
2747 <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
2748
2749 * platform/ContextMenuItem.h:
2750 (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with
2751 the one in WebUIDelegate.h.
2752
darin@chromium.org058a8c12008-11-19 01:58:39 +000027532008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
2754
2755 Reviewed by Darin Adler.
2756
2757 https://bugs.webkit.org/show_bug.cgi?id=22346
2758 PlatformString should also include HashSet.h for non-JSC builds
2759
2760 * platform/text/PlatformString.h:
2761
adele@apple.comfd67df92008-11-19 00:25:41 +000027622008-11-18 Adele Peterson <adele@apple.com>
2763
2764 Reviewed by Holger Hans Peter Freyther.
2765
2766 Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid.
2767
2768 * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
2769
darin@chromium.orgae1656d2008-11-18 23:39:00 +000027702008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
2771
2772 Reviewed by Sam Weinig.
2773
2774 https://bugs.webkit.org/show_bug.cgi?id=22343
2775 Remove unused runtime/Collector, JSLock includes in Page.cpp
2776
2777 * page/Page.cpp:
2778
adachan@apple.com73975492008-11-18 23:30:12 +000027792008-11-18 Ada Chan <adachan@apple.com>
2780
2781 Bug 22344: Make select popup window opaque
2782 https://bugs.webkit.org/show_bug.cgi?id=22344
2783
2784 Reviewed by Steve Falkenburg.
2785
2786 * platform/win/PopupMenuWin.cpp:
2787 (WebCore::PopupMenu::show):
2788
darin@chromium.orgd2a03d72008-11-18 23:16:59 +000027892008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
2790
2791 Reviewed by Sam Weinig.
2792
2793 https://bugs.webkit.org/show_bug.cgi?id=22342
2794 Remove unused JSLock.h include
2795
2796 * dom/Document.cpp:
2797
zimmermann@webkit.org9b0b30f2008-11-18 22:15:33 +000027982008-11-18 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2799
2800 Reviewed by Sam Weinig.
2801
2802 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22334
2803
2804 Add WMLBRElement, correcting <br/> behaviour in WML.
2805 Enable entity replacment for WML documents.
2806 Handle WML specific <p> 'mode' attribute.
2807
2808 Generate layout tests results for fast/wml.
2809
2810 Tests cases that pass now:
2811 fast/wml/br-element-in-table.wml
2812 fast/wml/br-element-in-text.wml
2813 fast/wml/case-sensitivity.wml
2814 fast/wml/cdata-section.wml
2815 fast/wml/comment.wml
2816 fast/wml/entity.wml
2817 fast/wml/p-align.wml
2818 fast/wml/p-mode.wml
2819 fast/wml/text-emphasis.wml
2820 fast/wml/validate-dtd.wml
2821
2822 * GNUmakefile.am:
2823 * WebCore.pro:
2824 * WebCore.xcodeproj/project.pbxproj:
2825 * dom/XMLTokenizer.cpp:
2826 (WebCore::XMLTokenizer::isWMLDocument):
2827 (WebCore::XMLTokenizer::insertErrorMessageBlock):
2828 * dom/XMLTokenizer.h:
2829 * dom/XMLTokenizerLibxml2.cpp:
2830 (WebCore::XMLTokenizer::internalSubset):
2831 (WebCore::getEntityHandler):
2832 * dom/XMLTokenizerQt.cpp:
2833 (WebCore::XMLTokenizer::parse):
2834 * wml/WMLBRElement.cpp: Added.
2835 (WebCore::WMLBRElement::WMLBRElement):
2836 (WebCore::WMLBRElement::mapToEntry):
2837 (WebCore::WMLBRElement::parseMappedAttribute):
2838 (WebCore::WMLBRElement::createRenderer):
2839 * wml/WMLBRElement.h: Added.
2840 * wml/WMLPElement.cpp:
2841 (WebCore::WMLPElement::parseMappedAttribute):
2842 (WebCore::WMLPElement::insertedIntoDocument):
2843 * wml/WMLPElement.h:
2844 * wml/WMLTagNames.in:
2845
ap@webkit.org4cc3bf42008-11-18 19:23:27 +000028462008-11-18 Alexey Proskuryakov <ap@webkit.org>
2847
2848 Windows build fix.
2849
2850 * WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
2851
darin@apple.com8f78a7d2008-11-18 18:26:08 +000028522008-11-18 Darin Adler <darin@apple.com>
2853
2854 - try to fix Wx build
2855
2856 * WebCoreSources.bkl: Added FrameLoaderClient.cpp.
2857
ap@webkit.org6881f9e2008-11-18 18:25:29 +000028582008-11-18 Alexey Proskuryakov <ap@webkit.org>
2859
2860 Reviewed by Darin Adler.
2861
2862 https://bugs.webkit.org/show_bug.cgi?id=22337
2863 Enable workers by default
2864
2865 Tests: fast/workers/worker-constructor.html
2866 fast/workers/worker-event-listener.html
2867 fast/workers/worker-gc.html
2868 fast/workers/worker-location.html
2869
2870 * Configurations/WebCore.xcconfig:
2871 * WebCore.vcproj/WebCore.vcproj:
2872 * WebCore.vcproj/build-generated-files.sh:
2873 Define ENABLE_WORKERS.
2874
darin@apple.com6e74f2e2008-11-18 18:23:02 +000028752008-11-18 Darin Adler <darin@apple.com>
2876
2877 Reviewed by Alexey Proskuryakov.
2878
2879 - first cut at https://bugs.webkit.org/show_bug.cgi?id=10957
2880 <rdar://problem/5516594> please add support for HTTP-only cookies
2881
2882 Test: http/tests/xmlhttprequest/get-dangerous-headers.html
2883
2884 No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
2885 require an updated CFNetwork.
2886
2887 * platform/mac/CookieJar.mm:
2888 (WebCore::isHTTPOnly): Added.
2889 (WebCore::filterCookies): Added.
2890 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
2891 (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
2892
2893 * platform/network/win/CookieJarCFNetWin.cpp:
2894 (WebCore::isHTTPOnly): Added.
2895 (WebCore::filterCookies): Added.
2896 (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies.
2897 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
2898
2899 * xml/XMLHttpRequest.cpp:
2900 (WebCore::isSetCookieHeader): Added.
2901 (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from
2902 clients that don't have local-resource privileges.
2903 (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
2904
2905 - clean soup-specific details out of shared cookie jar header
2906
2907 * platform/CookieJar.h: Removed the soup-specific parts of this.
2908 * platform/network/soup/CookieJarSoup.cpp: Changed to include
2909 CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
2910 * platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified
2911 part of CookieJar.h.
2912 * platform/network/soup/ResourceHandleSoup.cpp: Changed to include
2913 CookieJarSoup.h.
2914
sfalken@apple.com414bf3f2008-11-18 17:59:54 +000029152008-11-18 Steve Falkenburg <sfalken@apple.com>
2916
2917 https://bugs.webkit.org/show_bug.cgi?id=22329
2918 Improper bitwise and tests against 0 in Windows context menu code
2919
2920 Reviewed by John Sullivan.
2921
2922 * platform/win/ContextMenuItemWin.cpp:
2923 (WebCore::ContextMenuItem::type):
2924 (WebCore::ContextMenuItem::enabled):
2925
sullivan@apple.com83ce9902008-11-18 17:32:35 +000029262008-11-18 John Sullivan <sullivan@apple.com>
2927
2928 Yet more Mac build fixing
2929
2930 * WebCore.base.exp: Export __ZTVN7WebCore17FrameLoaderClientE
2931
vestbo@webkit.orgc311a972008-11-18 14:41:18 +000029322008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
2933
vestbo@webkit.org4387a7b2008-11-18 14:41:42 +00002934 Reviewed by Simon Hausmann.
2935
2936 React properly to frame rect changes for QWidget based plugins
2937
2938 We now set the geometry of the QWidget in frameRectsChanged,
2939 intead of setFrameRect, which means we pick up the changes to
2940 the frame rect when scrolling. We also set a mask on the
2941 widget to keep it from painting over scrollbars and the like
2942
2943 * platform/qt/WidgetQt.cpp:
2944 (WebCore::Widget::setFrameRect):
2945
29462008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
2947
vestbo@webkit.orgc311a972008-11-18 14:41:18 +00002948 Rubber-stamped by Simon Hausmann.
2949
2950 Don't mark scrollbars as focused in QtWebKit
2951
2952 When initing from the widget we also got the focus state,
2953 but this does not make sense for scrollbars.
2954
2955 * platform/qt/ScrollbarThemeQt.cpp:
2956 (WebCore::styleOptionSlider):
2957
ap@webkit.orgde18f772008-11-18 12:53:14 +000029582008-11-18 Alexey Proskuryakov <ap@webkit.org>
2959
ap@webkit.org8c53ec72008-11-18 13:46:59 +00002960 More Mac build fixing.
2961
2962 * WebCore.base.exp: Export FrameLoaderClient destructor.
2963
29642008-11-18 Alexey Proskuryakov <ap@webkit.org>
2965
ap@webkit.orgde18f772008-11-18 12:53:14 +00002966 Mac build fix.
2967
2968 * WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
2969
zecke@webkit.org6a82c452008-11-18 12:32:49 +000029702008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
2971
2972 Reviewed by Simon Hausmann.
2973
2974 https://bugs.webkit.org/show_bug.cgi?id=22056
2975
zecke@webkit.org6b956e72008-11-18 12:33:24 +00002976 Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
2977
2978 After Hyatt's work on Widget and ScrollView there is little difference
2979 between the implementation of Qt, Gtk+ and Win. In fact any kind of
2980 difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
2981 port and the Qt port has at least one of them left.
2982
2983 The only difference between the implementations is in getting the the
2984 IntSize for the new FrameView, the background color to be applied and
2985 eventually some post processing.
2986
2987 Unify the implementations by providing a static helper function that
2988 takes a Frame, IntSize, color and transparency bit and calling it from
2989 the Gtk+, the Qt and the Windows port.
2990
2991 * GNUmakefile.am:
2992 * WebCore.pro:
2993 * WebCore.vcproj/WebCore.vcproj:
2994 * loader/FrameLoaderClient.cpp: Added.
2995 (WebCore::FrameLoaderClient::~FrameLoaderClient):
2996 (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
2997 * loader/FrameLoaderClient.h:
2998
29992008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
3000
3001 Reviewed by Simon Hausmann.
3002
3003 https://bugs.webkit.org/show_bug.cgi?id=22056
3004
zecke@webkit.org6a82c452008-11-18 12:32:49 +00003005 Move setting the background color and transparency from WebKit/win
3006 to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
3007 to share this code.
3008
3009 * page/FrameView.cpp:
3010 (WebCore::FrameView::updateBackgroundRecursively):
3011 * page/FrameView.h:
3012
vestbo@webkit.orgc52e5ad2008-11-18 11:36:23 +000030132008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>
3014
3015 Reviewed by Tor Arne Vestbø.
3016
3017 Fix the bug where select elements are painted without border.
3018 http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry
3019
3020 * platform/qt/RenderThemeQt.cpp:
3021 (WebCore::RenderThemeQt::paintMenuList):
3022
jmalonzo@webkit.orga1c87442008-11-18 10:06:21 +000030232008-11-18 Jan Michael Alonzo <jmalonzo@webkit.org>
3024
3025 Gtk build fix. Not reviewed.
3026
3027 * GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/,
3028 not in wml/.
3029
ap@webkit.org2e143a82008-11-18 08:03:25 +000030302008-11-18 Alexey Proskuryakov <ap@webkit.org>
3031
ap@webkit.orgfacdd7c2008-11-18 08:44:40 +00003032 Reviewed by Darin Adler.
3033
3034 https://bugs.webkit.org/show_bug.cgi?id=22308
3035 Improve Worker GC behavior
3036
3037 * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
3038 * dom/ActiveDOMObject.h:
3039 Made hasPendingActivity() virtual, letting Worker add behavior to it.
3040
3041 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
3042 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
3043 Tell message proxy whether there are active objects in the worker whenever JS execution
3044 finishes.
3045
3046 * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects):
3047 Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
3048
3049 * dom/Worker.h:
3050 * dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still
3051 loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
3052
3053 * dom/WorkerContext.h:
3054 * dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered
3055 active objects for pending activity.
3056
3057 * dom/WorkerMessagingProxy.cpp:
3058 (WebCore::MessageWorkerContextTask::performTask):
3059 (WebCore::WorkerThreadActivityReportTask::create):
3060 (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask):
3061 (WebCore::WorkerThreadActivityReportTask::performTask):
3062 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
3063 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
3064 (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
3065 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
3066 (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
3067 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity):
3068 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal):
3069 (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
3070 * dom/WorkerMessagingProxy.h:
3071 Track outstanding messages, and activity reported by worker thread.
3072
30732008-11-18 Alexey Proskuryakov <ap@webkit.org>
3074
ap@webkit.org2e143a82008-11-18 08:03:25 +00003075 Rubber-stamped by Darin Adler.
3076
3077 https://bugs.webkit.org/show_bug.cgi?id=22306
3078 Disable channel messaging support
3079
3080 * bindings/js/JSDOMWindowBase.cpp:
3081 (jsDOMWindowBaseMessageChannel):
3082 * page/DOMWindow.idl:
3083 Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel
3084 constructor is added, it remains enumerable, but undefined.
3085
zimmermann@webkit.org4c3a61a2008-11-18 00:04:18 +000030862008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3087
zimmermann@webkit.orgb981deb2008-11-18 00:46:24 +00003088 Reviewed by Mark Rowe.
3089
3090 Remove WBXML code. MainResourceLoader is not an appropriate location.
3091 Revert until we find a better place.
3092
3093 The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
3094 Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.
3095
3096 * WebCore.pro:
3097 * dom/DOMImplementation.cpp:
3098 (WebCore::DOMImplementation::createDocument):
3099 * loader/MainResourceLoader.cpp:
3100 (WebCore::MainResourceLoader::addData):
3101 * platform/MIMETypeRegistry.cpp:
3102 (WebCore::initializeSupportedNonImageMimeTypes):
3103
31042008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3105
zimmermann@webkit.orgba18ade2008-11-18 00:23:28 +00003106 Not reviewed. Build fix.
3107
3108 Oops, disable WML by default on Qt.
3109
3110 * WebCore.pro:
3111
31122008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3113
zimmermann@webkit.org4c3a61a2008-11-18 00:04:18 +00003114 Reviewed by George Staikos.
3115
3116 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
3117
3118 Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
3119 Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
3120
3121 WML is not build by default.
3122
3123 * DerivedSources.make: Handle WMLNames/WMLElementFactory generation.
3124 * GNUmakefile.am: Add new files and generator hooks.
3125 * WebCore.pro: Ditto.
3126 * WebCore.xcodeproj/project.pbxproj: Ditto.
3127 * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG.
3128 (WebCore::linkAttribute):
3129 (WebCore::CSSStyleSelector::styleForElement):c
3130 * css/wml.css: Added.
3131 * dom/DOMImplementation.cpp: Handle WMLDocument creation
3132 (WebCore::DOMImplementation::createDocument):
3133 * dom/Document.cpp: Handle WMLElement creation.
3134 (WebCore::Document::createElement):
3135 * dom/Document.h: Add helper function identifying WML documents.
3136 (WebCore::Document::isWMLDocument):
3137 * dom/Node.h: Add heper function identifying WML elements.
3138 (WebCore::Node::isWMLElement):
3139 * dom/XMLTokenizer.cpp: Handle errors in WML documents
3140 (WebCore::XMLTokenizer::insertErrorMessageBlock):
3141 * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks.
3142 (WebCore::XMLTokenizer::internalSubset):
3143 * dom/XMLTokenizerQt.cpp: Ditto.
3144 (WebCore::):
3145 * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes.
3146 * history/BackForwardList.cpp: Add WML specific function for clearing the history.
3147 (WebCore::BackForwardList::clearWmlPageHistory):
3148 * history/BackForwardList.h:
3149 * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic.
3150 (WebCore::FrameLoader::FrameLoader):
3151 (WebCore::FrameLoader::setForceReloadWmlDeck):
3152 (WebCore::FrameLoader::shouldReload):
3153 (WebCore::FrameLoader::loadItem):
3154 * loader/FrameLoader.h:
3155 * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment)
3156 (WebCore::MainResourceLoader::addData):
3157 * page/Frame.cpp: Initialize WMLNames.
3158 (WebCore::Frame::Frame):
3159 * page/Page.cpp: Maintain WMLPageState object per Page.
3160 (WebCore::Page::Page):
3161 (WebCore::Page::setWMLPageState):
3162 (WebCore::Page::wmlPageState):
3163 * page/Page.h:
3164 * platform/MIMETypeRegistry.cpp: Recognize WML extensions.
3165 (WebCore::initializeSupportedNonImageMimeTypes):
3166 * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto.
3167 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3168 * platform/qt/MIMETypeRegistryQt.cpp: Ditto.
3169 (WebCore::):
3170 * platform/win/MIMETypeRegistryWin.cpp: Ditto.
3171 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3172 * manual-tests/wml: Added.
3173 * manual-tests/wml/a-br-element.wml: Added.
3174 * manual-tests/wml/a-element.wml: Added.
3175 * manual-tests/wml/a-img-element.wml: Added.
3176 * manual-tests/wml/access-target.wml: Added.
3177 * manual-tests/wml/anchor-br-element.wml: Added.
3178 * manual-tests/wml/anchor-element.wml: Added.
3179 * manual-tests/wml/anchor-img-element.wml: Added.
3180 * manual-tests/wml/card-newcontext-attr.wml: Added.
3181 * manual-tests/wml/card-onenterbackward.wml: Added.
3182 * manual-tests/wml/card-onenterforward.wml: Added.
3183 * manual-tests/wml/card-ontimer.wml: Added.
3184 * manual-tests/wml/deck-access-control.wml: Added.
3185 * manual-tests/wml/go-element.wml: Added.
3186 * manual-tests/wml/input-emptyok.wml: Added.
3187 * manual-tests/wml/input-format.wml: Added.
3188 * manual-tests/wml/onevent-go.wml: Added.
3189 * manual-tests/wml/onevent-noop.wml: Added.
3190 * manual-tests/wml/onevent-prev.wml: Added.
3191 * manual-tests/wml/onevent-refresh.wml: Added.
3192 * manual-tests/wml/onevent-shadow.wml: Added.
3193 * manual-tests/wml/postfield-get.wml: Added.
3194 * manual-tests/wml/postfield-post.wml: Added.
3195 * manual-tests/wml/select-element.wml: Added.
3196 * manual-tests/wml/select-onpick-event.wml: Added.
3197 * manual-tests/wml/setvar-element.wml: Added.
3198 * manual-tests/wml/targetdeck.wml: Added.
3199 * manual-tests/wml/task-go-in-anchor.wml: Added.
3200 * manual-tests/wml/task-noop-in-do.wml: Added.
3201 * manual-tests/wml/task-noop-in-onevent.wml: Added.
3202 * manual-tests/wml/task-prev-in-anchor.wml: Added.
3203 * manual-tests/wml/task-refresh-in-anchor.wml: Added.
3204 * manual-tests/wml/template-go.wml: Added.
3205 * manual-tests/wml/template-onevent.wml: Added.
3206 * manual-tests/wml/template-ontimer.wml: Added.
3207 * manual-tests/wml/timer.wml: Added.
3208 * manual-tests/wml/variable-substitution.wml: Added.
3209 * wml: Added.
3210 * wml/WMLAElement.cpp: Added.
3211 (WebCore::WMLAElement::WMLAElement):
3212 (WebCore::WMLAElement::parseMappedAttribute):
3213 (WebCore::WMLAElement::supportsFocus):
3214 (WebCore::WMLAElement::isFocusable):
3215 (WebCore::WMLAElement::isMouseFocusable):
3216 (WebCore::WMLAElement::isKeyboardFocusable):
3217 (WebCore::WMLAElement::defaultEventHandler):
3218 (WebCore::WMLAElement::accessKeyAction):
3219 (WebCore::WMLAElement::isURLAttribute):
3220 (WebCore::WMLAElement::target):
3221 * wml/WMLAElement.h: Added.
3222 * wml/WMLAttributeNames.in: Added.
3223 * wml/WMLCardElement.cpp: Added.
3224 (WebCore::WMLCardElement::WMLCardElement):
3225 * wml/WMLCardElement.h: Added.
3226 * wml/WMLDocument.cpp: Added.
3227 (WebCore::WMLDocument::WMLDocument):
3228 (WebCore::WMLDocument::~WMLDocument):
3229 * wml/WMLDocument.h: Added.
3230 (WebCore::WMLDocument::create):
3231 (WebCore::WMLDocument::isWMLDocument):
3232 * wml/WMLElement.cpp: Added.
3233 (WebCore::WMLElement::WMLElement):
3234 (WebCore::WMLElement::mapToEntry):
3235 (WebCore::WMLElement::parseMappedAttribute):
3236 (WebCore::WMLElement::rendererIsNeeded):
3237 (WebCore::WMLElement::createRenderer):
3238 * wml/WMLElement.h: Added.
3239 (WebCore::WMLElement::isWMLElement):
3240 * wml/WMLPElement.cpp: Added.
3241 (WebCore::WMLPElement::WMLPElement):
3242 (WebCore::WMLPElement::mapToEntry):
3243 (WebCore::WMLPElement::parseMappedAttribute):
3244 * wml/WMLPElement.h: Added.
3245 * wml/WMLPageState.cpp: Added.
3246 (WebCore::WMLPageState::WMLPageState):
3247 (WebCore::WMLPageState::~WMLPageState):
3248 (WebCore::WMLPageState::reset):
3249 (WebCore::WMLPageState::setNeedCheckDeckAccess):
3250 (WebCore::WMLPageState::isDeckAccessible):
3251 * wml/WMLPageState.h: Added.
3252 (WebCore::WMLPageState::storeVariable):
3253 (WebCore::WMLPageState::storeVariables):
3254 (WebCore::WMLPageState::getVaribale):
3255 (WebCore::WMLPageState::hasVariables):
3256 (WebCore::WMLPageState::historyLength):
3257 (WebCore::WMLPageState::setHistoryLength):
3258 (WebCore::WMLPageState::page):
3259 (WebCore::WMLPageState::activeCard):
3260 (WebCore::WMLPageState::setActiveCard):
3261 (WebCore::WMLPageState::setDeckAccessDomain):
3262 (WebCore::WMLPageState::setDeckAccessPath):
3263 (WebCore::WMLPageState::hasDeckAccess):
3264 * wml/WMLTagNames.in: Added.
3265
ggaren@apple.comcc0f1f12008-11-17 23:16:00 +000032662008-11-17 Geoffrey Garen <ggaren@apple.com>
3267
3268 Reviewed by Sam Weinig.
3269
3270 Updated for JavaScriptCore renames.
3271
3272 * WebCore.pro:
3273 * webcore-base.bkl:
3274
justin.garcia@apple.com79bf02b2008-11-17 22:40:50 +000032752008-11-17 Justin Garcia <justin.garcia@apple.com>
3276
3277 Reviewed by Beth Dakin.
3278
3279 <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level
3280
3281 There was code to intentionally avoid quoting pasted content if less than a paragraph of
3282 it was copied. That was added for <rdar://problem/5006779>, but was unnecessary because
3283 that bug was about Paste and Match style for single paragraphs. And quote stripping for
3284 Paste and Match style is handled elsewhere.
3285
3286 * editing/markup.cpp:
3287 (WebCore::createMarkup):
3288
ggaren@apple.com5169fc92008-11-17 22:11:26 +000032892008-11-17 Geoffrey Garen <ggaren@apple.com>
3290
3291 Reviewed by Sam Weinig.
3292
3293 Updated for JavaScriptCore rename.
3294
3295 * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
3296 * ForwardingHeaders/runtime/ExecState.h: Removed.
3297 * bindings/objc/WebScriptObject.mm:
3298 * bridge/c/c_instance.cpp:
3299 * bridge/jni/jni_jsobject.mm:
3300 * dom/Node.cpp:
3301 * dom/NodeFilter.cpp:
3302 * dom/NodeIterator.cpp:
3303 * dom/TreeWalker.cpp:
3304 * inspector/JavaScriptCallFrame.h:
3305
dino@apple.comcc13dec2008-11-17 22:05:27 +000033062008-11-17 Pierre-Olivier Latour <pol@apple.com>
3307
3308 Reviewed by Sam Weinig.
3309
3310 Added functionality to AnimationController to allow pausing a running
3311 animation or transition at a given time for testing purposes.
3312
3313 https://bugs.webkit.org/show_bug.cgi?id=21261
3314
3315 Tests: animations/animation-drt-api.html
3316 transitions/transition-drt-api.html
3317
3318 * WebCore.base.exp:
3319 * WebCore.xcodeproj/project.pbxproj:
3320 * page/animation/AnimationBase.cpp:
3321 (WebCore::AnimationBase::updateStateMachine):
3322 (WebCore::AnimationBase::progress):
3323 (WebCore::AnimationBase::pauseAtTime):
3324 * page/animation/AnimationBase.h:
3325 * page/animation/AnimationController.cpp:
3326 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
3327 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
3328 (WebCore::AnimationController::pauseAnimationAtTime):
3329 (WebCore::AnimationController::pauseTransitionAtTime):
3330 * page/animation/AnimationController.h:
3331 * page/animation/CompositeAnimation.cpp:
3332 (WebCore::CompositeAnimationPrivate::isAnimating):
3333 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
3334 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
3335 (WebCore::CompositeAnimation::pauseAnimationAtTime):
3336 (WebCore::CompositeAnimation::pauseTransitionAtTime):
3337 * page/animation/CompositeAnimation.h:
3338 * page/animation/ImplicitAnimation.cpp:
3339 (WebCore::ImplicitAnimation::animate):
3340
ggaren@apple.com7ee12a52008-11-17 17:23:59 +000033412008-11-17 Geoffrey Garen <ggaren@apple.com>
3342
ggaren@apple.com4240a312008-11-17 17:55:40 +00003343 Reviewed by Sam Weinig.
ggaren@apple.com901a8a22008-11-17 20:57:18 +00003344
3345 Updated for JavaScriptCore renames.
3346
3347 * ForwardingHeaders/VM: Removed.
3348 * ForwardingHeaders/VM/Machine.h: Removed.
3349 * ForwardingHeaders/interpreter: Added.
3350 * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
3351 * WebCore.pro:
3352 * bindings/js/JSXMLHttpRequestCustom.cpp:
3353 * page/Console.cpp:
3354 * webcore-base.bkl:
3355
33562008-11-17 Geoffrey Garen <ggaren@apple.com>
3357
3358 Reviewed by Sam Weinig.
ggaren@apple.com4240a312008-11-17 17:55:40 +00003359
3360 Updated for JavaScriptCore renames.
3361
3362 * ForwardingHeaders/runtime/Interpreter.h: Removed.
3363 * WebCore.vcproj/WebCore.vcproj:
3364 * bindings/js/JSDOMBinding.h:
3365 * bindings/js/WorkerScriptController.cpp:
3366 * bindings/objc/WebScriptObject.mm:
3367 * bridge/NP_jsobject.cpp:
3368 * bridge/jni/jni_jsobject.mm:
3369 * html/CanvasRenderingContext2D.cpp:
3370 * inspector/JavaScriptCallFrame.cpp:
3371 * page/Console.cpp:
3372
33732008-11-17 Geoffrey Garen <ggaren@apple.com>
3374
ggaren@apple.com7ee12a52008-11-17 17:23:59 +00003375 Not reviewed.
3376
3377 Try to fix wx build.
3378
3379 * webcore-base.bkl:
3380
bolsinga@apple.com3362cb52008-11-17 17:11:15 +000033812008-11-17 Greg Bolsinga <bolsinga@apple.com>
3382
3383 Reviewed by Darin Adler.
3384
3385 https://bugs.webkit.org/show_bug.cgi?id=21810
3386 Remove use of static C++ objects that are destroyed at exit time (destructors)
3387
3388 Find some missing DEFINE_STATIC_LOCAL use cases.
3389
3390 * bindings/js/JSSVGPODTypeWrapper.h:
3391 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
3392 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
3393 * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL.
3394 * page/AccessibilityRenderObject.cpp:
3395 (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static.
3396 * platform/graphics/FontCache.cpp:
3397 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
3398 (WebCore::FontDataCacheKeyTraits::emptyValue):
3399 * rendering/style/RenderStyle.h:
3400 (WebCore::InheritedFlags::initialTransform):
3401
ggaren@apple.com8e93cb42008-11-17 17:00:48 +000034022008-11-17 Geoffrey Garen <ggaren@apple.com>
3403
3404 Not reviewed.
3405
3406 Try to fix Qt build.
3407
3408 * WebCore.pro:
3409
simon.fraser@apple.com0ec32ed2008-11-17 03:44:38 +000034102008-11-16 Simon Fraser <simon.fraser@apple.com>
3411
3412 Reviewed by Dan Bernstein
3413
3414 https://bugs.webkit.org/show_bug.cgi?id=22118
3415
3416 Fix resize corner tracking in transformed elements by using
3417 mapping the point into local coords using absoluteToLocal,
3418 rather than convertToLayerCoords.
3419
3420 Test: fast/css/resize-corner-tracking-transformed.html
3421
3422 * page/EventHandler.h:
3423 * rendering/RenderLayer.cpp:
3424 (WebCore::RenderLayer::absoluteToContents):
3425 (WebCore::RenderLayer::offsetFromResizeCorner):
3426 (WebCore::RenderLayer::isPointInResizeControl):
3427 * rendering/RenderLayer.h:
3428
ggaren@apple.com55fadbe2008-11-17 03:17:41 +000034292008-11-16 Geoffrey Garen <ggaren@apple.com>
3430
3431 Not reviewed.
3432
3433 Try to fix Qt build.
3434
3435 * WebCore.pro:
3436
bolsinga@apple.com4f657472008-11-17 01:05:20 +000034372008-11-16 Greg Bolsinga <bolsinga@apple.com>
3438
bolsinga@apple.com3f95fd92008-11-17 02:03:55 +00003439 Reviewed by Geoffrey Garen.
3440
3441 Use RefPtr and PassRefPtr where appropriate.
3442
3443 * loader/FTPDirectoryDocument.cpp:
3444 (WebCore::createTemplateDocumentData):
3445
34462008-11-16 Greg Bolsinga <bolsinga@apple.com>
3447
bolsinga@apple.comeb819292008-11-17 01:43:38 +00003448 Fix build break for real.
3449
3450 * loader/FTPDirectoryDocument.cpp:
3451 (WebCore::createTemplateDocumentData):
3452
34532008-11-16 Greg Bolsinga <bolsinga@apple.com>
3454
bolsinga@apple.com76753b82008-11-17 01:38:39 +00003455 Fix build break and bug.
3456
3457 * loader/FTPDirectoryDocument.cpp:
3458 (WebCore::createTemplateDocumentData):
3459
34602008-11-16 Greg Bolsinga <bolsinga@apple.com>
3461
bolsinga@apple.com4f657472008-11-17 01:05:20 +00003462 Reviewed by Darin Adler.
3463
3464 https://bugs.webkit.org/show_bug.cgi?id=21810
3465 Remove use of static C++ objects that are destroyed at exit time (destructors)
3466
3467 Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
3468 uses of DEFINE_STATIC_LOCAL where appropriate.
3469
3470 * html/HTMLTableElement.cpp:
3471 (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings
3472 * loader/CachedImage.cpp:
3473 (WebCore::brokenImage):
3474 (WebCore::nullImage):
3475 * loader/FTPDirectoryDocument.cpp:
3476 (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization
3477 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
3478 * loader/icon/IconDatabase.cpp:
3479 (WebCore::loadDefaultIconRecord):
3480 * page/AccessibilityObject.cpp:
3481 (WebCore::AccessibilityObject::actionVerb):
3482 * page/AccessibilityRenderObject.cpp:
3483 (WebCore::AccessibilityRenderObject::actionVerb):
3484 * page/mac/EventHandlerMac.mm:
3485 (WebCore::currentEvent):
3486 * platform/ScrollView.cpp:
3487 (WebCore::ScrollView::paint):
3488 * platform/graphics/Image.cpp:
3489 (WebCore::Image::nullImage):
3490 * platform/graphics/mac/ColorMac.mm:
3491 (WebCore::nsColor):
3492 * platform/graphics/mac/FontCacheMac.mm: new the Strings
3493 (WebCore::FontCache::getSimilarFontPlatformData):
3494 * platform/graphics/mac/GraphicsContextMac.mm:
3495 (WebCore::_createPatternColor): Created so accessor has one line initialization
3496 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3497 * platform/graphics/mac/SimpleFontDataMac.mm:
3498 (WebCore::webFallbackFontFamily):
3499 * platform/mac/PasteboardMac.mm:
3500 (WebCore::writableTypesForURL):
3501 (WebCore::createWritableTypesForImage): Created so accessor has one line initialization
3502 (WebCore::writableTypesForImage):
3503 (WebCore::stripAttachmentCharacters):
3504 * rendering/RenderLayer.cpp:
3505 (WebCore::RenderLayer::paintResizer):
3506
zecke@webkit.orgd5d3c932008-11-16 21:49:45 +000035072008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
3508
zecke@webkit.orgedac5ce2008-11-16 21:53:28 +00003509 Reviewed by Darin Adler.
3510
3511 Do not spit Curl errors into the stdout as this is used by DRT
3512
3513 We have failing tests results due the curl errors printed to stdout,
3514 move them to stderr to be able to pass those tests.
3515
3516 * platform/network/curl/ResourceHandleManager.cpp:
3517 (WebCore::ResourceHandleManager::startJob):
3518
35192008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
3520
zecke@webkit.orgd5d3c932008-11-16 21:49:45 +00003521 - fix the Gtk+ build
3522
3523 * GNUmakefile.am:
3524
darin@apple.com21f89012008-11-16 19:39:03 +000035252008-11-16 Darin Adler <darin@apple.com>
3526
darin@apple.com9c9341a2008-11-16 20:07:27 +00003527 - try to fix Qt build
3528
3529 * WebCore.pro: Add the worker-related source files.
3530
35312008-11-16 Darin Adler <darin@apple.com>
3532
darin@apple.comda5c6a12008-11-16 19:58:28 +00003533 Suggested by Alexey Proskuryakov.
3534
3535 - fix the GTK build another way
3536
3537 * GNUmakefile.am: Add the worker-related source files.
3538 * bindings/js/JSEventTarget.cpp: Take the #if back out.
3539
35402008-11-16 Darin Adler <darin@apple.com>
3541
darin@apple.com4c044bb2008-11-16 19:51:12 +00003542 - try to fix GTK build
3543
3544 * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
3545
35462008-11-16 Darin Adler <darin@apple.com>
3547
darin@apple.com21f89012008-11-16 19:39:03 +00003548 Reviewed by Dan Bernstein.
3549
3550 - https://bugs.webkit.org/show_bug.cgi?id=22295
3551 track which history items are from page load failures
3552
3553 * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
3554 no-longer-needed ones.
3555 (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
3556 (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
3557 String, since that's not efficient.
3558
3559 * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
3560 setLastVisitWasFailure, and m_lastVisitWasFailure.
3561
3562 * history/mac/HistoryItemMac.mm: Add newly-needed include
3563 (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
3564 m_transientProperties map around when it is empty.
3565
3566 * loader/FrameLoader.cpp:
3567 (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
3568 the page was unreachable or an HTTP page with a status code that indicates
3569 failure.
3570
staikos@webkit.org01b961b2008-11-16 12:45:29 +000035712008-11-16 Yong Li <yong.li@torchmobile.com>
3572
3573 Reviewed by Timothy Hatcher.
3574 Landed by George Staikos.
3575
3576 Optimization: don't relayout, repaint, or emit a DOM event if the
3577 scroll event didn't scroll anywhere.
3578
3579 * rendering/RenderLayer.cpp:
3580 (WebCore::RenderLayer::scrollToOffset): add early exit
3581
ap@webkit.org5248e232008-11-16 10:05:23 +000035822008-11-16 Alexey Proskuryakov <ap@webkit.org>
3583
3584 Reviewed by Dan Bernstein.
3585
3586 https://bugs.webkit.org/show_bug.cgi?id=22290
3587 Remove cross-heap GC and MessagePort multi-threading support
3588
3589 It is broken (and may not be implementable at all), and no longer needed, as we
3590 don't use MessagePorts for communication with workers any more.
3591
3592 * bindings/js/JSDOMBinding.cpp:
3593 * bindings/js/JSDOMBinding.h:
3594 * bindings/js/JSDOMWindowBase.cpp:
3595 * bindings/js/JSDOMWindowBase.h:
3596 Removed cross-heap GC implementation.
3597
3598 * dom/MessagePort.cpp:
3599 (WebCore::MessagePort::hasPendingActivity):
3600 * dom/MessagePort.h:
3601 Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
3602 unnecessarily complicated for single threaded case.
3603
ap@webkit.orge2011e82008-11-16 09:11:54 +000036042008-11-14 Alexey Proskuryakov <ap@webkit.org>
3605
3606 Reviewed by Maciej Stachowiak.
3607
3608 https://bugs.webkit.org/show_bug.cgi?id=22266
3609 Stop using MessagePort for communication with workers
3610
3611 The current MessagePort specification is not well suited for being implemented in a
3612 multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
3613 This patch implements a simpler Mozilla API for workers instead.
3614
3615 * WebCore.xcodeproj/project.pbxproj:
3616 * DerivedSources.make:
3617 * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
3618 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
3619 * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
3620 * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
3621 * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
3622 * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
3623 * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
3624 * dom/DedicatedWorker.cpp: Removed.
3625 * dom/DedicatedWorker.h: Removed.
3626 * dom/DedicatedWorker.idl: Removed.
3627 Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
3628
3629 * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):
3630 Clear worker exceptions to avoid hitting an assertion.
3631
3632 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
3633 * dom/EventTarget.h:
3634 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
3635 WorkerContext is now an EventTarget, too.
3636
3637 * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and
3638 MessagePort. Added postMessage() and onmessage.
3639
3640 * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext
3641 when posting a task - this operation is not thread safe. It is also not necessary any more,
3642 as the context is kept alive by WorkerMessagingProxy.
3643
3644 * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp.
3645 (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do
3646 that on a timer.
3647 (WebCore::Worker::~Worker): Notify messaging proxy.
3648 (WebCore::Worker::postMessage): Just ask the proxy to post the message.
3649 (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes
3650 available. Also, it is now safe to unsetPendingActivity(), making the object collectable.
3651 I'm not sure if this is the right lifetime for workers, as unreachable workers with event
3652 listeners should probably be kept alive, but it at least lets the object be collected.
3653 (WebCore::Worker::addEventListener): Added an EventTarget implementation.
3654 (WebCore::Worker::removeEventListener): Added an EventTarget implementation.
3655 (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
3656
3657 * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
3658 * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl.
3659 Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
3660
3661 * dom/WorkerContext.cpp:
3662 (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut
3663 down successfully.
3664 (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
3665
3666 * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
3667
3668 * dom/WorkerMessagingProxy.cpp: Added.
3669 * dom/WorkerMessagingProxy.h: Added.
3670 This new class implements actual messaging. It is notified when a Worker is garbage collected,
3671 and asks the thread to shut down. It also owns the thread object, and references script
3672 execution context, making it safe to post messages to it remotely.
3673
3674 * dom/WorkerThread.cpp:
3675 * dom/WorkerThread.h:
3676 Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer
3677 keeps itself alive - it is now the job of messaging proxy.
3678
darin@apple.com3f57a492008-11-16 04:35:22 +000036792008-11-15 Darin Adler <darin@apple.com>
3680
darin@apple.coma9778f92008-11-16 04:40:06 +00003681 Rubber stamped by Geoff Garen.
3682
3683 - do the long-planned StructureID -> Structure rename
3684
3685 * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
3686 * ForwardingHeaders/runtime/StructureID.h: Removed.
3687 * bindings/js/JSAudioConstructor.cpp:
3688 (WebCore::JSAudioConstructor::JSAudioConstructor):
3689 * bindings/js/JSDOMBinding.cpp:
3690 (WebCore::getCachedDOMStructure):
3691 (WebCore::cacheDOMStructure):
3692 * bindings/js/JSDOMBinding.h:
3693 (WebCore::DOMObject::DOMObject):
3694 (WebCore::getDOMStructure):
3695 * bindings/js/JSDOMGlobalObject.cpp:
3696 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3697 * bindings/js/JSDOMGlobalObject.h:
3698 * bindings/js/JSDOMWindowBase.cpp:
3699 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3700 * bindings/js/JSDOMWindowBase.h:
3701 * bindings/js/JSDOMWindowShell.cpp:
3702 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3703 (WebCore::JSDOMWindowShell::setWindow):
3704 * bindings/js/JSDOMWindowShell.h:
3705 (WebCore::JSDOMWindowShell::createStructure):
3706 * bindings/js/JSDedicatedWorkerConstructor.cpp:
3707 (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
3708 * bindings/js/JSHTMLAllCollection.h:
3709 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
3710 (WebCore::JSHTMLAllCollection::createStructure):
3711 * bindings/js/JSImageConstructor.cpp:
3712 (WebCore::JSImageConstructor::JSImageConstructor):
3713 * bindings/js/JSInspectedObjectWrapper.cpp:
3714 (WebCore::JSInspectedObjectWrapper::wrap):
3715 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
3716 * bindings/js/JSInspectedObjectWrapper.h:
3717 * bindings/js/JSInspectorCallbackWrapper.cpp:
3718 (WebCore::leakInspectorCallbackWrapperStructure):
3719 (WebCore::JSInspectorCallbackWrapper::wrap):
3720 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
3721 * bindings/js/JSInspectorCallbackWrapper.h:
3722 * bindings/js/JSMessageChannelConstructor.cpp:
3723 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
3724 * bindings/js/JSNamedNodesCollection.h:
3725 (WebCore::JSNamedNodesCollection::createStructure):
3726 * bindings/js/JSOptionConstructor.cpp:
3727 (WebCore::JSOptionConstructor::JSOptionConstructor):
3728 * bindings/js/JSQuarantinedObjectWrapper.cpp:
3729 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
3730 * bindings/js/JSQuarantinedObjectWrapper.h:
3731 (WebCore::JSQuarantinedObjectWrapper::createStructure):
3732 * bindings/js/JSRGBColor.h:
3733 (WebCore::JSRGBColor::createStructure):
3734 * bindings/js/JSWorkerContext.cpp:
3735 (WebCore::createJSWorkerContextStructure):
3736 (WebCore::JSWorkerContext::JSWorkerContext):
3737 (WebCore::JSWorkerContext::createPrototype):
3738 * bindings/js/JSWorkerContext.h:
3739 (WebCore::JSWorkerContext::createStructure):
3740 (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
3741 (WebCore::JSWorkerContextPrototype::createStructure):
3742 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3743 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3744 * bindings/js/JSXSLTProcessorConstructor.cpp:
3745 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
3746 * bindings/scripts/CodeGeneratorJS.pm:
3747 * bridge/objc/objc_runtime.h:
3748 (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
3749 * bridge/qt/qt_runtime.cpp:
3750 (JSC::Bindings::QtConnectionObject::execute):
3751 * bridge/qt/qt_runtime.h:
3752 (JSC::Bindings::QtRuntimeMethod::createStructure):
3753 * bridge/runtime_array.h:
3754 (JSC::RuntimeArray::createStructure):
3755 * bridge/runtime_method.h:
3756 (JSC::RuntimeMethod::createStructure):
3757 * bridge/runtime_object.cpp:
3758 (JSC::RuntimeObjectImp::RuntimeObjectImp):
3759 * bridge/runtime_object.h:
3760 (JSC::RuntimeObjectImp::createStructure):
3761
37622008-11-15 Darin Adler <darin@apple.com>
3763
darin@apple.com3f57a492008-11-16 04:35:22 +00003764 Reviewed by Dan Bernstein.
3765
3766 - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test
3767
3768 This gets rid of the crash. It restores the behavior of the CG case from before Dirk
3769 Shulze removed the platorm-dependent code, but perhaps it should be changed further
3770 in the future so that the default for no style is "no stroke". I think the patch is
3771 fine for fill.
3772
3773 * svg/graphics/SVGPaintServerSolid.cpp:
3774 (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
3775 (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
3776
kevino@webkit.org3aafa582008-11-15 23:39:35 +000037772008-11-15 Kevin Ollivier <kevino@theolliviers.com>
3778
3779 Reviewed by Timothy Hatcher.
3780
3781 Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.
3782
3783 https://bugs.webkit.org/show_bug.cgi?id=22284
3784
3785 * platform/network/NetworkStateNotifier.h:
3786 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
3787
krit@webkit.org290bb732008-11-15 20:48:41 +000037882008-11-15 Dirk Schulze <krit@webkit.org>
3789
krit@webkit.org32f135b2008-11-15 23:24:04 +00003790 Reviewed by Geoffrey Garen.
3791
3792 r38426 caused a wrong drawing of a LayoutTest. Use another
3793 way to set the color to pass this test again.
3794
3795 * svg/graphics/SVGPaintServerSolid.cpp:
3796 (WebCore::SVGPaintServerSolid::setup):
3797
37982008-11-15 Dirk Schulze <krit@webkit.org>
3799
krit@webkit.org290bb732008-11-15 20:48:41 +00003800 Reviewed by Darin Adler.
3801
3802 Removed platform dependent code on SVGPaintServerSolid.
3803
3804 * GNUmakefile.am:
3805 * WebCore.pro:
3806 * WebCore.vcproj/WebCore.vcproj:
3807 * WebCore.xcodeproj/project.pbxproj:
3808 * svg/graphics/SVGPaintServerSolid.cpp:
3809 (WebCore::SVGPaintServerSolid::setup):
3810 (WebCore::SVGPaintServerSolid::renderPath):
3811 * svg/graphics/SVGPaintServerSolid.h:
3812 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
3813 * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
3814 * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
3815
ggaren@apple.comb7024cd2008-11-15 19:55:20 +000038162008-11-15 Geoffrey Garen <ggaren@apple.com>
3817
3818 Reviewed by Sam Weinig.
3819
3820 Updated for JavaScriptCore renames.
3821
3822 * bindings/js/JSNodeCustom.cpp:
3823 (WebCore::JSNode::mark):
3824 * bindings/js/JSXMLHttpRequestCustom.cpp:
3825 (WebCore::JSXMLHttpRequest::send):
3826 * bindings/js/ScriptController.cpp:
3827 (WebCore::ScriptController::evaluate):
3828 * bindings/js/WorkerScriptController.cpp:
3829 (WebCore::WorkerScriptController::evaluate):
3830 * bindings/objc/WebScriptObject.mm:
3831 (-[WebScriptObject evaluateWebScript:]):
3832 * bridge/NP_jsobject.cpp:
3833 (_NPN_Evaluate):
3834 * bridge/jni/jni_jsobject.mm:
3835 (JavaJSObject::eval):
3836 * page/Console.cpp:
3837 (WebCore::retrieveLastCaller):
3838 (WebCore::Console::trace):
3839
bolsinga@apple.com97e42c42008-11-15 04:47:20 +000038402008-11-14 Greg Bolsinga <bolsinga@apple.com>
3841
3842 Reviewed by Darin Adler.
3843
3844 https://bugs.webkit.org/show_bug.cgi?id=21810
3845 Remove use of static C++ objects that are destroyed at exit time (destructors)
3846
3847 Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
3848 exit-time destructor. Update code that was changed to fix this issue that ran
3849 into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
3850 in gcc build 5465). Also typdefs for template types needed to be added in some
3851 cases so the type could make it through the macro successfully.
3852
3853 Basically code of the form:
3854 static T m;
3855 becomes:
3856 DEFINE_STATIC_LOCAL(T, m, ());
3857
3858 Also any code of the form:
3859 static T& m = *new T;
3860 also becomes:
3861 DEFINE_STATIC_LOCAL(T, m, ());
3862
3863 * ForwardingHeaders/wtf/StdLibExtras.h: Added.
3864 * bindings/js/GCController.cpp:
3865 (WebCore::gcController):
3866 * bindings/js/JSDOMBinding.cpp:
3867 (WebCore::wrapperSet):
3868 * bindings/js/JSInspectedObjectWrapper.cpp:
3869 (WebCore::wrappers):
3870 * bindings/js/JSInspectorCallbackWrapper.cpp:
3871 (WebCore::wrappers):
3872 * bindings/js/JSNavigatorCustom.cpp:
3873 (WebCore::needsYouTubeQuirk):
3874 * bridge/runtime_root.cpp:
3875 (JSC::Bindings::rootObjectSet):
3876 * css/CSSMutableStyleDeclaration.cpp:
3877 (WebCore::initShorthandMap):
3878 (WebCore::CSSMutableStyleDeclaration::removeProperty):
3879 * css/CSSPrimitiveValue.cpp:
3880 (WebCore::CSSPrimitiveValue::cssText):
3881 * css/CSSSelector.cpp:
3882 (WebCore::CSSSelector::extractPseudoType):
3883 * css/CSSStyleSelector.cpp:
3884 (WebCore::screenEval):
3885 (WebCore::printEval):
3886 * dom/DOMImplementation.cpp:
3887 (WebCore::addString):
3888 (WebCore::isSVG10Feature):
3889 (WebCore::isSVG11Feature):
3890 (WebCore::DOMImplementation::isXMLMIMEType):
3891 * dom/Document.cpp:
3892 (WebCore::Document::hasPrefixNamespaceMismatch):
3893 * dom/ScriptElement.cpp:
3894 (WebCore::isSupportedJavaScriptLanguage):
3895 * editing/ApplyStyleCommand.cpp:
3896 (WebCore::styleSpanClassString):
3897 * editing/HTMLInterchange.cpp:
3898 (WebCore::):
3899 * editing/IndentOutdentCommand.cpp:
3900 (WebCore::indentBlockquoteString):
3901 * editing/ReplaceSelectionCommand.cpp:
3902 (WebCore::isInterchangeNewlineNode):
3903 (WebCore::isInterchangeConvertedSpaceSpan):
3904 * editing/htmlediting.cpp:
3905 (WebCore::stringWithRebalancedWhitespace):
3906 (WebCore::nonBreakingSpaceString):
3907 * editing/markup.cpp:
3908 (WebCore::appendAttributeValue):
3909 (WebCore::appendEscapedContent):
3910 (WebCore::shouldAddNamespaceAttr):
3911 (WebCore::appendNamespace):
3912 (WebCore::appendStartMarkup):
3913 (WebCore::createMarkup):
3914 * html/HTMLButtonElement.cpp:
3915 (WebCore::HTMLButtonElement::type):
3916 * html/HTMLElement.cpp:
3917 (WebCore::HTMLElement::isRecognizedTagName):
3918 (WebCore::inlineTagList):
3919 (WebCore::blockTagList):
3920 * html/HTMLFieldSetElement.cpp:
3921 (WebCore::HTMLFieldSetElement::type):
3922 * html/HTMLInputElement.cpp:
3923 (WebCore::HTMLInputElement::type):
3924 * html/HTMLKeygenElement.cpp:
3925 (WebCore::HTMLKeygenElement::type):
3926 * html/HTMLLegendElement.cpp:
3927 (WebCore::HTMLLegendElement::type):
3928 * html/HTMLOptGroupElement.cpp:
3929 (WebCore::HTMLOptGroupElement::type):
3930 * html/HTMLOptionElement.cpp:
3931 (WebCore::HTMLOptionElement::type):
3932 * html/HTMLParser.cpp:
3933 (WebCore::HTMLParser::getNode):
3934 (WebCore::HTMLParser::isHeaderTag):
3935 (WebCore::HTMLParser::isResidualStyleTag):
3936 (WebCore::HTMLParser::isAffectedByResidualStyle):
3937 * html/HTMLSelectElement.cpp:
3938 (WebCore::HTMLSelectElement::type):
3939 * html/HTMLTextAreaElement.cpp:
3940 (WebCore::HTMLTextAreaElement::type):
3941 * inspector/InspectorController.cpp:
3942 (WebCore::platform):
3943 * inspector/JavaScriptDebugServer.cpp:
3944 (WebCore::JavaScriptDebugServer::shared):
3945 * inspector/JavaScriptProfile.cpp:
3946 (WebCore::profileCache):
3947 * inspector/JavaScriptProfileNode.cpp:
3948 (WebCore::profileNodeCache):
3949 * loader/FrameLoader.cpp:
3950 (WebCore::localSchemes):
3951 * loader/appcache/ApplicationCacheStorage.cpp:
3952 (WebCore::cacheStorage):
3953 * loader/archive/ArchiveFactory.cpp:
3954 (WebCore::archiveMIMETypes):
3955 (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
3956 * loader/icon/IconDatabase.cpp:
3957 (WebCore::IconDatabase::defaultDatabaseFilename):
3958 * page/EventHandler.cpp:
3959 (WebCore::EventHandler::dragState):
3960 * page/Frame.cpp:
3961 (WebCore::createRegExpForLabels):
3962 (WebCore::keepAliveSet):
3963 * page/Page.cpp:
3964 (WebCore::Page::groupName):
3965 * page/SecurityOrigin.cpp:
3966 (WebCore::isDefaultPortForProtocol):
3967 (WebCore::SecurityOrigin::databaseIdentifier):
3968 * page/mac/FrameMac.mm:
3969 (WebCore::regExpForLabels):
3970 * platform/KURL.cpp:
3971 (WebCore::blankURL):
3972 * platform/graphics/FontCache.cpp:
3973 (WebCore::alternateFamilyName):
3974 * platform/graphics/mac/FontCacheMac.mm:
3975 (WebCore::FontCache::getSimilarFontPlatformData):
3976 (WebCore::FontCache::getLastResortFallbackFont):
3977 * platform/mac/CursorMac.mm:
3978 (WebCore::leakNamedCursor):
3979 (WebCore::pointerCursor):
3980 (WebCore::crossCursor):
3981 (WebCore::handCursor):
3982 (WebCore::moveCursor):
3983 (WebCore::verticalTextCursor):
3984 (WebCore::cellCursor):
3985 (WebCore::contextMenuCursor):
3986 (WebCore::aliasCursor):
3987 (WebCore::zoomInCursor):
3988 (WebCore::zoomOutCursor):
3989 (WebCore::copyCursor):
3990 (WebCore::noneCursor):
3991 (WebCore::progressCursor):
3992 (WebCore::noDropCursor):
3993 (WebCore::notAllowedCursor):
3994 (WebCore::iBeamCursor):
3995 (WebCore::waitCursor):
3996 (WebCore::helpCursor):
3997 (WebCore::eastResizeCursor):
3998 (WebCore::northResizeCursor):
3999 (WebCore::northEastResizeCursor):
4000 (WebCore::northWestResizeCursor):
4001 (WebCore::southResizeCursor):
4002 (WebCore::southEastResizeCursor):
4003 (WebCore::southWestResizeCursor):
4004 (WebCore::westResizeCursor):
4005 (WebCore::northSouthResizeCursor):
4006 (WebCore::eastWestResizeCursor):
4007 (WebCore::northEastSouthWestResizeCursor):
4008 (WebCore::northWestSouthEastResizeCursor):
4009 (WebCore::columnResizeCursor):
4010 (WebCore::rowResizeCursor):
4011 (WebCore::grabCursor):
4012 (WebCore::grabbingCursor):
4013 * platform/mac/ScrollbarThemeMac.mm:
4014 (WebCore::ScrollbarTheme::nativeTheme):
4015 * platform/mac/ThemeMac.mm:
4016 (WebCore::platformTheme):
4017 * platform/mac/ThreadCheck.mm:
4018 (WebCoreReportThreadViolation):
4019 * platform/network/NetworkStateNotifier.cpp:
4020 (WebCore::networkStateNotifier):
4021 * platform/network/mac/FormDataStreamMac.mm:
4022 (WebCore::getStreamFormDataMap):
4023 (WebCore::getStreamResourceHandleMap):
4024 * platform/network/mac/ResourceResponseMac.mm:
4025 (WebCore::ResourceResponse::platformLazyInit):
4026 * platform/text/TextEncoding.cpp:
4027 (WebCore::TextEncoding::isJapanese):
4028 * plugins/PluginMainThreadScheduler.cpp:
4029 (WebCore::PluginMainThreadScheduler::scheduler):
4030 * rendering/RenderBlock.cpp:
4031 (WebCore::continuationOutlineTable):
4032 (WebCore::RenderBlock::addContinuationWithOutline):
4033 (WebCore::RenderBlock::paintContinuationOutlines):
4034 * rendering/RenderCounter.cpp:
4035 (WebCore::counterMaps):
4036 * rendering/RenderFlexibleBox.cpp:
4037 (WebCore::RenderFlexibleBox::layoutVerticalBox):
4038 * rendering/RenderListItem.cpp:
4039 (WebCore::RenderListItem::markerText):
4040 * rendering/RenderScrollbarTheme.cpp:
4041 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
4042 * rendering/RenderThemeMac.mm:
4043 (WebCore::RenderThemeMac::systemFont):
4044 * rendering/bidi.cpp:
4045 (WebCore::RenderBlock::checkLinesForTextOverflow):
4046 * rendering/style/RenderStyle.cpp:
4047 (WebCore::RenderStyle::initialDashboardRegions):
4048 (WebCore::RenderStyle::noneDashboardRegions):
4049 * storage/Database.cpp:
4050 (WebCore::guidMutex):
4051 (WebCore::guidToVersionMap):
4052 (WebCore::guidToDatabaseMap):
4053 (WebCore::Database::databaseInfoTableName):
4054 (WebCore::databaseVersionKey):
4055 (WebCore::Database::getVersionFromDatabase):
4056 (WebCore::Database::setVersionInDatabase):
4057 (WebCore::guidForOriginAndName):
4058 * storage/DatabaseTracker.cpp:
4059 (WebCore::DatabaseTracker::tracker):
4060 (WebCore::notificationMutex):
4061 (WebCore::notificationQueue):
4062 * storage/LocalStorage.cpp:
4063 (WebCore::localStorageMap):
4064 * svg/SVGAnimateMotionElement.cpp:
4065 (WebCore::SVGAnimateMotionElement::rotateMode):
4066 * svg/SVGAnimationElement.cpp:
4067 (WebCore::SVGAnimationElement::calcMode):
4068 (WebCore::SVGAnimationElement::attributeType):
4069 (WebCore::SVGAnimationElement::isAdditive):
4070 (WebCore::SVGAnimationElement::isAccumulated):
4071 * svg/SVGLangSpace.cpp:
4072 (WebCore::SVGLangSpace::xmlspace):
4073 * svg/SVGSVGElement.cpp:
4074 (WebCore::SVGSVGElement::contentScriptType):
4075 (WebCore::SVGSVGElement::contentStyleType):
4076 * svg/SVGStyleElement.cpp:
4077 (WebCore::SVGStyleElement::type):
4078 (WebCore::SVGStyleElement::media):
4079 * svg/SVGTextContentElement.cpp:
4080 (WebCore::SVGTextContentElement::parseMappedAttribute):
4081 * svg/animation/SVGSMILElement.cpp:
4082 (WebCore::SVGSMILElement::parseClockValue):
4083 (WebCore::SVGSMILElement::restart):
4084 (WebCore::SVGSMILElement::fill):
4085 (WebCore::SVGSMILElement::repeatCount):
4086 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
4087 * svg/graphics/SVGResource.cpp:
4088 (WebCore::clientMap):
4089 (WebCore::SVGResource::removeClient):
4090 * svg/graphics/SVGResourceMarker.cpp:
4091 (WebCore::SVGResourceMarker::draw):
4092 * xml/XMLHttpRequest.cpp:
4093 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
4094 (WebCore::preflightResultCache):
4095 (WebCore::appendPreflightResultCacheEntry):
4096 (WebCore::isSafeRequestHeader):
4097 (WebCore::isOnAccessControlResponseHeaderWhitelist):
4098 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
4099 * xml/XPathExpressionNode.cpp:
4100 (WebCore::XPath::Expression::evaluationContext):
4101 * xml/XPathParser.cpp:
4102 (WebCore::XPath::setUpAxisNamesMap):
4103 (WebCore::XPath::isAxisName):
4104 (WebCore::XPath::isNodeTypeName):
4105 * xml/XPathValue.cpp:
4106 (WebCore::XPath::Value::toNodeSet):
4107
mitz@apple.comddf9b8c2008-11-15 04:24:35 +000041082008-11-14 Dan Bernstein <mitz@apple.com>
4109
4110 - attempt to fix the Qt build
4111
4112 * platform/qt/Localizations.cpp:
4113 (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
4114 needs to go somewhere else in addition to here.
4115
kevino@webkit.org66e6bed2008-11-15 03:25:08 +000041162008-11-14 Kevin Ollivier <kevino@theolliviers.com>
4117
4118 wx build fix.
4119
4120 * platform/wx/LocalizedStringsWx.cpp:
4121 (WebCore::contextMenuItemTagTextDirectionMenu):
4122
mitz@apple.comd6ceec82008-11-14 23:50:00 +000041232008-11-14 Dan Bernstein <mitz@apple.com>
4124
4125 Reviewed by Darin Adler.
4126
4127 - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
4128 - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
4129
4130 * WebCore.base.exp: Exported
4131 WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
4132
4133 * editing/ApplyStyleCommand.cpp:
4134 (StyleChange::init): Changed to always include the direction property
4135 in the result if the unicode-bidi property is included.
4136 (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
4137 highest ancestor of the given node that establishes bidi embedding. If
4138 that embedding agrees with the given allowed direction, finds the
4139 second-highest embedding ancestor. Splits all nodes through that
4140 ancestor. If the highest embedding ancestor did not need to be split,
4141 it is returned.
4142 (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
4143 bidi embedding attributes and styles from all ancestors of the given
4144 node up to its enclosing block or the given node.
4145 (ApplyStyleCommand::applyInlineStyle): Added code to handle the
4146 unicode-bidi property. Applying style the includes this property
4147 involves removing all bidi embedding in effect, except for one-level
4148 embedding that agrees with the desired embedding, then applying the
4149 desired embedding where it is not already in effect.
4150 (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
4151 applyInlineStyle().
4152 (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
4153 "dir" attribute if necessary and the element if it becomes an unstyled
4154 style span.
4155 (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
4156 property when removing the unicode-bidi property.
4157 (ApplyStyleCommand::removeInlineStyle): Added a call to
4158 removeHTMLBidiEmbeddingStyle().
4159
4160 * editing/ApplyStyleCommand.h:
4161 * editing/Editor.cpp:
4162 (Editor::textDirectionForSelection): Added. Returns the character-level
4163 writing direction of the selection if it is uniform and simple (at most
4164 one level of embedding).
4165 (Editor::hasBidiSelection): Added. Returns true if the selection lies
4166 entirely within a single block, and that block has direction:rtl or
4167 contains any inline boxes with non-zero bidi embedding level.
4168
4169 * editing/Editor.h:
4170 * editing/EditorCommand.cpp:
4171 (stateTextWritingDirection): Added this helper function for deciding
4172 the state of Text Direction submenu items.
4173 (executeMakeTextWritingDirectionLeftToRight): Added. Applies
4174 "unicode-bidi: embed; direction: ltr;".
4175 (executeMakeTextWritingDirectionNatural): Added. Applies
4176 "unicode-bidi: normal;"
4177 (executeMakeTextWritingDirectionRightToLeft): Added. Applies
4178 "unicode-bidi: embed; direction: rtl;".
4179 (stateTextWritingDirectionLeftToRight): Added.
4180 (stateTextWritingDirectionNatural): Added.
4181 (stateTextWritingDirectionRightToLeft): Added.
4182 (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
4183 "MakeTextWritingDirectionNatural",
4184 and "MakeTextWritingDirectionRightToLeft".
4185
4186 * editing/InsertTextCommand.cpp:
4187 (InsertTextCommand::input): Added code to maintain the unicode-bidi
4188 and direction properties in the typing style. Even if they have the
4189 same values as the computed style at the caret, they need to be included
4190 in the typing style so that inserted text will not inherit any nested
4191 embedding.
4192
4193 * page/ContextMenuController.cpp:
4194 (ContextMenuController::contextMenuItemSelected): Added calls to
4195 the editor for the text direction menu items.
4196
4197 * page/Frame.cpp
4198 (Frame::computeAndSetTypingStyle): Added code to maintain the
4199 unicode-bidi and direction properties in the typing style.
4200
4201 * page/Settings.cpp:
4202 (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
4203
4204 * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
4205 an m_textDirectionSubmenuInclusionBehavior member, and accessors.
4206
4207 * page/mac/WebCoreViewFactory.h:
4208 * platform/ContextMenu.cpp:
4209 (WebCore::createAndAppendTextDirectionSubMenu): Added.
4210 (ContextMenu::populate): Added the Text Direction submenu item based on
4211 the inclusion behavior and the existence of a bidi selection.
4212 (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
4213 menu items.
4214
4215 * platform/ContextMenuItem.h:
4216 * platform/LocalizedStrings.h: Declared
4217 contextMenuItemTagTextDirectionMenu().
4218
4219 * platform/mac/LocalizedStringsMac.mm: Defined
4220 contextMenuItemTagTextDirectionMenu().
4221
4222 * rendering/RenderBlock.cpp:
4223 (RenderBlock::containsNonZeroBidiLevel): Added.
4224 * rendering/RenderBlock.h:
4225
bolsinga@apple.comf5045502008-11-14 23:48:26 +000042262008-11-14 Greg Bolsinga <bolsinga@apple.com>
4227
4228 Reviewed by Darin Adler.
4229
4230 https://bugs.webkit.org/show_bug.cgi?id=22264
4231 Need to update to latest Geolocation spec (13 November 2008)
4232
4233 Update to new error code constants and values.
4234
4235 * page/Geolocation.cpp: Use new named ErrorCode enums
4236 (WebCore::Geolocation::GeoNotifier::timerFired):
4237 (WebCore::Geolocation::getCurrentPosition):
4238 (WebCore::Geolocation::watchPosition):
4239 * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
4240 (WebCore::PositionError::):
4241 * page/PositionError.idl: Add new named error constants
4242
bdakin@apple.comf6ce38c2008-11-14 23:37:50 +000042432008-11-14 Beth Dakin <bdakin@apple.com>
4244
4245 Reviewed by Justin Garcia.
4246
4247 Fix (again) for <rdar://problem/5089327> Too much indentation when
4248 pasting quoted paragraphs
4249
4250 This patch goes back to Justin's original approach to fix this bug,
4251 written in revision 38273. That fix was mostly rolled out by
4252 revision 38310 because of styling issues created by the addition of
4253 extra blockquote nodes. This patch again goes back to Justin's
4254 original fix because of cases we discovered the newer fix could not
4255 possibly cover. This version of the patch minimizes the styling
4256 issues of extra blockquotes by opting into the merge start code.
4257
4258 * editing/ReplaceSelectionCommand.cpp:
4259 (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to
4260 return true when the quoting level of the end of the inserted
4261 content matches the quoting level of the end of the existing
4262 content.
4263 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls
4264 hasMatchingQuoteLevel
4265 (WebCore::ReplaceSelectionCommand::doApply):
4266
eric@webkit.org0dd61062008-11-14 21:41:56 +000042672008-11-14 Dirk Schulze <vbs85@gmx.de>
4268
4269 Reviewed by Eric Seidel.
4270
4271 Made SVGResourceClipper platform independent.
4272 https://bugs.webkit.org/show_bug.cgi?id=21444
4273
4274 * GNUmakefile.am:
4275 * WebCore.pro:
4276 * WebCore.vcproj/WebCore.vcproj:
4277 * WebCore.xcodeproj/project.pbxproj:
4278 * platform/graphics/GraphicsContext.h:
4279 * platform/graphics/cairo/GraphicsContextCairo.cpp:
4280 (WebCore::GraphicsContext::clipPath):
4281 * platform/graphics/cg/GraphicsContextCG.cpp:
4282 (WebCore::GraphicsContext::clipPath):
4283 * platform/graphics/qt/GraphicsContextQt.cpp:
4284 (WebCore::GraphicsContext::addPath):
4285 (WebCore::GraphicsContext::clipPath):
4286 * svg/graphics/SVGResourceClipper.cpp:
4287 (WebCore::SVGResourceClipper::applyClip):
4288 * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
4289 * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
4290 * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
4291
antti@apple.comc633dca2008-11-14 21:34:55 +000042922008-11-14 Antti Koivisto <antti@apple.com>
4293
4294 Reviewed by Anders Carlsson.
4295
4296 Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.
4297
4298 * loader/FrameLoader.cpp:
4299 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
4300 * loader/FrameLoader.h:
4301
weinig@apple.comd7fe7482008-11-14 20:02:05 +000043022008-11-14 Sam Weinig <sam@webkit.org>
4303
4304 Reviewed by Eric Seidel.
4305
4306 Remove unneeded forward declaration.
4307
4308 * plugins/Plugin.h:
4309
darin@chromium.org53564932008-11-14 18:53:39 +000043102008-11-14 Darin Fisher <darin@chromium.org>
4311
4312 Reviewed by Darin Adler.
4313
4314 https://bugs.webkit.org/show_bug.cgi?id=22251
4315 HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h
4316
4317 * html/HTMLCanvasElement.cpp:
4318
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +000043192008-11-14 Yael Aharon <yael.aharon@nokia.com>
4320
4321 Reviewed by Simon Hausmann.
4322
hausmann@webkit.org430f7fe2008-11-14 18:40:14 +00004323 Add new files from the Qt port to the build.
4324
4325 * WebCore.pro:
4326
43272008-11-14 Yael Aharon <yael.aharon@nokia.com>
4328
4329 Reviewed by Simon Hausmann.
4330
hausmann@webkit.org62424c92008-11-14 18:39:56 +00004331 Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
4332 port to apply a default quota only if there is no entry in the
4333 database for a given origin yet.
4334
4335 * storage/DatabaseTracker.h:
4336
43372008-11-14 Yael Aharon <yael.aharon@nokia.com>
4338
4339 Reviewed by Simon Hausmann.
4340
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +00004341 Make it possible to get the cache directory set in the application
4342 cache storage.
4343
4344 * loader/appcache/ApplicationCacheStorage.cpp:
4345 (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
4346 * loader/appcache/ApplicationCacheStorage.h:
4347
justin.garcia@apple.com5b803002008-11-14 18:30:36 +000043482008-11-14 Justin Garcia <justin.garcia@apple.com>
4349
4350 Reviewed by Beth Dakin.
4351
4352 <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
4353
4354 When applying block styles, we would add block properties to the body element, and Mail's
4355 Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side,
4356 but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
4357
4358 We have code that puts the paragraphs that we're operating on into blocks of their own before
4359 adding or removing block properties from the blocks that enclose them. We need to run this code
4360 when the enclosing block is the body element.
4361
4362 * editing/CompositeEditCommand.cpp:
4363 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
4364 to here.
4365 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
4366 Added a few comments. Fixed bug by not bailing out when the block about to be used is the body element.
4367 * editing/CompositeEditCommand.h:
4368
cwzwarich@webkit.org770a8a82008-11-14 17:49:56 +000043692008-11-14 Cameron Zwarich <zwarich@apple.com>
4370
4371 Reviewed by Darin Adler.
4372
4373 Bug 22245: Move wtf/dtoa.h into the WTF namespace
4374 <https://bugs.webkit.org/show_bug.cgi?id=22245>
4375
4376 Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
4377
4378 * platform/text/String.cpp:
4379 (WebCore::charactersToDouble):
4380
vestbo@webkit.org6d154272008-11-14 11:20:48 +000043812008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
4382
4383 Rubber-stamped by Simon Hausmann.
4384
vestbo@webkit.org66a87f22008-11-14 11:21:08 +00004385 Make sure Qt scrollbars follow the style with regard to context menus
4386
4387 * platform/qt/ScrollbarQt.cpp:
4388 (WebCore::Scrollbar::contextMenu):
4389
43902008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
4391
4392 Rubber-stamped by Simon Hausmann.
4393
vestbo@webkit.org6d154272008-11-14 11:20:48 +00004394 Make scrollbar look active when the window is active on Qt/Mac
4395
4396 * platform/qt/ScrollbarThemeQt.cpp:
4397 (WebCore::styleOptionSlider):
4398 (WebCore::ScrollbarThemeQt::paint):
4399
eric@webkit.orgf3a46352008-11-14 04:26:21 +000044002008-11-13 Eric Seidel <eric@webkit.org>
4401
4402 Reviewed by Adam Roben.
4403
4404 Add a basic Scons-based build system for building
4405 Chromium-Mac WebCore.
4406 https://bugs.webkit.org/show_bug.cgi?id=21991
4407
4408 The build currently fails due to missing files from our
4409 platform directory (platform skia and platform chromium)
4410 I will be sending those up shortly in separate patches.
4411 I expect it will be a while before our WebCore build links.
4412
4413 * SConstruct: Added.
4414 * WebCore.scons: Added.
4415
darin@chromium.orgf089f552008-11-14 01:54:12 +000044162008-11-13 Darin Fisher <darin@chromium.org>
4417
4418 Reviewed by Darin Adler.
4419
4420 https://bugs.webkit.org/show_bug.cgi?id=22248
4421 AtomicString.cpp uses JSC types outside of #if USE(JSC)
4422
4423 * platform/text/AtomicString.cpp:
4424 (WebCore::AtomicString::add):
justin.garcia@apple.com5b803002008-11-14 18:30:36 +00004425
justin.garcia@apple.com3de84072008-11-13 21:04:51 +000044262008-11-13 Justin Garcia <justin.garcia@apple.com>
4427
4428 Reviewed by Darin Adler.
4429
4430 https://bugs.webkit.org/show_bug.cgi?id=18620
4431 Long hang under TextIterator::advance() when loading http://www.lsvd.de/
4432
4433 A huge section at the beginning of this document is invisible. As we iterate through it,
4434 we create VisiblePositions unnecessarily.
4435
4436 * editing/TextIterator.cpp:
4437 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition
4438 creation if m_node is unrendered or invisible. The answers wouldn't have much meaning
4439 and would be wasteful. Also fixed some comments to reflect the fact that this function
4440 isn't specifically about emitting a newline.
4441
cmarrin@apple.com0a75f9c2008-11-13 18:49:04 +000044422008-11-13 Pierre-Olivier Latour <pol@apple.com>
4443
4444 Reviewed by Sam Weinig.
4445
4446 Remove unused or unnecessary code from AnimationBase class.
4447
4448 * page/animation/AnimationBase.cpp:
4449 (WebCore::AnimationBase::AnimationBase):
4450 (WebCore::AnimationBase::playStatePlaying):
4451 * page/animation/AnimationBase.h:
4452
vestbo@webkit.org404a4712008-11-13 15:20:43 +000044532008-11-12 Tor Arne Vestbø <tavestbo@trolltech.com>
4454
4455 Reviewed by Simon Hausmann.
4456
4457 Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
4458
4459 Currently only used by QtWebKit. See also:
4460
4461 https://bugs.webkit.org/show_bug.cgi?id=21427
4462
4463 * WebCore.pro:
4464 * platform/qt/TemporaryLinkStubs.cpp:
4465 (PluginView::userAgentStatic):
4466 (PluginView::getValueStatic):
4467 * plugins/PluginView.cpp:
4468 (WebCore::PluginView::handleEvent):
4469 (WebCore::PluginView::setValue):
4470 (WebCore::PluginView::PluginView):
4471 * plugins/PluginView.h:
4472 (WebCore::PluginView::setPlatformPluginWidget):
4473 * plugins/mac/PluginPackageMac.cpp: Added.
4474 (WebCore::PluginPackage::determineQuirks):
4475 (WebCore::readPListFile):
4476 (WebCore::stringListFromResourceId):
4477 (WebCore::PluginPackage::fetchInfo):
4478 (WebCore::PluginPackage::load):
4479 (WebCore::PluginPackage::hash):
4480 (WebCore::PluginPackage::equal):
4481 (WebCore::PluginPackage::compareFileVersion):
4482 * plugins/mac/PluginViewMac.cpp: Added.
4483 (WebCore::nativeWindowFor):
4484 (WebCore::cgHandleFor):
4485 (WebCore::topLevelOffsetFor):
4486 (WebCore::PluginView::init):
4487 (WebCore::PluginView::~PluginView):
4488 (WebCore::PluginView::stop):
4489 (WebCore::PluginView::getValueStatic):
4490 (WebCore::PluginView::getValue):
4491 (WebCore::PluginView::setParent):
4492 (WebCore::PluginView::show):
4493 (WebCore::PluginView::hide):
4494 (WebCore::PluginView::setFocus):
4495 (WebCore::PluginView::setParentVisible):
4496 (WebCore::PluginView::setNPWindowRect):
4497 (WebCore::PluginView::setNPWindowIfNeeded):
4498 (WebCore::PluginView::updatePluginWidget):
4499 (WebCore::PluginView::paint):
4500 (WebCore::PluginView::invalidateRect):
4501 (WebCore::PluginView::invalidateRegion):
4502 (WebCore::PluginView::forceRedraw):
4503 (WebCore::PluginView::handleMouseEvent):
4504 (WebCore::PluginView::handleKeyboardEvent):
4505 (WebCore::PluginView::nullEventTimerFired):
4506 (WebCore::modifiersForEvent):
4507 (WebCore::PluginView::globalMousePosForPlugin):
4508 (WebCore::PluginView::dispatchNPEvent):
4509 (WebCore::PluginView::userAgent):
4510 (WebCore::PluginView::userAgentStatic):
4511 (WebCore::PluginView::handlePostReadFile):
4512
ap@webkit.org3568f132008-11-13 07:27:12 +000045132008-11-12 Alexey Proskuryakov <ap@webkit.org>
4514
4515 Reviewed by Darin Adler.
4516
ap@webkit.org0c815c02008-11-13 07:32:43 +00004517 https://bugs.webkit.org/show_bug.cgi?id=22200
4518 Crash when close event is dispatched to MessagePort due to document destruction
4519
4520 Test: fast/events/message-port-onclose.html
4521
4522 * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
4523 Don't dispatch close event, even though HTML5 currently says that we should. It is not
4524 right for GC to have observable effects.
4525
45262008-11-12 Alexey Proskuryakov <ap@webkit.org>
4527
4528 Reviewed by Darin Adler.
4529
ap@webkit.org3568f132008-11-13 07:27:12 +00004530 https://bugs.webkit.org/show_bug.cgi?id=22203
4531 Implement Worker messaging
4532
4533 No test cases included, because this functionality is disabled by default.
4534
4535 The implementation is known to still have many race condition, but works quite well for
4536 testing.
4537
4538 * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
4539
4540 * bindings/js/JSDOMBinding.cpp:
4541 (WebCore::markActiveObjectsForContext): Re-worded comments a little.
4542 (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
4543 incorrect, changed it to a much simpler (but still incorrect) version.
4544
4545 * dom/WorkerTask.cpp: Added.
4546 (WebCore::WorkerTask::~WorkerTask):
4547 * dom/WorkerTask.h: Added.
4548 Tasks posted to workers implement this new interface.
4549
4550 * bindings/js/JSDedicatedWorkerCustom.cpp:
4551 (WebCore::JSDedicatedWorker::mark):
4552 (WebCore::JSDedicatedWorker::connect):
4553 * dom/DedicatedWorker.h:
4554 * dom/DedicatedWorker.idl:
4555 Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
4556 WHATWG discussions.
4557
4558 * dom/DedicatedWorker.cpp:
4559 (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
4560 operations.
4561 (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
4562 (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
4563 one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
4564 this port starts with a null context pointer.
4565 (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
4566 after creation, we have to queue tasks until after a WorkerThread object is created. Then we
4567 forward all queued tasks to its queue.
4568
4569 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
4570 * dom/EventTarget.h:
4571 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
4572 Added cases for WorkerContext, which is now an EventTarget, too.
4573
4574 * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
4575 * bindings/js/JSWorkerContext.cpp:
4576 (WebCore::JSWorkerContext::mark): Mark event listeners.
4577 (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
4578 (WebCore::JSWorkerContext::put): Implemented.
4579 (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
4580 (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
4581 (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
4582 (WebCore::jsWorkerContextOnconnect): Added.
4583 (WebCore::setJSWorkerContextOnconnect): Added.
4584
4585 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
4586 Made it actually work by adding necessary setup.
4587
4588 * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
4589 Check the right variable - it is the wrapper that may not be initialized yet.
4590
4591 * dom/ActiveDOMObject.cpp:
4592 (WebCore::ActiveDOMObject::ActiveDOMObject):
4593 (WebCore::ActiveDOMObject::~ActiveDOMObject):
4594 Assert being called from the correct thread, as active DOM object tracking is not thread safe.
4595
4596 * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
4597 for asynchronously executing tasks in context's thread.
4598
4599 * dom/ScriptExecutionContext.cpp:
4600 (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
4601 (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
4602 It was an optimization that couldn't be easily preserved without introducing race conditions
4603 in multithreading case.
4604 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
4605 (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
4606 why it's OK to not ref() ports in a frozen copy.
4607 (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
4608 from a wrong thread.
4609 (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
4610 (WebCore::ScriptExecutionContextTaskTimer): Part of
4611 ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
4612 thread.
4613 (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
4614 to a worker.
4615 (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
4616 to main thread from a secondary one.
4617 (WebCore::performTask): A helper function for callOnMainThread().
4618 (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
4619
4620 * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
4621 ref/deref EventData::message from different threads, which is not allowed.
4622
4623 * dom/MessagePort.cpp:
4624 (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
4625 (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
4626 (WebCore::MessagePort::EventData::EventData): Ditto.
4627 (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
4628 first, because we need to create ports for posting to other threads, and it is not possible
4629 to register in a context from another thread.
4630 (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
4631 receiver's job to set the context.
4632 (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
4633 context yet.
4634 (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
4635 (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
4636 (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
4637 context.
4638 (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
4639 (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
4640 (WebCore::MessagePort::queueCloseEvent): Use postTask().
4641 (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
4642 MessagePort cross-heap GC is still quite wrong.
4643
4644 * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
4645 * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
4646 now, but there is no harm in tracking it in release builds, too.
4647
4648 * dom/WorkerThread.cpp:
4649 (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
4650 (WebCore::WorkerThread::workerThread): Implemented a message loop.
4651 * dom/WorkerThread.h:
4652 (WebCore::WorkerThread::threadID): Also only used for assertions.
4653 (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
4654
4655 * page/DOMWindow.cpp:
4656 (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
4657 always sets it to null.
4658 (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
4659
krit@webkit.org5a0e4672008-11-13 07:17:53 +000046602008-11-12 Dirk Schulze <vbs85@gmx.de>
4661
4662 Reviewed Darin Adler.
4663
4664 use strokeColor.alpha() instead of fillColor.alpha()
4665 on GraphicsContext::strokePath()
4666
4667 [Canvas] Transparent fillStyle stops line rendering
4668 https://bugs.webkit.org/show_bug.cgi?id=21888
4669
4670 Test: fast/canvas/canvas-stroke-empty-fill.html
4671
4672 * ChangeLog:
4673 * platform/graphics/cg/GraphicsContextCG.cpp:
4674 (WebCore::GraphicsContext::strokePath):
4675
slewis@apple.com952b90f2008-11-13 06:08:46 +000046762008-11-12 Stephanie <slewis@apple.com>
4677
4678 Reviewed by Mark Rowe.
4679
4680 Fix context leak in XSLStyleSheets.
4681 See bug https://bugs.webkit.org/show_bug.cgi?id=15715
4682
4683 * xml/XSLStyleSheet.cpp:
4684 (WebCore::XSLStyleSheet::parseString):
4685
alp@webkit.org8ad90d42008-11-13 00:44:05 +000046862008-11-12 Alp Toker <alp@nuanti.com>
4687
alp@webkit.org42526642008-11-13 04:26:39 +00004688 autotools: List web worker-related headers needed for a successful
4689 build. distcheck is passing again with this change.
4690
4691 * GNUmakefile.am:
4692
46932008-11-12 Alp Toker <alp@nuanti.com>
4694
alp@webkit.org8044cb92008-11-13 02:30:09 +00004695 autotools build system fix-up only. Add FloatQuad.h to the source
4696 lists and sort them.
4697
4698 * GNUmakefile.am:
4699
47002008-11-12 Alp Toker <alp@nuanti.com>
4701
alp@webkit.org8ad90d42008-11-13 00:44:05 +00004702 Build fixes for r38346. FloatQuad.cpp is missing:
4703
4704 1) #include "config.h"
4705 2) #include <algorithm> for various mathematical definitions it uses.
4706
4707 * platform/graphics/FloatQuad.cpp:
4708
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +000047092008-11-12 Simon Fraser <simon.fraser@apple.com>
4710
simon.fraser@apple.comd12c84b2008-11-13 01:32:11 +00004711 Reviewed by Dan Bernstein
4712
4713 https://bugs.webkit.org/show_bug.cgi?id=22212
4714
4715 Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
4716 it may be the bounding outline box of a transformed element, and fix it
4717 to respect transforms by mapping the outline box to an absolute quad and
4718 taking the enclosing rect.
4719
4720 RenderBox::localToAbsoluteQuad() can no longer assert that there is no
4721 LayoutState, but LayoutState cannot be used during quad mapping (it knows
4722 nothing about transforms).
4723
4724 Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
4725 borderTopExtra() from the object, rather than its container (as localToAbsolute()
4726 does).
4727
4728 Test: fast/repaint/transform-absolute-child.html
4729
4730 * rendering/RenderBlock.cpp:
4731 (WebCore::RenderBlock::layoutBlock):
4732 * rendering/RenderBox.cpp:
4733 (WebCore::RenderBox::localToAbsoluteQuad):
4734 * rendering/RenderFlexibleBox.cpp:
4735 (WebCore::RenderFlexibleBox::layoutBlock):
4736 * rendering/RenderForeignObject.cpp:
4737 (WebCore::RenderForeignObject::layout):
4738 * rendering/RenderLayer.cpp:
4739 (WebCore::RenderLayer::updateLayerPositions):
4740 (WebCore::RenderLayer::setHasVisibleContent):
4741 * rendering/RenderObject.cpp:
4742 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
4743 (WebCore::RenderObject::absoluteOutlineBounds):
4744 * rendering/RenderObject.h:
4745 * rendering/RenderPath.cpp:
4746 (WebCore::RenderPath::layout):
4747 * rendering/RenderReplaced.cpp:
4748 (WebCore::RenderReplaced::layout):
4749 * rendering/RenderSVGContainer.cpp:
4750 (WebCore::RenderSVGContainer::layout):
4751 * rendering/RenderSVGImage.cpp:
4752 (WebCore::RenderSVGImage::layout):
4753 * rendering/RenderSVGRoot.cpp:
4754 (WebCore::RenderSVGRoot::layout):
4755 * rendering/RenderSVGText.cpp:
4756 (WebCore::RenderSVGText::layout):
4757 * rendering/RenderSVGViewportContainer.cpp:
4758 (WebCore::RenderSVGViewportContainer::layout):
4759 * rendering/RenderTable.cpp:
4760 (WebCore::RenderTable::layout):
4761
47622008-11-12 Simon Fraser <simon.fraser@apple.com>
4763
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +00004764 Reviewed by Dave Hyatt
4765
4766 https://bugs.webkit.org/show_bug.cgi?id=21942
4767 https://bugs.webkit.org/show_bug.cgi?id=18557
4768
4769 Add methods which can be used to map renderer-local rectangles
4770 to quads in absolute coordinates, taking transforms into account:
4771 localToAbsoluteQuad() converts a local rect into an absolute quad.
4772 collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
4773 that works with quads.
4774 absoluteQuads() is an analogue of absoluteRects(), for quads.
4775
4776 Use the quad methods to fix the inspector highlight for transformed
4777 elements.
4778
4779 * GNUmakefile.am:
4780 * WebCore.pro:
4781 * WebCore.vcproj/WebCore.vcproj:
4782 * WebCore.xcodeproj/project.pbxproj:
4783 * WebCoreSources.bkl:
4784 * inspector/InspectorController.cpp:
4785 (WebCore::drawOutlinedQuad):
4786 (WebCore::drawHighlightForBoxes):
4787 (WebCore::frameToMainFrameOffset):
4788 (WebCore::InspectorController::drawNodeHighlight):
4789 * platform/graphics/AffineTransform.cpp:
4790 (WebCore::AffineTransform::mapQuad):
4791 * platform/graphics/AffineTransform.h:
4792 * platform/graphics/FloatQuad.cpp: Added.
4793 (WebCore::min4):
4794 (WebCore::max4):
4795 (WebCore::FloatQuad::boundingBox):
4796 * platform/graphics/FloatQuad.h: Added.
4797 (WebCore::FloatQuad::FloatQuad):
4798 (WebCore::FloatQuad::p1):
4799 (WebCore::FloatQuad::p2):
4800 (WebCore::FloatQuad::p3):
4801 (WebCore::FloatQuad::p4):
4802 (WebCore::FloatQuad::setP1):
4803 (WebCore::FloatQuad::setP2):
4804 (WebCore::FloatQuad::setP3):
4805 (WebCore::FloatQuad::setP4):
4806 (WebCore::FloatQuad::isEmpty):
4807 (WebCore::FloatQuad::enclosingBoundingBox):
4808 (WebCore::FloatQuad::move):
4809 (WebCore::operator+=):
4810 (WebCore::operator-=):
4811 (WebCore::operator==):
4812 (WebCore::operator!=):
4813 * rendering/RenderBox.cpp:
4814 (WebCore::RenderBox::localToAbsoluteQuad):
4815 * rendering/RenderBox.h:
4816 * rendering/RenderContainer.cpp:
4817 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
4818 * rendering/RenderContainer.h:
4819 * rendering/RenderInline.cpp:
4820 (WebCore::RenderInline::absoluteQuads):
4821 * rendering/RenderInline.h:
4822 * rendering/RenderObject.cpp:
4823 (WebCore::RenderObject::absoluteBoundingBoxRect):
4824 (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
4825 (WebCore::RenderObject::absoluteQuads):
4826 (WebCore::RenderObject::localToAbsoluteQuad):
4827 (WebCore::RenderObject::absoluteContentQuad):
4828 * rendering/RenderObject.h:
4829 * rendering/RenderPath.cpp:
4830 (WebCore::RenderPath::absoluteQuads):
4831 * rendering/RenderPath.h:
4832 * rendering/RenderSVGContainer.cpp:
4833 (WebCore::RenderSVGContainer::absoluteQuads):
4834 * rendering/RenderSVGContainer.h:
4835 * rendering/RenderSVGHiddenContainer.cpp:
4836 (WebCore::RenderSVGHiddenContainer::absoluteQuads):
4837 * rendering/RenderSVGHiddenContainer.h:
4838 * rendering/RenderSVGImage.cpp:
4839 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
4840 (WebCore::RenderSVGImage::absoluteQuads):
4841 * rendering/RenderSVGImage.h:
4842 * rendering/RenderSVGInlineText.cpp:
4843 (WebCore::RenderSVGInlineText::absoluteQuads):
4844 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
4845 * rendering/RenderSVGInlineText.h:
4846 * rendering/RenderSVGRoot.cpp:
4847 (WebCore::RenderSVGRoot::absoluteQuads):
4848 * rendering/RenderSVGRoot.h:
4849 * rendering/RenderSVGTSpan.cpp:
4850 (WebCore::RenderSVGTSpan::absoluteRects):
4851 (WebCore::RenderSVGTSpan::absoluteQuads):
4852 * rendering/RenderSVGTSpan.h:
4853 * rendering/RenderSVGText.cpp:
4854 (WebCore::RenderSVGText::absoluteRects):
4855 (WebCore::RenderSVGText::absoluteQuads):
4856 * rendering/RenderSVGText.h:
4857 * rendering/RenderSVGTextPath.cpp:
4858 (WebCore::RenderSVGTextPath::absoluteRects):
4859 (WebCore::RenderSVGTextPath::absoluteQuads):
4860 * rendering/RenderSVGTextPath.h:
4861 * rendering/RenderTableCell.cpp:
4862 (WebCore::RenderTableCell::localToAbsolute):
4863 (WebCore::RenderTableCell::localToAbsoluteQuad):
4864 * rendering/RenderTableCell.h:
4865 * rendering/RenderText.cpp:
4866 (WebCore::RenderText::absoluteQuads):
4867 (WebCore::RenderText::collectAbsoluteLineBoxQuads):
4868 * rendering/RenderText.h:
4869 * rendering/RenderView.cpp:
4870 (WebCore::RenderView::localToAbsoluteQuad):
4871 (WebCore::RenderView::absoluteQuads):
4872 * rendering/RenderView.h:
4873
aroben@apple.comdf25daf2008-11-12 21:54:52 +000048742008-11-12 Brent Fulgham <bfulgham@gmail.com>
4875
4876 Fix Bug 22178: Build errors in WebKit Cairo port
4877
4878 <https://bugs.webkit.org/show_bug.cgi?id=22178>
4879
4880 Reviewed by Mark Rowe.
4881
4882 * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
4883 Visual Studio.
4884 (WebCore::Pattern::createPlatformPattern):
4885
aroben@apple.com1939f622008-11-12 21:49:51 +000048862008-11-12 Adam Roben <aroben@apple.com>
4887
4888 Fix a typo in the include path for the Release_Cairo configuration
4889
4890 * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
4891
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +000048922008-11-12 Simon Fraser <simon.fraser@apple.com>
4893
4894 Reviewed by Dave Hyatt
4895
4896 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.coma9261be2008-11-12 20:28:44 +00004897 Patch 2
4898
4899 Code cleanup in RenderBox::computeAbsoluteRepaintRect().
4900
4901 * rendering/RenderBox.cpp:
4902 (WebCore::RenderBox::computeAbsoluteRepaintRect):
4903
49042008-11-12 Simon Fraser <simon.fraser@apple.com>
4905
4906 Reviewed by Dave Hyatt
4907
4908 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +00004909
4910 Fix repainting when the transform on a positioned element changes.
4911 In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
4912 and being in a positioned container after applying the transform to the local
4913 rect.
4914
4915 Tests: fast/repaint/transform-absolute-in-positioned-container.html
4916 fast/repaint/transform-relative-position.html
4917
4918 * rendering/RenderBox.cpp:
4919 (WebCore::RenderBox::computeAbsoluteRepaintRect):
4920
justin.garcia@apple.com7e95c7b2008-11-12 20:08:06 +000049212008-11-12 Justin Garcia <justin.garcia@apple.com>
4922
4923 Reviewed by Beth Dakin.
4924
4925 <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
4926 <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
4927
4928 We don't want to merge into a block if it will mean changing the quote level of content after deleting
4929 selections that contain a whole number paragraphs plus a line break, since it is unclear to most users
4930 that such a selection actually ends at the start of the next paragraph. Instead we want to completely
4931 remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior
4932 for indented paragraphs.
4933
4934 * editing/DeleteSelectionCommand.cpp:
4935 (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
4936 try to merge after the deletion. Instead try and prune the start block or blocks if they've been emptied
4937 so that we remove evidence of the deleted paragraphs' quote level.
4938 (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also
4939 make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection
4940 started on, instead of one higher.
4941 * editing/DeleteSelectionCommand.h:
4942 * editing/htmlediting.cpp:
4943 (WebCore::numEnclosingMailBlockquotes): Added.
4944 * editing/htmlediting.h:
4945
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +000049462008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
4947
4948 Reviewed by Simon Hausmann.
4949
vestbo@webkit.orgb3e75172008-11-12 10:51:27 +00004950 Move _web_encodingForResource from WebKit into WebCore and change return type
4951
4952 This change is needed to implement NSAPI in WebCore for Mac, see:
4953
4954 https://bugs.webkit.org/show_bug.cgi?id=21427
4955
4956 * WebCore.base.exp:
4957 * platform/mac/WebCoreNSStringExtras.h:
4958 * platform/mac/WebCoreNSStringExtras.mm:
4959 (stringEncodingForResource):
4960
49612008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
4962
4963 Reviewed by Simon Hausmann.
4964
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +00004965 Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
4966 WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
4967
4968 This change is needed to implement NSAPI in WebCore for Mac, see:
4969
4970 https://bugs.webkit.org/show_bug.cgi?id=21427
4971
4972 * WebCore.base.exp:
4973 * platform/mac/WebCoreNSStringExtras.h:
4974 * platform/mac/WebCoreNSStringExtras.mm:
4975 (stringIsCaseInsensitiveEqualToString):
4976
slewis@apple.com417d6872008-11-12 03:30:12 +000049772008-11-11 Stephanie <slewis@apple.com>
4978
4979 Reviewed by Dan Bernstein.
4980
4981 Null check image data before setting it as image source.
4982
4983 Test: fast/images/image-empty-data.html
4984
4985 * platform/graphics/BitmapImage.cpp:
4986 (WebCore::BitmapImage::destroyDecodedData):
4987
adele@apple.com0deea562008-11-12 03:09:38 +000049882008-11-11 Adele Peterson <adele@apple.com>
4989
4990 Reviewed by Tim Hatcher.
4991
4992 Remove ifdef so future OS versions can use the new delegate method.
4993
4994 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
4995
eric@webkit.org683713f2008-11-12 01:53:37 +000049962008-11-11 Eric Seidel <eric@webkit.org>
4997
4998 Reviewed by Antti Koivisto and Sam Weinig.
4999
5000 Clean up HTMLTokenizer a litle
5001 https://bugs.webkit.org/show_bug.cgi?id=22188
5002
5003 Rename pendingScripts to m_pendingScripts
5004 Rename scriptNode to m_scriptNode make the type specific
5005 Rename pendingSrc to m_pendingSrc
5006 Rename currentPrependingSrc to m_currentPrependingSrc
5007 Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
5008 Remove long-since-dead kdDebug and qDebug calls
5009 Rename brokenComments to m_brokenComments
5010 Remove HTMLTokenizer includes and document the rest
5011 Rename src to m_src
5012 Rename parser to m_parser and make it an OwnPtr
5013 Rename inWrite to m_inWrite and jsProxy to scriptController
5014 Rename brokenServer to m_brokenServer
5015 Rename buffer to m_buffer and dest to m_dest
5016 Rename size to m_bufferSize
5017 Rename attrName to m_attrName
5018 Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
5019 Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
5020 Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
5021 Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
5022 Rename flat to selfClosingTag
5023 Rename currToken to m_currentToken
5024
5025 * css/CSSParser.cpp:
5026 * dom/XMLTokenizer.cpp:
5027 * dom/XMLTokenizerLibxml2.cpp:
5028 * html/HTMLDocument.cpp:
5029 * html/HTMLElement.cpp:
5030 * html/HTMLFormControlElement.cpp:
5031 * html/HTMLParser.h:
5032 * html/HTMLTokenizer.cpp:
5033 (WebCore::Token::addAttribute):
5034 (WebCore::HTMLTokenizer::HTMLTokenizer):
5035 (WebCore::HTMLTokenizer::reset):
5036 (WebCore::HTMLTokenizer::begin):
5037 (WebCore::HTMLTokenizer::processListing):
5038 (WebCore::HTMLTokenizer::parseSpecial):
5039 (WebCore::HTMLTokenizer::scriptHandler):
5040 (WebCore::HTMLTokenizer::scriptExecution):
5041 (WebCore::HTMLTokenizer::parseComment):
5042 (WebCore::HTMLTokenizer::parseServer):
5043 (WebCore::HTMLTokenizer::parseProcessingInstruction):
5044 (WebCore::HTMLTokenizer::parseText):
5045 (WebCore::HTMLTokenizer::parseEntity):
5046 (WebCore::HTMLTokenizer::parseTag):
5047 (WebCore::HTMLTokenizer::write):
5048 (WebCore::HTMLTokenizer::processingData):
5049 (WebCore::HTMLTokenizer::end):
5050 (WebCore::HTMLTokenizer::finish):
5051 (WebCore::HTMLTokenizer::processToken):
5052 (WebCore::HTMLTokenizer::processDoctypeToken):
5053 (WebCore::HTMLTokenizer::~HTMLTokenizer):
5054 (WebCore::HTMLTokenizer::enlargeBuffer):
5055 (WebCore::HTMLTokenizer::enlargeScriptBuffer):
5056 (WebCore::HTMLTokenizer::notifyFinished):
5057 (WebCore::HTMLTokenizer::setSrc):
5058 * html/HTMLTokenizer.h:
5059 (WebCore::Token::Token):
5060 (WebCore::Token::reset):
5061 (WebCore::HTMLTokenizer::processingContentWrittenByScript):
5062 (WebCore::HTMLTokenizer::htmlParser):
5063 (WebCore::HTMLTokenizer::checkBuffer):
5064 (WebCore::HTMLTokenizer::checkScriptBuffer):
5065 * html/HTMLViewSourceDocument.h:
5066 * rendering/RenderBlock.cpp:
5067 (WebCore::RenderBlock::leftRelOffset):
5068 (WebCore::RenderBlock::rightRelOffset):
5069 (WebCore::RenderBlock::lineWidth):
5070 * xml/XSLTProcessor.cpp:
5071
weinig@apple.comc60b5af2008-11-12 00:28:57 +000050722008-11-11 Sam Weinig <sam@webkit.org>
5073
5074 Reviewed by Dan Bernstein.
5075
5076 Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
5077 Track CachedScript decoded data
5078
5079 We now track the decoded size of CachedScripts in the Cache allowing
5080 them to accounted for when deciding when to evict data. The decoded
5081 data itself can be evicted when Cache pressure gets high enough through
5082 CachedScript::destroyDecodedData.
5083
5084 * loader/CachedResource.h:
5085 (WebCore::CachedResource::allClientsRemoved):
5086 (WebCore::CachedResource::destroyDecodedData):
5087 * loader/CachedScript.cpp:
5088 (WebCore::CachedScript::script):
5089 (WebCore::CachedScript::data):
5090 (WebCore::CachedScript::destroyDecodedData):
5091 * loader/CachedScript.h:
5092
cwzwarich@webkit.org74fd1332008-11-11 23:39:15 +000050932008-11-11 Cameron Zwarich <zwarich@apple.com>
5094
5095 Reviewed by Geoff Garen.
5096
5097 Remove pointless dependencies on the now-deleted kjs directory and
5098 mentions of it in comments that are no longer relevant.
5099
5100 * WebCore.pro:
5101 * webcore-base.bkl:
5102
mitz@apple.com44d57d42008-11-11 22:45:16 +000051032008-11-11 Dan Bernstein <mitz@apple.com>
5104
5105 Reviewed by Adam Roben.
5106
5107 WebCore part of adding a master volume control for media elements in a WebView
5108
5109 * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
5110 * dom/Document.cpp:
5111 (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
5112 when the media volume is changed.
5113 (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
5114 elements to register for a callback when the media volume is changed.
5115 (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
5116 elements to unregister for the callback.
5117 * dom/Document.h:
5118 * dom/Element.h:
5119 (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
5120 * html/HTMLMediaElement.cpp:
5121 (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
5122 registerForMediaVolumeCallbacks().
5123 (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
5124 unregisterForMediaVolumeCallbacks().
5125 (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
5126 element's intrinsic volume by the master volume from the page.
5127 (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
5128 updateVolume().
5129 * html/HTMLMediaElement.h:
5130 * page/Page.cpp:
5131 (WebCore::Page::Page): Initialize m_mediaVolume to 1.
5132 (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
5133 every document in the page when the master volume changes.
5134 * page/Page.h:
5135 (WebCore::Page::mediaVolume): Added this getter.
5136
hyatt@apple.com312f7072008-11-11 20:43:57 +000051372008-11-11 David Hyatt <hyatt@apple.com>
5138
5139 https://bugs.webkit.org/show_bug.cgi?id=22182
5140
5141 Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
5142 is turned on. Make sure to only jump the thumb if the click happens in the track. Also fix some math
5143 errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
5144
5145 Reviewed by Adele
5146
5147 * platform/Scrollbar.cpp:
5148 (WebCore::Scrollbar::mouseDown):
5149
bdakin@apple.comc636ec32008-11-11 19:58:31 +000051502008-11-11 Beth Dakin <bdakin@apple.com>
5151
5152 Reviewed by Darin Adler.
5153
5154 Fix for <rdar://problem/5089327> Too much indentation when pasting
5155 quoted paragraphs
5156
5157 This patch re-addresses pasting blockquotes into blockquotes. It
5158 backs out most of revision 38273. 38273 fixed the bug by inserting
5159 the pasted content as a sibling blockquote node to the pre-existing
5160 blockquote node. The problem with that is that by default,
5161 blockquotes have a giant margin, so visually, this can be weird.
5162 This patch instead inserts the pasted content as siblings of the
5163 the content already inside the outer blockquote, and then removes
5164 the blockquote node from the pasted content itself, so that it
5165 doesn't nest itself into the outer blockquote.
5166 * editing/ReplaceSelectionCommand.cpp:
5167 (WebCore::ReplaceSelectionCommand::doApply):
5168
5169 Move contains() from Element to Node since there is nothing
5170 Element-specific about it.
5171 * dom/Element.cpp:
5172 * dom/Element.h:
5173 * dom/Node.cpp:
5174 (WebCore::Node::contains):
5175 * dom/Node.h:
5176
hyatt@apple.com4d742b72008-11-11 19:50:18 +000051772008-11-11 David Hyatt <hyatt@apple.com>
5178
5179 https://bugs.webkit.org/show_bug.cgi?id=17997
5180
5181 Stop using the new Leopard API tiling call for scaled tiles when drawing background images. The method
5182 is buggy. Fall back to using the slower (and more correct) pattern tiling that Tiger still uses. This
5183 is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
5184
5185 Reviewed by John Sullivan
5186
5187 * platform/graphics/cg/ImageCG.cpp:
5188 (WebCore::Image::drawPattern):
5189
hyatt@apple.com16a00b92008-11-11 19:18:26 +000051902008-11-10 David Hyatt <hyatt@apple.com>
5191
5192 Disable the Aqua look for menu lists when full page zoom is turned on. Because the control is buggy
5193 when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
5194 how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
5195
5196 Reviewed by Adam Roben
5197
5198 * rendering/RenderThemeMac.mm:
5199 (WebCore::RenderThemeMac::isControlStyled):
5200
darin@apple.com160b6112008-11-11 17:59:01 +000052012008-11-11 Darin Adler <darin@apple.com>
5202
5203 Reviewed by Dan Bernstein.
5204
5205 - https://bugs.webkit.org/show_bug.cgi?id=22160
5206 speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
5207 (previousLinePosition, too) uses a nil node
5208
5209 * editing/visible_units.cpp:
5210 (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
5211 to check editingIgnoresContent. It makes sense to use the associated DOM node for
5212 this, even in cases of anonymous content, and it avoids the case where element() can
5213 be 0.
5214 (WebCore::previousLinePosition): Ditto.
5215
krit@webkit.org02511ad2008-11-11 17:40:54 +000052162008-11-11 Dirk Schulze <vbs85@gmx.de>
5217
5218 Reviewed by Darin Adler.
5219
5220 Removed default: in applySpreadMethod. This causes the problems
5221 in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
5222 or CSS.
5223
5224 * platform/graphics/cairo/GraphicsContextCairo.cpp:
5225 (WebCore::applySpreadMethod):
5226
vestbo@webkit.orgc0e688b2008-11-11 13:32:01 +000052272008-11-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
5228
5229 Reviewed by Tor Arne Vestbø.
5230
5231 Fix crash when rendering the file chooser.
5232 Also proper implementation for multi-selected files.
5233
5234 * platform/qt/FileChooserQt.cpp:
5235 (WebCore::FileChooser::basenameForWidth):
5236
krit@webkit.orgbf7eb1c2008-11-11 11:05:49 +000052372008-11-11 Dirk Schulze <vbs85@gmx.de>
5238
5239 Reviewed by Oliver Hunt.
5240
5241 PatternCairo needs to invert the pattern matrix because
5242 of transformation from user space to pattern space.
5243 Give a identity matrix to pattern for Qt and Cairo. Because the
5244 context is transformed already.
5245
5246 [CAIRO][QT] Canvas transformations applied twice to Patterns
5247 https://bugs.webkit.org/show_bug.cgi?id=21555
5248
5249 * platform/graphics/cairo/GraphicsContextCairo.cpp:
5250 (WebCore::GraphicsContext::fillPath):
5251 (WebCore::GraphicsContext::strokePath):
5252 * platform/graphics/cairo/PatternCairo.cpp:
5253 (WebCore::Pattern::createPlatformPattern):
5254 * platform/graphics/qt/GraphicsContextQt.cpp:
5255 (WebCore::GraphicsContext::strokePath):
5256 (WebCore::GraphicsContext::fillRect):
5257
slewis@apple.com2583a3f2008-11-11 07:06:41 +000052582008-11-10 Stephanie Lewis <slewis@apple.com>
5259
5260 Reviewed by Dan Bernstein.
5261
5262 Clear the image source cache even if we haven't decoded any of the image data.
5263 We use the image source cache when calculating layout.
5264
5265 * loader/Cache.cpp:
5266 (WebCore::Cache::pruneDeadResources):
5267 * platform/graphics/BitmapImage.cpp:
5268 (WebCore::BitmapImage::destroyDecodedData):
5269
aroben@apple.com4488a6a2008-11-10 22:12:57 +000052702008-11-10 Adam Roben <aroben@apple.com>
5271
5272 Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
5273 loading microsoftpdc.com
5274
5275 <https://bugs.webkit.org/show_bug.cgi?id=22161>
5276
5277 Reviewed by Dan Bernstein.
5278
5279 Test: fast/css/outline-invert-assertion.html
5280
5281 * rendering/RenderThemeWin.cpp:
5282 (WebCore::RenderThemeWin::systemColor): If we can't determine a good
5283 Win32 system color to use, defer to RenderTheme instead of asserting.
5284 This matches what RenderThemeMac does.
5285
bdakin@apple.com6eb86992008-11-10 21:51:22 +000052862008-11-10 Justin Garcia <justin.garcia@apple.com>
5287
5288 Reviewed by Beth Dakin.
5289
5290 <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text
5291 into quoted text yields double-quoting
5292
5293 Don't nest inserted content in Mail blockquotes. Perform a
5294 BreakBlockquoteCommand if we're in
5295 one and insert the incoming fragment between the split blockquotes.
5296
5297 * editing/ReplaceSelectionCommand.cpp:
5298 (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from ->
5299 source and to -> destination.
5300 (WebCore::ReplaceSelectionCommand::doApply):
5301
aroben@apple.com1c0d03e2008-11-10 18:38:56 +000053022008-11-10 Adam Roben <aroben@apple.com>
5303
5304 Fix Bug 22158: Would like to turn on WebCore logging channels via an
5305 environment variable
5306
5307 <https://bugs.webkit.org/show_bug.cgi?id=22158>
5308
5309 Logging channels can now be enabled by setting the WebCoreLogLevel
5310 environment variable to a hexadecimal number.
5311
5312 Reviewed by Anders Carlsson.
5313
5314 * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
5315 * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
5316 (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
5317 environment variable, parse its value as a hexadecimal number, and
5318 turn the channel on/off based on whether the mask bit is set.
5319 (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
5320 logging channel in turn.
5321
darin@apple.comd46ba6d2008-11-10 17:03:36 +000053222008-11-10 Darin Adler <darin@apple.com>
5323
5324 Reviewed by Adam Roben.
5325
darin@apple.com8bf1fe02008-11-10 17:06:04 +00005326 - fix https://bugs.webkit.org/show_bug.cgi?id=22103
5327 Changing fonts in preferences does not immediately update WebViews
5328
5329 This broke when the meaning of FrameView::invalidate changed.
5330 I changed setNeedsReapplyStyles to no longer depend on invalidate.
5331
5332 * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
5333 Removed the part of this function that duplicated what's already in
5334 FrameView::needsLayout, since the copy here left out a few key things.
5335 For example, it didn't handle the fact that "needs reapply styles"
5336 counts as needing layout.
5337
5338 * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
5339 FrameView::invalidate before. There were two things wrong with that.
5340 1) It requested that the entire view repaint even if the style change
5341 didn't necessitate that. 2) FrameView::invalidate no longer causes any
5342 repainting at all in certain cases, because of Hyatt's changes to how
5343 widgets and the host window are involved in the repainting process.
5344 So call FrameView::scheduleRelayout instead, which is more precisely
5345 what we want and need here.
5346
5347 * page/FrameView.cpp:
5348 (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
5349 so that Document::shouldScheduleLayout doesn't have to replicate the
5350 logic that's in needsLayout and can instead rely on the fact that it
5351 was already called.
5352 (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
5353 in this function.
5354
53552008-11-10 Darin Adler <darin@apple.com>
5356
5357 Reviewed by Adam Roben.
5358
darin@apple.comd46ba6d2008-11-10 17:03:36 +00005359 - speculative fix for <rdar://problem/5557243> crashes in Safari at
5360 WebCore::HTMLSelectElement::updateListBoxSelection + 280
5361
5362 * html/HTMLSelectElement.cpp:
5363 (WebCore::HTMLSelectElement::updateListBoxSelection):
5364 Check index against size of vector before indexing into the vector.
5365
hausmann@webkit.org55cf27a32008-11-10 11:45:48 +000053662008-11-10 Tom Cooksey <thomas.cooksey@trolltech.com>
5367
5368 Reviewed by Tor Arne Vestbø.
5369
5370 Fix QtWebkit build failure on arm.
5371
5372 pen.widthF() is a qreal, which means it's a float on arm.
5373
5374 * platform/graphics/qt/GraphicsContextQt.cpp:
5375 (WebCore::GraphicsContext::setLineDash):
5376
hausmann@webkit.orge6d9d172008-11-10 11:45:21 +000053772008-11-10 Morten Sørvig <msorvig@trolltech.com>
5378
5379 Reviewed by Simon Hausmann.
5380
5381 Improve mouse wheel scolling on Qt/Cocoa.
5382 Cocoa differs from Carbon (and other platforms I think) in that the
5383 mouse wheel events we get have a much higher acceleration factor.
5384
5385 This submit switches over to scroll-per-pixel from scroll-per-line
5386 for most of our scrolling views. This matches the native views
5387 and works well with the increased acceleration.
5388
5389 * platform/qt/WheelEventQt.cpp:
5390
cwzwarich@webkit.org40b4b842008-11-10 01:19:13 +000053912008-11-09 Cameron Zwarich <zwarich@apple.com>
5392
5393 Reviewed by Darin Adler.
5394
5395 Bug 19541: Null pointer in showModalDialog()
5396 <https://bugs.webkit.org/show_bug.cgi?id=19541>
5397
5398 Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
5399 and JSDOMWindowBase::canShowModalDialogNow()C
5400
5401 * bindings/js/JSDOMWindowBase.cpp:
5402 (WebCore::canShowModalDialog):
5403 (WebCore::canShowModalDialogNow):
5404
darin@apple.com4086a5b2008-11-10 00:22:18 +000054052008-11-09 Darin Adler <darin@apple.com>
5406
5407 - try to fix Windows build
5408
5409 * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
5410 about needed a separate definition for static const integer data members.
5411 Until I get to the bottom of this, put the definitions inside an ifdef.
5412
ddkilzer@apple.com8d878632008-11-09 19:50:37 +000054132008-11-09 David Kilzer <ddkilzer@apple.com>
5414
5415 BUILD FIX: Qt build broke after r38235.
5416
5417 Added HAVE(ACCESSIBILITY) header guards to platform implementation
5418 source files.
5419
5420 * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
5421 guards.
5422 * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
5423 * page/qt/AccessibilityObjectQt.cpp: Ditto.
5424 * page/win/AccessibilityObjectWin.cpp: Ditto.
5425 * page/wx/AccessibilityObjectWx.cpp: Ditto.
5426
ap@webkit.org4f28dd52008-11-09 19:08:07 +000054272008-11-09 Alexey Proskuryakov <ap@webkit.org>
5428
5429 Reviewed by Darin Adler.
5430
5431 https://bugs.webkit.org/show_bug.cgi?id=22104
5432 Javascript URL percent encoding/decoding broken by some characters
5433
5434 Test: fast/loader/javascript-url-encoding-2.html
5435
5436 * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
5437
darin@apple.comaa0c0fd2008-11-09 18:20:53 +000054382008-11-09 Holger Hans Peter Freyther <zecke@selfish.org>
5439
5440 Reviewed and tweaked by Darin Adler.
5441
5442 * platform/graphics/Color.cpp: Added definitions for the static data members
5443 in this class. Static data members need a definition, even when they are the
5444 simple integer constant kind that can be initialized in the header.
5445
antti@apple.com58f7c692008-11-09 04:11:26 +000054462008-11-08 Antti Koivisto <antti@apple.com>
5447
5448 Reviewed by Sam Weinig.
5449
5450 Fix https://bugs.webkit.org/show_bug.cgi?id=22141
5451 REGRESSION: Safari error page is not fully styled when loaded from cache
5452
5453 Reset text decoder on flush so it does not pass through the BOM when it is reused.
5454
5455 Test: fast/encoding/css-cached-bom.html
5456
5457 * loader/TextResourceDecoder.cpp:
5458 (WebCore::TextResourceDecoder::flush):
5459
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +000054602008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org2cba33b2008-11-09 03:14:07 +00005461
5462 Reviewed by Mark Rowe.
5463
5464 Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
5465 it was causing these errors to end up in the page's text representation.
5466
5467 * platform/network/curl/ResourceHandleManager.cpp:
5468 (WebCore::ResourceHandleManager::downloadTimerCallback):
5469
54702008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +00005471
5472 wx build fixes after addition of JSCore parser and bycompiler dirs.
5473
5474 * webcore-base.bkl:
5475 * webcore-wx.bkl:
5476
simon.fraser@apple.com1839efc2008-11-09 01:09:14 +000054772008-11-08 Simon Fraser <simon.fraser@apple.com>
5478
5479 Reviewed by Dan Bernstein
5480
5481 https://bugs.webkit.org/show_bug.cgi?id=21906
5482
5483 Override addFocusRingRects() in RenderTextControl to avoid
5484 the RenderFlow behavior of recursing on descendent renderers.
5485 RenderTextControl should only ever need a simple focus rect.
5486
5487 This fixes focus ring issues with transforms on text controls.
5488
5489 Test: fast/transforms/transformed-focused-text-input.html
5490
5491 * rendering/RenderTextControl.cpp:
5492 (WebCore::RenderTextControl::addFocusRingRects):
5493 * rendering/RenderTextControl.h:
5494
timothy@apple.comcded56b2008-11-09 00:33:06 +000054952008-11-08 Dimitri Dupuis-Latour <dupuislatour@apple.com>
5496
5497 Make sure the icon thumbnail width/height is at least 1px in
5498 the Web Inspector's resource panel.
5499
5500 <rdar://problem/5988888>
5501
5502 Reviewed by Tim Hatcher.
5503
5504 * inspector/front-end/inspector.css:
5505
ddkilzer@apple.come17e0dc2008-11-08 19:42:33 +000055062008-11-08 David Kilzer <ddkilzer@apple.com>
5507
5508 Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
5509
5510 <https://bugs.webkit.org/show_bug.cgi?id=22137>
5511
5512 Reviewed by Darin Adler.
5513
5514 * page/AccessibilityObject.h:
5515 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
5516 Provide a default implementation when HAVE(ACCESSIBILITY) is false.
5517 * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
5518 * page/mac/AccessibilityObjectMac.mm: Ditto.
5519 * page/mac/AccessibilityObjectWrapper.mm: Ditto.
5520
mitz@apple.comc278ea22008-11-08 19:12:23 +000055212008-11-08 Dan Bernstein <mitz@apple.com>
5522
5523 Reviewed by Darin Adler.
5524
5525 - WebCore part of adding WebPreferences for controlling databases and local storage
5526
5527 * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
5528 Settings::setLocalStorageEnabled().
5529 * page/DOMWindow.cpp:
5530 (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
5531 is disabled in settings.
5532 (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
5533 are disabled in settings.
5534 * page/Settings.cpp:
5535 (WebCore::Settings::Settings): Initialize m_databasesEnabled and
5536 m_localStorageEnabled.
5537 (WebCore::Settings::setDatabasesEnabled): Added.
5538 (WebCore::Settings::setLocalStorageEnabled): Added.
5539 * page/Settings.h:
5540 (WebCore::Settings::databasesEnabled): Added.
5541 (WebCore::Settings::localStorageEnabled): Added.
5542
alp@webkit.org27e52902008-11-07 22:29:56 +000055432008-11-07 Alp Toker <alp@nuanti.com>
5544
5545 Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
5546 now require that only their top-level header file is included.
5547
5548 Patch tested and still builds fine with older GTK+ versions (back to
5549 2.8).
5550
5551 Future WebKit GTK+ contributions are required to adhere to this
5552 policy.
5553
5554 * platform/gtk/FileSystemGtk.cpp:
5555 * platform/gtk/KeyEventGtk.cpp:
5556 * platform/gtk/MouseEventGtk.cpp:
5557 * platform/gtk/WheelEventGtk.cpp:
5558 * platform/gtk/gtkdrawing.h:
5559 * plugins/gtk/gtk2xtbin.c:
5560 * plugins/gtk/gtk2xtbin.h:
5561
andersca@apple.comafcd77f2008-11-07 21:34:02 +000055622008-11-07 Anders Carlsson <andersca@apple.com>
5563
5564 Reviewed by Kevin Decker
5565
5566 Explicitly initialize the NPDrawingModelCoreAnimation.
5567
5568 * bridge/npapi.h:
5569
alp@webkit.org96f2d622008-11-07 19:35:47 +000055702008-11-07 Alp Toker <alp@nuanti.com>
5571
5572 autotools fix. Always use the configured perl binary (which may be
5573 different to the one in $PATH) when generating sources.
5574
5575 * GNUmakefile.am:
5576
simon.fraser@apple.comfeaef2e2008-11-07 19:17:08 +000055772008-11-07 Simon Fraser <simon.fraser@apple.com>
5578
5579 Reviewed by Dan Bernstein
5580
5581 https://bugs.webkit.org/show_bug.cgi?id=22122
5582
5583 Use a stack-based object to simplify the pushLayoutState/popLayoutState
5584 code. LayoutStateMaintainer either pushes in the constructor, or allows
5585 an explicit push() later. Both cases require an explicit pop().
5586
5587 * rendering/RenderBlock.cpp:
5588 (WebCore::RenderBlock::layoutBlock):
5589 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
5590 * rendering/RenderContainer.cpp:
5591 (WebCore::RenderContainer::layout):
5592 * rendering/RenderFlexibleBox.cpp:
5593 (WebCore::RenderFlexibleBox::layoutBlock):
5594 * rendering/RenderTable.cpp:
5595 (WebCore::RenderTable::layout):
5596 * rendering/RenderTableRow.cpp:
5597 (WebCore::RenderTableRow::layout):
5598 * rendering/RenderTableSection.cpp:
5599 (WebCore::RenderTableSection::setCellWidths):
5600 (WebCore::RenderTableSection::calcRowHeight):
5601 (WebCore::RenderTableSection::layoutRows):
5602 * rendering/RenderView.h:
5603 (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
5604 (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
5605 (WebCore::LayoutStateMaintainer::pop):
5606 (WebCore::LayoutStateMaintainer::push):
5607 (WebCore::LayoutStateMaintainer::didPush):
5608
vestbo@webkit.orgf579de02008-11-07 15:01:55 +000056092008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
5610
vestbo@webkit.org58027742008-11-07 15:39:56 +00005611 Fix the QtWebKit build on Mac
5612
5613 * platform/qt/TemporaryLinkStubs.cpp:
5614 (PluginView::invalidateRect):
5615
56162008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
5617
vestbo@webkit.orgf579de02008-11-07 15:01:55 +00005618 Rubber-stamped by Simon Hausmann.
5619
5620 Don't allow Phonon's invisible video widget to keep the app running
5621
5622 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
5623 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
5624
hausmann@webkit.org58f04f52008-11-07 11:32:04 +000056252008-11-07 Henrik Hartz <henrik.hartz@nokia.com>
5626
5627 Reviewed by Simon Hausmann.
5628
5629 Fix valgrind warning about uninitialized lastStop variable.
5630
5631 * platform/graphics/qt/GradientQt.cpp:
5632 (WebCore::Gradient::platformGradient):
5633
ap@webkit.org1faed012008-11-07 09:22:36 +000056342008-11-07 Alexey Proskuryakov <ap@webkit.org>
5635
5636 Reviewed by Maciej Stachowiak.
5637
5638 Fix layout test brokenness following r38211.
5639
5640 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
5641 Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
5642 matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
5643 inadvertently. This may or may not be a good thing, but it's certainly not something that
5644 should change by accident.
5645
antti@apple.comda9077d2008-11-07 07:22:43 +000056462008-11-06 Antti Koivisto <antti@apple.com>
5647
antti@apple.comafa13dc2008-11-07 07:26:09 +00005648 Eh, this trivial last minute change was wrong.
5649
5650 * loader/CachedCSSStyleSheet.cpp:
5651 (WebCore::CachedCSSStyleSheet::sheetText):
5652
56532008-11-06 Antti Koivisto <antti@apple.com>
5654
antti@apple.comda9077d2008-11-07 07:22:43 +00005655 Reviewed by Dan Bernstein.
5656
5657 https://bugs.webkit.org/show_bug.cgi?id=22093
5658
5659 Delaying the text decoding caused regression since the decoding
5660 also determines the encoding in case of @charset rule.
5661
5662 Decode immediately in data() and keep the decoded string around
5663 during the checkNotify().
5664
5665 * loader/CachedCSSStyleSheet.cpp:
5666 (WebCore::CachedCSSStyleSheet::sheetText):
5667 (WebCore::CachedCSSStyleSheet::data):
5668 * loader/CachedCSSStyleSheet.h:
5669
ap@webkit.orgd9634612008-11-07 05:52:46 +000056702008-11-06 Alexey Proskuryakov <ap@webkit.org>
5671
5672 Reviewed by Darin Adler.
5673
ap@webkit.org6169aa22008-11-07 05:54:49 +00005674 https://bugs.webkit.org/show_bug.cgi?id=22097
5675 Expose MessageEvent constructor on WorkerContext
5676
5677 * bindings/js/JSWorkerContext.cpp:
5678 (WebCore::jsWorkerContextMessageEvent):
5679 (WebCore::setJSWorkerContextMessageEvent):
5680
56812008-11-06 Alexey Proskuryakov <ap@webkit.org>
5682
5683 Reviewed by Darin Adler.
5684
ap@webkit.orgd9634612008-11-07 05:52:46 +00005685 https://bugs.webkit.org/show_bug.cgi?id=21107
5686 <rdar://problem/6264219> New access key combination conflicts with VoiceOver
5687
5688 * page/EventHandler.h:
5689 * page/gtk/EventHandlerGtk.cpp:
5690 (WebCore::EventHandler::accessKeyModifiers):
5691 * page/qt/EventHandlerQt.cpp:
5692 (WebCore::EventHandler::accessKeyModifiers):
5693 * page/win/EventHandlerWin.cpp:
5694 (WebCore::EventHandler::accessKeyModifiers):
5695 * page/wx/EventHandlerWx.cpp:
5696 (WebCore::EventHandler::accessKeyModifiers):
5697 Access access key modifiers via a function, not a static variable.
5698
5699 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
5700 Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
5701 less troublesome than one with VO keys.
5702
5703 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
5704 Also fix an access key matching bug introduced in r32424 - Any superset of specified
5705 modifier set invoked access keys. We can use simple equality comparison instead because
5706 CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
5707
andersca@apple.com1f7f4ee2008-11-07 04:04:52 +000057082008-11-06 Anders Carlsson <andersca@apple.com>
5709
5710 Reviewed by Kevin Decker.
5711
5712 https://bugs.webkit.org/show_bug.cgi?id=22115
5713 NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
5714
5715 Export _NPN_HasMethod and _NPN_HasProperty.
5716
5717 * WebCore.NPAPI.exp:
5718
simon.fraser@apple.coma80e3172008-11-07 01:11:13 +000057192008-11-06 Simon Fraser <simon.fraser@apple.com>
5720
5721 Reviewed by Antti Koivisto
5722
5723 https://bugs.webkit.org/show_bug.cgi?id=15678
5724
5725 Fix transformed menu selects to show the popup in the correct
5726 location.
5727
5728 * rendering/RenderMenuList.cpp:
5729 (WebCore::RenderMenuList::showPopup):
5730
ddkilzer@apple.com58912bd2008-11-07 00:55:52 +000057312008-11-06 David Kilzer <ddkilzer@apple.com>
5732
5733 BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
5734
5735 Apparently older versions of gcc have issues with this patch.
5736 Backing out a second time until the issues are resolved.
5737
jchaffraix@webkit.org95833722008-11-07 00:47:12 +000057382008-11-06 Julien Chaffraix <jchaffraix@pleyo.com>
5739
5740 Reviewed by Maciej Stachowiak.
5741
5742 Bug 21106: .in format discussed changes
5743 https://bugs.webkit.org/show_bug.cgi?id=21106
5744
5745 Include the namespace into the interfaceName.
5746
5747 * dom/make_names.pl: Do not append the namespace when
5748 using the interfaceName.
5749 * html/HTMLTagNames.in: Added namespace prefix for custom
5750 interfaceName.
5751 * svg/svgtags.in: Ditto.
5752
cwzwarich@webkit.org3ff0e6a2008-11-07 00:18:07 +000057532008-11-06 Cameron Zwarich <zwarich@apple.com>
5754
5755 Reviewed by Geoff Garen.
5756
5757 Move the remaining files in the kjs subdirectory of JavaScriptCore to
5758 a new parser subdirectory, and remove the kjs subdirectory entirely.
5759
5760 * ForwardingHeaders/kjs: Removed.
5761 * ForwardingHeaders/kjs/Parser.h: Removed.
5762 * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
5763 * ForwardingHeaders/kjs/SourceCode.h: Removed.
5764 * ForwardingHeaders/kjs/SourceProvider.h: Removed.
5765 * ForwardingHeaders/parser: Added.
5766 * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
5767 * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
5768 * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
5769 * WebCore.pro:
5770 * WebCore.vcproj/WebCore.vcproj:
5771 * bindings/js/StringSourceProvider.h:
5772 * bindings/js/WorkerScriptController.cpp:
5773 * bridge/NP_jsobject.cpp:
5774 * bridge/jni/jni_jsobject.mm:
5775 * bridge/testbindings.pro:
5776 * inspector/JavaScriptDebugServer.cpp:
5777
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +000057782008-11-06 David Kilzer <ddkilzer@apple.com>
5779
ddkilzer@apple.coma8062f52008-11-06 23:46:40 +00005780 BUILD WAS NOT BROKEN: Rolling r38189 back in.
5781
5782 Please perform a clean build if you see crashes.
5783
57842008-11-06 David Kilzer <ddkilzer@apple.com>
5785
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +00005786 BUILD FIX: Backed out r38189 since it apparently broke the world.
5787
cfleizach@apple.com5b7e9982008-11-06 22:16:27 +000057882008-11-06 Chris Fleizach <cfleizach@apple.com>
5789
5790 Reviewed by Beth Dakin.
5791
5792 Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
5793 https://bugs.webkit.org/show_bug.cgi?id=22112
5794
5795 Test: accessibility/content-editable.html
5796
5797 * page/AccessibilityRenderObject.cpp:
5798 (WebCore::AccessibilityRenderObject::isReadOnly):
5799
weinig@apple.com5955ba22008-11-06 21:55:29 +000058002008-11-06 Sam Weinig <sam@webkit.org>
5801
5802 Reviewed by Alice Liu.
5803
5804 Fix failed assert at launch caused by unintialized data member on the mac.
5805
5806 * platform/network/mac/NetworkStateNotifierMac.cpp:
5807 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
5808
sfalken@apple.com2c786e02008-11-06 21:47:58 +000058092008-11-06 Steve Falkenburg <sfalken@apple.com>
5810
5811 Fix failed assert at launch caused by unintialized data member.
5812
5813 Reviewed by Maciej Stachowiak.
5814
5815 * platform/network/win/NetworkStateNotifierWin.cpp:
5816 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
5817
simon.fraser@apple.com52b2c502008-11-06 20:55:31 +000058182008-11-06 Simon Fraser <simon.fraser@apple.com>
5819
5820 Reviewed by Antti Koivisto
5821
5822 https://bugs.webkit.org/show_bug.cgi?id=22109
5823 Make <input type="range"> work correctly with transforms
5824
5825 Test: fast/forms/slider-transformed.html
5826
5827 * html/HTMLInputElement.cpp:
5828 (WebCore::HTMLInputElement::defaultEventHandler):
5829 Compute a correct local point when the event is retargeted
5830 * rendering/RenderSlider.cpp:
5831 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
5832 Compute m_initialClickPoint in slider-local coords, so that
5833 deltas are computed correctly with transforms
5834 (WebCore::RenderSlider::mouseEventIsInThumb):
5835 Rather than computing an absolute bounds for the thumb,
5836 convert the point to local coords and compare it with the border box.
5837
ddkilzer@apple.com6f3816c2008-11-06 19:28:45 +000058382008-11-06 Greg Bolsinga <bolsinga@apple.com>
5839
5840 Reviewed by Darin Adler.
5841
5842 Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
5843 https://bugs.webkit.org/show_bug.cgi?id=21810
5844
5845 * bindings/js/GCController.cpp:
5846 (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
5847 * bindings/js/JSDOMBinding.cpp:
5848 (WebCore::wrapperSet): Ditto
5849 * bindings/js/JSInspectedObjectWrapper.cpp:
5850 (WebCore::wrappers): Ditto
5851 * bindings/js/JSInspectorCallbackWrapper.cpp:
5852 (WebCore::wrappers): Ditto
5853 * bridge/runtime_root.cpp:
5854 (JSC::Bindings::rootObjectSet): Ditto
5855 * css/CSSMutableStyleDeclaration.cpp:
5856 (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
5857 * css/CSSPrimitiveValue.cpp:
5858 (WebCore::CSSPrimitiveValue::cssText): Ditto
5859 * css/CSSSelector.cpp:
5860 (WebCore::CSSSelector::extractPseudoType): Ditto
5861 * css/CSSStyleSelector.cpp:
5862 (WebCore::screenEval): Ditto
5863 (WebCore::printEval): Ditto
5864 * dom/DOMImplementation.cpp:
5865 (WebCore::isSVG10Feature): Ditto
5866 (WebCore::isSVG11Feature): Ditto
5867 (WebCore::DOMImplementation::isXMLMIMEType): Ditto
5868 * dom/Document.cpp:
5869 (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
5870 * dom/ScriptElement.cpp:
5871 (WebCore::isSupportedJavaScriptLanguage): Ditto
5872 * editing/ApplyStyleCommand.cpp:
5873 (WebCore::styleSpanClassString): Ditto
5874 * editing/HTMLInterchange.cpp:
5875 (WebCore::): Ditto
5876 * editing/IndentOutdentCommand.cpp:
5877 (WebCore::indentBlockquoteString): Ditto
5878 * editing/ReplaceSelectionCommand.cpp:
5879 (WebCore::isInterchangeNewlineNode): Ditto
5880 (WebCore::isInterchangeConvertedSpaceSpan): Ditto
5881 * editing/htmlediting.cpp:
5882 (WebCore::stringWithRebalancedWhitespace): Ditto
5883 (WebCore::nonBreakingSpaceString): Ditto
5884 * editing/markup.cpp:
5885 (WebCore::appendAttributeValue): Ditto
5886 (WebCore::appendEscapedContent): Ditto
5887 (WebCore::shouldAddNamespaceAttr): Ditto
5888 (WebCore::appendNamespace): Ditto
5889 (WebCore::appendStartMarkup): Ditto
5890 (WebCore::createMarkup): Ditto
5891 * html/HTMLButtonElement.cpp:
5892 (WebCore::HTMLButtonElement::type): Ditto
5893 * html/HTMLElement.cpp:
5894 (WebCore::HTMLElement::isRecognizedTagName): Ditto
5895 (WebCore::inlineTagList): Ditto
5896 (WebCore::blockTagList): Ditto
5897 * html/HTMLFieldSetElement.cpp:
5898 (WebCore::HTMLFieldSetElement::type): Ditto
5899 * html/HTMLInputElement.cpp:
5900 (WebCore::HTMLInputElement::type): Ditto
5901 * html/HTMLKeygenElement.cpp:
5902 (WebCore::HTMLKeygenElement::type): Ditto
5903 * html/HTMLLegendElement.cpp:
5904 (WebCore::HTMLLegendElement::type): Ditto
5905 * html/HTMLOptGroupElement.cpp:
5906 (WebCore::HTMLOptGroupElement::type): Ditto
5907 * html/HTMLOptionElement.cpp:
5908 (WebCore::HTMLOptionElement::type): Ditto
5909 * html/HTMLParser.cpp:
5910 (WebCore::HTMLParser::getNode): Ditto
5911 (WebCore::HTMLParser::isHeaderTag): Ditto
5912 (WebCore::HTMLParser::isResidualStyleTag): Ditto
5913 (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
5914 * html/HTMLSelectElement.cpp:
5915 (WebCore::HTMLSelectElement::type): Ditto
5916 * html/HTMLTextAreaElement.cpp:
5917 (WebCore::HTMLTextAreaElement::type): Ditto
5918 * inspector/InspectorController.cpp:
5919 (WebCore::platform): Ditto
5920 * inspector/JavaScriptDebugServer.cpp:
5921 (WebCore::JavaScriptDebugServer::shared): Ditto
5922 * inspector/JavaScriptProfile.cpp:
5923 (WebCore::profileCache): Ditto
5924 * inspector/JavaScriptProfileNode.cpp:
5925 (WebCore::profileNodeCache): Ditto
5926 * loader/FrameLoader.cpp:
5927 (WebCore::localSchemes): Ditto
5928 * loader/appcache/ApplicationCacheStorage.cpp:
5929 (WebCore::cacheStorage): Ditto
5930 * loader/archive/ArchiveFactory.cpp:
5931 (WebCore::archiveMIMETypes): Ditto
5932 * loader/icon/IconDatabase.cpp:
5933 (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
5934 * page/EventHandler.cpp:
5935 (WebCore::EventHandler::dragState): Ditto
5936 * page/Frame.cpp:
5937 (WebCore::createRegExpForLabels): Ditto
5938 (WebCore::keepAliveSet): Ditto
5939 * page/Page.cpp:
5940 (WebCore::Page::groupName): Ditto
5941 * page/SecurityOrigin.cpp:
5942 (WebCore::isDefaultPortForProtocol): Ditto
5943 (WebCore::SecurityOrigin::databaseIdentifier): Ditto
5944 * page/mac/FrameMac.mm:
5945 (WebCore::regExpForLabels): Ditto
5946 * platform/KURL.cpp:
5947 (WebCore::blankURL): Ditto
5948 * platform/graphics/FontCache.cpp:
5949 (WebCore::alternateFamilyName): Ditto
5950 * platform/graphics/mac/FontCacheMac.mm:
5951 (WebCore::FontCache::getSimilarFontPlatformData): Ditto
5952 (WebCore::FontCache::getLastResortFallbackFont): Ditto
5953 * platform/mac/ScrollbarThemeMac.mm:
5954 (WebCore::ScrollbarTheme::nativeTheme): Ditto
5955 * platform/mac/ThemeMac.mm:
5956 (WebCore::platformTheme): Ditto
5957 * platform/mac/ThreadCheck.mm:
5958 (WebCoreReportThreadViolation): Ditto
5959 * platform/network/NetworkStateNotifier.cpp:
5960 (WebCore::networkStateNotifier): Ditto
5961 * platform/network/mac/FormDataStreamMac.mm:
5962 (WebCore::getStreamFormDataMap): Ditto
5963 (WebCore::getStreamResourceHandleMap): Ditto
5964 * platform/network/mac/ResourceResponseMac.mm:
5965 (WebCore::ResourceResponse::platformLazyInit): Ditto
5966 * platform/text/TextEncoding.cpp:
5967 (WebCore::TextEncoding::isJapanese): Ditto
5968 * rendering/RenderBlock.cpp:
5969 (WebCore::continuationOutlineTable): Ditto
5970 * rendering/RenderCounter.cpp:
5971 (WebCore::counterMaps): Ditto
5972 * rendering/RenderFlexibleBox.cpp:
5973 (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
5974 * rendering/RenderListItem.cpp:
5975 (WebCore::RenderListItem::markerText): Ditto
5976 * rendering/RenderScrollbarTheme.cpp:
5977 (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
5978 * rendering/RenderThemeMac.mm:
5979 (WebCore::RenderThemeMac::systemFont): Ditto
5980 * rendering/bidi.cpp:
5981 (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
5982 * rendering/style/RenderStyle.cpp:
5983 (WebCore::RenderStyle::initialDashboardRegions): Ditto
5984 (WebCore::RenderStyle::noneDashboardRegions): Ditto
5985 * storage/LocalStorage.cpp:
5986 (WebCore::localStorageMap): Ditto
5987 * svg/SVGAnimateMotionElement.cpp:
5988 (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
5989 * svg/SVGAnimationElement.cpp:
5990 (WebCore::SVGAnimationElement::calcMode): Ditto
5991 (WebCore::SVGAnimationElement::attributeType): Ditto
5992 (WebCore::SVGAnimationElement::isAdditive): Ditto
5993 (WebCore::SVGAnimationElement::isAccumulated): Ditto
5994 * svg/SVGLangSpace.cpp:
5995 (WebCore::SVGLangSpace::xmlspace): Ditto
5996 * svg/SVGSVGElement.cpp:
5997 (WebCore::SVGSVGElement::contentScriptType): Ditto
5998 (WebCore::SVGSVGElement::contentStyleType): Ditto
5999 * svg/SVGStyleElement.cpp:
6000 (WebCore::SVGStyleElement::type): Ditto
6001 (WebCore::SVGStyleElement::media): Ditto
6002 * svg/SVGTextContentElement.cpp:
6003 (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
6004 * svg/animation/SVGSMILElement.cpp:
6005 (WebCore::SVGSMILElement::parseClockValue): Ditto
6006 (WebCore::SVGSMILElement::restart): Ditto
6007 (WebCore::SVGSMILElement::fill): Ditto
6008 (WebCore::SVGSMILElement::repeatCount): Ditto
6009 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
6010 * svg/graphics/SVGResource.cpp:
6011 (WebCore::clientMap): Ditto
6012 * svg/graphics/SVGResourceMarker.cpp:
6013 (WebCore::SVGResourceMarker::draw): Ditto
6014 * xml/XMLHttpRequest.cpp:
6015 (WebCore::preflightResultCache): Ditto
6016 (WebCore::isSafeRequestHeader): Ditto
6017 (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
6018 * xml/XPathExpressionNode.cpp:
6019 (WebCore::XPath::Expression::evaluationContext): Ditto
6020 * xml/XPathParser.cpp:
6021 (WebCore::XPath::isAxisName): Ditto
6022 (WebCore::XPath::isNodeTypeName): Ditto
6023 * xml/XPathValue.cpp:
6024 (WebCore::XPath::Value::toNodeSet): Ditto
6025
vestbo@webkit.org6a404a22008-11-06 19:04:46 +000060262008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
6027
6028 Rubber-stamped by Simon Hausmann.
6029
6030 Remove a bunch of unused methods in the Qt media element implementation
6031
6032 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6033 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
6034 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
6035
simon.fraser@apple.com845c2632008-11-06 18:42:24 +000060362008-11-05 Simon Fraser <simon.fraser@apple.com>
6037
6038 Reviewed by Dave Hyatt
6039
6040 https://bugs.webkit.org/show_bug.cgi?id=21870
6041
6042 Implement absoluteToLocal() to convert a point from absolute
6043 to local coordinates, optionally taking transforms into account.
6044
6045 Use this to set offsetX/offsetY in mouse events, thus fixing
6046 offsetX/offsetY in events on elements with transforms.
6047
6048 Test: fast/events/offsetX-offsetY.html
6049
6050 * dom/MouseRelatedEvent.cpp:
6051 (WebCore::MouseRelatedEvent::receivedTarget):
6052 * rendering/RenderBox.cpp:
6053 (WebCore::RenderBox::localToAbsolute):
6054 (WebCore::RenderBox::absoluteToLocal):
6055 (WebCore::RenderBox::offsetFromContainer):
6056 * rendering/RenderBox.h:
6057 * rendering/RenderObject.cpp:
6058 (WebCore::RenderObject::absoluteToLocal):
6059 * rendering/RenderObject.h:
6060 * rendering/RenderTableCell.cpp:
6061 (WebCore::RenderTableCell::localToAbsolute):
6062 (WebCore::RenderTableCell::absoluteToLocal):
6063 * rendering/RenderTableCell.h:
6064 * rendering/RenderView.cpp:
6065 (WebCore::RenderView::absoluteToLocal):
6066 * rendering/RenderView.h:
6067
alp@webkit.orga8a7ebd2008-11-06 18:41:18 +000060682008-11-06 Alp Toker <alp@nuanti.com>
6069
6070 Reviewed by Cameron Zwarich.
6071
6072 https://bugs.webkit.org/show_bug.cgi?id=22067
6073 [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
6074
6075 null-check symbols loaded from plugin modules, initialize the function
6076 table (like Win already does) and update it with the latest
6077 additions. Adjust whitespace for easy diff'ing with the Win port code
6078 from which it was forked.
6079
6080 This fixes crashes with libnspr4.so and any other plugins that don't
6081 provide the symbols we expect.
6082
6083 * plugins/gtk/PluginPackageGtk.cpp:
6084 (WebCore::PluginPackage::fetchInfo):
6085 (WebCore::PluginPackage::load):
6086
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +000060872008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
6088
6089 Reviewed by Simon Hausmann.
6090
hausmann@webkit.orgbdf11782008-11-06 18:38:57 +00006091 Removed dead (and broken) code from an ancient Symbian port.
6092
6093 * config.h:
6094 * platform/text/AtomicString.h:
6095 * platform/text/PlatformString.h:
6096
60972008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
6098
6099 Reviewed by Simon Hausmann.
6100
hausmann@webkit.orge5ea3732008-11-06 18:38:48 +00006101 Use QLibrary as PlatformModule when compiling with Qt for S60.
6102
6103 * platform/FileSystem.h:
6104
61052008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
6106
6107 Reviewed by Simon Hausmann.
6108
hausmann@webkit.org07a5d322008-11-06 18:38:31 +00006109 Compile fix for Symbian.
6110 The snprintf function is defined in stdio.h, the inclusion
6111 of snprintf.h inside this PLATFORM(SYMBIAN) block does not
6112 compile.
6113
6114 * config.h:
6115
61162008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
6117
6118 Reviewed by Simon Hausmann.
6119
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +00006120 Disable webkit plugins for Symbian.
6121
6122 * WebCore.pro:
6123
vestbo@webkit.orgb2902812008-11-06 12:14:49 +000061242008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
6125
vestbo@webkit.orgecfcaef2008-11-06 12:15:13 +00006126 Fix build break in debug mode when XSLT is not enabled
6127
6128 * loader/Cache.cpp:
6129 (WebCore::Cache::dumpStats):
6130
61312008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
6132
vestbo@webkit.orgb2902812008-11-06 12:14:49 +00006133 Reviewed by Simon Hausmann.
6134
6135 Repaint video on UpdateRequest to prevent recursive painting
6136
6137 Calling QWidget::render() to update the video generates a paint
6138 event that's then picked up by the event filter once more :(
6139
6140 We're really only interested in updates from Phonon, which we
6141 get through the UpdateRequest for each new frame.
6142
6143 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6144 (WebCore::MediaPlayerPrivate::eventFilter):
6145
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +000061462008-11-06 Cameron Zwarich <zwarich@apple.com>
6147
6148 Not reviewed.
6149
cwzwarich@webkit.org5400b932008-11-06 09:22:54 +00006150 Fix the WebCore build for some platforms by changing build scripts to
6151 account for the recent move of the create_hash_table script from the kjs
6152 subdirectory of JavaScriptCore to the root directory.
6153
6154 * WebCore.pro:
6155 * make-generated-sources.sh:
6156
61572008-11-06 Cameron Zwarich <zwarich@apple.com>
6158
6159 Not reviewed.
6160
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +00006161 Fix a case-sensitivity issue in Mac forwarding headers. Strangely
6162 enough, this does not always cause the build to break, even with a
6163 case-sensitive filesystem.
6164
6165 * ForwardingHeaders/runtime/Interpreter.h:
6166
ap@webkit.org90b52e82008-11-06 07:04:47 +000061672008-11-05 Alexey Proskuryakov <ap@webkit.org>
6168
ap@webkit.orgddf67942008-11-06 07:07:23 +00006169 Reviewed by Maciej Stachowiak.
6170
6171 https://bugs.webkit.org/show_bug.cgi?id=22083
6172 MessageEvents cannot be used across threads
6173
6174 * dom/Event.idl:
6175 * dom/MessageEvent.idl:
6176 Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
6177 won't work.
6178
6179 * dom/MessagePort.cpp:
6180 (WebCore::MessagePort::EventData::EventData):
6181 (WebCore::MessagePort::EventData::~EventData):
6182 (WebCore::MessagePort::clone):
6183 (WebCore::MessagePort::postMessage):
6184 (WebCore::MessagePort::startConversation):
6185 (WebCore::MessagePort::dispatchMessages):
6186 * dom/MessagePort.h:
6187 Don't create a MessageEvent until dispatch time - messages can be posted across threads,
6188 but MessageEvents are tied to the thread that they were created in.
6189
61902008-11-05 Alexey Proskuryakov <ap@webkit.org>
6191
ap@webkit.org90b52e82008-11-06 07:04:47 +00006192 Reviewed by Darin Adler.
6193
6194 https://bugs.webkit.org/show_bug.cgi?id=22066
6195 Implement Worker global object
6196
6197 * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
6198
6199 * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
6200 support is still disabled by default.
6201
6202 * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
6203
6204 * bindings/js/JSMessageChannelConstructor.cpp:
6205 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
6206
6207 * bindings/js/JSWorkerContext.cpp: Added.
6208 * bindings/js/JSWorkerContext.h: Added.
6209 * bindings/js/WorkerScriptController.cpp: Added.
6210 * bindings/js/WorkerScriptController.h: Added.
6211 * dom/WorkerContext.cpp: Added.
6212 * dom/WorkerContext.h: Added.
6213 Added an implementation of worker contexts.
6214
6215 * dom/DedicatedWorker.cpp:
6216 (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
6217 (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
6218 and lifetime is not clear at all.
6219
6220 * dom/WorkerLocation.cpp: Added.
6221 * dom/WorkerLocation.h: Added.
6222 * dom/WorkerLocation.idl: Added.
6223 Added WorkerLocation, which is one of the objects available to workers.
6224
6225 * dom/WorkerThread.cpp: Added.
6226 (WebCore::WorkerThread::WorkerThread):
6227 (WebCore::WorkerThread::start):
6228 (WebCore::WorkerThread::workerThreadStart):
6229 (WebCore::WorkerThread::workerThread):
6230 * dom/WorkerThread.h: Added.
6231 (WebCore::WorkerThread::create):
6232 Run some code in a worker thread (no message loop yet).
6233
antti@apple.comc5a38532008-11-06 02:40:54 +000062342008-11-05 Antti Koivisto <antti@apple.com>
6235
6236 Reviewed by Dan Bernstein.
6237
6238 https://bugs.webkit.org/show_bug.cgi?id=22093
6239 Don't keep decoded stylesheet data in cache
6240
6241 <rdar://problem/6343588>
6242
6243 Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
6244 performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
6245 style sheet data in cache by 2/3 in common case.
6246
6247 * loader/CachedCSSStyleSheet.cpp:
6248 (WebCore::CachedCSSStyleSheet::sheetText):
6249 (WebCore::CachedCSSStyleSheet::data):
6250 * loader/CachedCSSStyleSheet.h:
6251
ddkilzer@apple.comb02df962008-11-06 02:00:19 +000062522008-11-05 David Kilzer <ddkilzer@apple.com>
6253
6254 Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
6255
6256 <https://bugs.webkit.org/show_bug.cgi?id=21596>
6257
6258 Reviewed by Antti.
6259
6260 This patch adds real parsing for Pragma and Cache-Control headers
6261 based on RFC 2616, Sections 2, 14.9 and 14.32. It also adds some
6262 new String and StringImpl methods to assist with the parsing.
6263
6264 * loader/Cache.cpp:
6265 (WebCore::Cache::dumpStats): Added. Convenience method for dumping
6266 stats outside of Safari.
6267 * loader/Cache.h: Declared dumpStats().
6268
6269 * loader/CachedResource.cpp:
6270 (WebCore::CachedResource::mustRevalidate): Updated to use
6271 ResourceResponseBase::cacheControlDirectives() instead of substring
6272 matching of the entire Cache-Control header.
6273
6274 * loader/loader.cpp:
6275 (WebCore::Loader::Host::didReceiveResponse): Used the local
6276 'resource' variable instead of 'request->cachedResource()'.
6277
6278 * platform/network/ResourceResponseBase.cpp:
6279 (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
6280 m_haveParsedCacheControlHeader to false when a "Cache-Control"
6281 header is set. Ditto for m_haveParsedPragmaHeader and "Pragma".
6282 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
6283 Provides parsed Pragma header directives.
6284 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
6285 Provides parsed Cache-Control header directives.
6286 (WebCore::isCacheHeaderSeparator): Added. Returns true if a
6287 character is a separator character per RFC 2616, Section 2.2, else
6288 returns false.
6289 (WebCore::isControlCharacter): Added. Returns true if a character
6290 is a control character per RFC 2616 Section 2.2, else returns false.
6291 (WebCore::trimToNextSeparator): Added. Returns a string truncated
6292 at the first separator character per isCacheHeaderSeparator().
6293 (WebCore::parseCacheHeader): Added. This is the main parsing
6294 routine for both Cache-Control and Pragma headers.
6295 (WebCore::parseCacheControlDirectiveValues): Added. This splits
6296 certain Cache-Control directive values into a vector of strings.
6297 * platform/network/ResourceResponseBase.h:
6298 (WebCore::CacheControlDirectiveMap): Added. Typedef for a parsed
6299 Cache-Control header.
6300 (WebCore::PragmaDirectiveMap): Added. Typedef for a parsed Pragma
6301 header.
6302 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
6303 declaration.
6304 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
6305 (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
6306 Added. Boolean to describe when the "Cache-Control" header needs to
6307 be reparsed.
6308 (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader): Added.
6309 Boolean to describe when the "Pragma" header needs to be reparsed.
6310 (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
6311 Cached map to hold parsed "Cache-Control" headers.
6312 (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
6313 Cached map to hold parsed "Pragma" headers.
6314
6315 * platform/text/PlatformString.h:
6316 (WebCore::String::find): Added. Returns the first match based on
6317 the character-matching function pointer passed in.
6318 (WebCore::String::removeCharacters): Added declaration.
6319 (WebCore::find): Added. Inline method that takes a character-
6320 matching function pointer. Called by StringImpl::find().
6321 * platform/text/String.cpp:
6322 (WebCore::String::removeCharacters): Added. Calls
6323 StringImpl::removeCharacters().
6324 * platform/text/StringImpl.cpp:
6325 (WebCore::StringImpl::removeCharacters): Added. Returns a string
6326 with all characters removed that match the character-matching
6327 function pointer passed in. If there is no change to the string, it
6328 returns itself. Based heavily on StringImpl::simplifyWhitespace().
6329 (WebCore::StringImpl::find): Added. Calls WebCore::find().
6330 * platform/text/StringImpl.h:
6331 (WebCore::FindMatchFunctionPtr): Added. Typedef for a character-
6332 matching function pointer.
6333 (WebCore::StringImpl::removeCharacters): Added declaration.
6334 (WebCore::StringImpl::find): Ditto.
6335
justin.garcia@apple.com41ed13a2008-11-06 01:48:04 +000063362008-11-05 Justin Garcia <justin.garcia@apple.com>
6337
6338 Reviewed by Beth Dakin.
6339
6340 <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
6341
6342 As a rule, we don't allow merges out of blockquotes. In the bug, we are inserting a text node
6343 between two blockquotes. Because the start merge moves the text node into a blockquote, when we
6344 determine whether or not we should do the end merge, it incorrectly appears as though the end merge
6345 is merging out of a blockquote. The fix is to determine whether or not we should do the end merge
6346 before we do the start merge, so that the start merge doesn't effect our decision.
6347
6348 * editing/ReplaceSelectionCommand.cpp:
6349 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
6350 (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
6351 (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
6352 * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
6353
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +000063542008-11-05 Cameron Zwarich <zwarich@apple.com>
6355
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +00006356 Not reviewed.
6357
cwzwarich@webkit.org36c7fc72008-11-06 00:41:49 +00006358 Speculatively fix the Windows build, even though these changes may not
6359 actually matter for anything in the build, because the Windows bots are
6360 behind.
6361
6362 * WebCore.vcproj/WebCore.vcproj:
6363
63642008-11-05 Cameron Zwarich <zwarich@apple.com>
6365
6366 Not reviewed.
6367
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +00006368 Fix the Qt build.
6369
6370 * bridge/qt/qt_class.cpp:
6371 * bridge/qt/qt_runtime.h:
6372
63732008-11-05 Cameron Zwarich <zwarich@apple.com>
6374
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +00006375 Rubber-stamped by Sam Weinig.
6376
6377 Move more files to the runtime subdirectory of JavaScriptCore.
6378
6379 * ForwardingHeaders/kjs/collector.h: Removed.
6380 * ForwardingHeaders/kjs/completion.h: Removed.
6381 * ForwardingHeaders/kjs/identifier.h: Removed.
6382 * ForwardingHeaders/kjs/interpreter.h: Removed.
6383 * ForwardingHeaders/kjs/lookup.h: Removed.
6384 * ForwardingHeaders/kjs/operations.h: Removed.
6385 * ForwardingHeaders/kjs/protect.h: Removed.
6386 * ForwardingHeaders/kjs/ustring.h: Removed.
6387 * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
6388 * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
6389 * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
6390 * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
6391 * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
6392 * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
6393 * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
6394 * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
6395 * bindings/js/GCController.cpp:
6396 * bindings/js/JSCustomPositionCallback.h:
6397 * bindings/js/JSCustomPositionErrorCallback.h:
6398 * bindings/js/JSCustomSQLStatementCallback.h:
6399 * bindings/js/JSCustomSQLStatementErrorCallback.h:
6400 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
6401 * bindings/js/JSCustomVoidCallback.h:
6402 * bindings/js/JSDOMBinding.h:
6403 * bindings/js/JSDOMWindowBase.h:
6404 * bindings/js/JSEventListener.h:
6405 * bindings/js/ScheduledAction.h:
6406 * bindings/js/ScriptController.cpp:
6407 * bindings/js/ScriptController.h:
6408 * bindings/objc/WebScriptObject.mm:
6409 * bindings/scripts/CodeGeneratorJS.pm:
6410 * bridge/NP_jsobject.cpp:
6411 * bridge/c/c_class.cpp:
6412 * bridge/jni/jni_class.cpp:
6413 * bridge/jni/jni_jsobject.mm:
6414 * bridge/npruntime.cpp:
6415 * bridge/runtime_root.h:
6416 * history/CachedPage.h:
6417 * html/CanvasRenderingContext2D.cpp:
6418 * html/HTMLCanvasElement.cpp:
6419 * inspector/InspectorController.cpp:
6420 * inspector/JavaScriptCallFrame.cpp:
6421 * page/Console.cpp:
6422 * page/Page.cpp:
6423 * platform/text/AtomicString.cpp:
6424 * platform/text/PlatformString.h:
6425
weinig@apple.comef952ff2008-11-05 20:03:26 +000064262008-11-05 Sam Weinig <sam@webkit.org>
6427
6428 Reviewed by Anders Carlsson.
6429
6430 Fix https://bugs.webkit.org/show_bug.cgi?id=22085
6431 The Plugin JS object should expose item() and namedItem() methods to match Firefox
6432
6433 * bindings/js/JSPluginCustom.cpp:
6434 (WebCore::JSPlugin::nameGetter):
6435 * plugins/Plugin.cpp:
6436 (WebCore::Plugin::namedItem):
6437 * plugins/Plugin.h:
6438 * plugins/Plugin.idl:
6439
ap@webkit.org25eca0a2008-11-05 19:19:02 +000064402008-11-05 Alexey Proskuryakov <ap@webkit.org>
6441
6442 Reviewed by Maciej Stachowiak.
6443
6444 https://bugs.webkit.org/show_bug.cgi?id=21060
6445 Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
6446
6447 Test: fast/dom/Range/surroundContents-check-boundary-points.html
6448
6449 * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
6450
andersca@apple.comd5804932008-11-05 18:42:29 +000064512008-11-05 Anders Carlsson <andersca@apple.com>
6452
6453 Reviewed by Dan Bernstein.
6454
6455 Remove two global destructors from CoreTextController.
6456
6457 * platform/graphics/mac/CoreTextController.cpp:
6458 (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
6459
darin@chromium.orga9ece152008-11-05 18:41:07 +000064602008-11-05 Darin Fisher <darin@chromium.org>
6461
6462 Reviewed by Darin Adler.
6463
6464 CRASH at Scrollbar::invalidateRect due to null m_client
6465 https://bugs.webkit.org/show_bug.cgi?id=22080
6466
6467 * platform/Scrollbar.cpp:
6468 (WebCore::Scrollbar::isWindowActive):
6469 (WebCore::Scrollbar::invalidateRect):
6470
weinig@apple.com84ce5772008-11-05 18:30:59 +000064712008-11-04 Sam Weinig <sam@webkit.org>
6472
6473 Reviewed by Simon Hausmann.
6474
6475 Fix https://bugs.webkit.org/show_bug.cgi?id=21648
6476 navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
6477
6478 - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
6479
6480 * bindings/js/JSMimeTypeArrayCustom.cpp:
6481 (WebCore::JSMimeTypeArray::nameGetter):
6482 * bindings/js/JSPluginArrayCustom.cpp:
6483 (WebCore::JSPluginArray::nameGetter):
6484 * page/DOMWindow.idl:
6485 * plugins/MimeType.idl:
6486 * plugins/MimeTypeArray.cpp:
6487 (WebCore::MimeTypeArray::namedItem):
6488 * plugins/MimeTypeArray.h:
6489 * plugins/MimeTypeArray.idl:
6490 * plugins/Plugin.idl:
6491 * plugins/PluginArray.cpp:
6492 (WebCore::PluginArray::namedItem):
6493 * plugins/PluginArray.h:
6494 * plugins/PluginArray.idl:
6495
sfalken@apple.com206de2b2008-11-05 18:23:10 +000064962008-11-05 Steve Falkenburg <sfalken@apple.com>
6497
6498 Build fix.
6499
6500 * plugins/PluginPackage.cpp:
6501
hausmann@webkit.orge5a83262008-11-05 15:31:30 +000065022008-11-05 Jeff Cook <cookiecaper@gmail.com>
6503
6504 Reviewed by Simon Hausmann and Tor Arne.
6505
6506 Fix crash in the Qt port when unloading swfdec and Flash 10
6507 by reordering window destruction and plugin stop.
6508
6509 See https://bugs.webkit.org/show_bug.cgi?id=20779
6510
6511 * plugins/qt/PluginViewQt.cpp:
6512 (WebCore::PluginView::stop):
6513
hausmann@webkit.org49f97662008-11-05 15:31:10 +000065142008-11-05 Simon Hausmann <hausmann@webkit.org>
6515
6516 Reviewed by Tor Arne Vestbø
6517
hausmann@webkit.orgf9c88732008-11-05 15:31:22 +00006518 Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
6519
6520 Otherwise Flash refuses to load and function :(
6521
6522 * plugins/PluginPackage.cpp:
6523 (WebCore::PluginPackage::determineQuirks):
6524 * plugins/PluginQuirkSet.h:
6525 (WebCore::):
6526 * plugins/qt/PluginViewQt.cpp:
6527 (WebCore::PluginView::getValue):
6528
65292008-11-05 Simon Hausmann <hausmann@webkit.org>
6530
6531 Reviewed by Tor Arne Vestbø
6532
hausmann@webkit.org49f97662008-11-05 15:31:10 +00006533 Unify determineQuirks between the Qt and the Gtk PluginPackage.
6534 Share the code for parsing the module version from the description.
6535 This is currently used to determine Flash based quirks.
6536
6537 * plugins/PluginPackage.cpp:
6538 (WebCore::PluginPackage::createPackage):
6539 (WebCore::PluginPackage::determineQuirks):
6540 (WebCore::PluginPackage::determineModuleVersionFromDescription):
6541 * plugins/PluginPackage.h:
6542 * plugins/gtk/PluginPackageGtk.cpp:
6543 (WebCore::PluginPackage::fetchInfo):
6544 * plugins/qt/PluginPackageQt.cpp:
6545 (WebCore::PluginPackage::fetchInfo):
6546
cwzwarich@webkit.org4bcb8732008-11-05 00:49:41 +000065472008-11-04 Cameron Zwarich <zwarich@apple.com>
6548
6549 Rubber-stamped by Sam Weinig.
6550
6551 Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
6552
6553 * ForwardingHeaders/kjs/dtoa.h: Removed.
6554 * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
6555 * css/CSSParser.cpp:
6556 * platform/text/String.cpp:
6557 * platform/text/StringImpl.cpp:
6558
pam@chromium.org28f3c1b2008-11-05 00:24:44 +000065592008-11-04 Jonathan Haas <myrdred@gmail.com>
6560
6561 Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
6562
6563 Reviewed by Darin Adler.
6564
6565 Fixed an issue which could cause memory corruption using ToT libxml.
6566 See https://bugs.webkit.org/show_bug.cgi?id=15715
6567
6568 Test: fast/xsl/xslt-nested-stylesheets.xml
6569
6570 * xml/XSLImportRule.cpp:
6571 (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
6572 * xml/XSLStyleSheet.cpp:
6573 (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
6574 (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
6575 (WebCore::XSLStyleSheet::setParentStyleSheet): Added
6576 * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
6577
simon.fraser@apple.com0d555c02008-11-04 22:40:53 +000065782008-11-04 Simon Fraser <simon.fraser@apple.com>
6579
6580 No review.
6581
6582 Improved buid fix: include MathExtras.h to get roundf on all platforms.
6583
6584 * platform/graphics/FloatPoint.h:
6585
beidson@apple.com0d9e16f2008-11-04 20:55:13 +000065862008-11-04 Brady Eidson <beidson@apple.com>
6587
6588 Reviewed by John Sullivan
6589
6590 Add a simple "visited" method to HistoryItem for use by global history
6591
6592 * WebCore.base.exp:
6593
6594 * history/HistoryItem.cpp:
6595 (WebCore::HistoryItem::visited): Update the title on the item, set last visited time,
6596 and bump the visit count. All things that should happen when a url is visited again!
6597 * history/HistoryItem.h:
6598
jmalonzo@webkit.org5b93bc22008-11-04 19:43:58 +000065992008-11-04 Jan Michael Alonzo <jmalonzo@webkit.org>
6600
6601 Build fix. Not reviewed.
6602
6603 * platform/graphics/FloatPoint.h: include math.h.
6604 reported by zdobersek in #webkit.
6605
darin@chromium.org48246852008-11-04 19:40:56 +000066062008-11-04 Darin Fisher <darin@chromium.org>
6607
6608 Reviewed by Anders Carlsson.
6609
6610 No need to clobber all ResourceRequest fields in FrameLoader::reload()
6611 https://bugs.webkit.org/show_bug.cgi?id=21949
6612
6613 * loader/FrameLoader.cpp:
6614 (WebCore::FrameLoader::reload):
6615
darin@apple.comebdfeb62008-11-04 19:00:58 +000066162008-11-04 Darin Adler <darin@apple.com>
6617
6618 Reviewed by Tim Hatcher.
6619
6620 * storage/Database.cpp:
6621 (WebCore::databaseVersionKey): Tweaked formatting.
6622
darin@apple.com6d0ef6f2008-11-04 18:58:45 +000066232008-11-03 Darin Adler <darin@apple.com>
6624
6625 Reviewed by Tim Hatcher.
6626
6627 - https://bugs.webkit.org/show_bug.cgi?id=22061
6628 create script to check for exit-time destructors
6629
6630 * WebCore.xcodeproj/project.pbxproj: Added a script
6631 phase that runs the check-for-exit-time-destructors script.
6632
6633 * html/HTMLAttributeNames.in: Removed some unused attribute names.
6634
6635 * html/HTMLEmbedElement.cpp:
6636 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
6637 sets the write-only m_pluginPage.
6638 * html/HTMLEmbedElement.h: Ditto.
6639
6640 * platform/mac/CursorMac.mm:
6641 (WebCore::leakNamedCursor): Changed to return a Cursor&.
6642 (WebCore::pointerCursor): Changed to leak an object to avoid an
6643 exit-time destructor.
6644 (WebCore::crossCursor): Ditto.
6645 (WebCore::handCursor): Ditto.
6646 (WebCore::moveCursor): Ditto.
6647 (WebCore::verticalTextCursor): Ditto.
6648 (WebCore::cellCursor): Ditto.
6649 (WebCore::contextMenuCursor): Ditto.
6650 (WebCore::aliasCursor): Ditto.
6651 (WebCore::zoomInCursor): Ditto.
6652 (WebCore::zoomOutCursor): Ditto.
6653 (WebCore::copyCursor): Ditto.
6654 (WebCore::noneCursor): Ditto.
6655 (WebCore::progressCursor): Ditto.
6656 (WebCore::noDropCursor): Ditto.
6657 (WebCore::notAllowedCursor): Ditto.
6658 (WebCore::iBeamCursor): Ditto.
6659 (WebCore::waitCursor): Ditto.
6660 (WebCore::helpCursor): Ditto.
6661 (WebCore::eastResizeCursor): Ditto.
6662 (WebCore::northResizeCursor): Ditto.
6663 (WebCore::northEastResizeCursor): Ditto.
6664 (WebCore::northWestResizeCursor): Ditto.
6665 (WebCore::southResizeCursor): Ditto.
6666 (WebCore::southEastResizeCursor): Ditto.
6667 (WebCore::southWestResizeCursor): Ditto.
6668 (WebCore::westResizeCursor): Ditto.
6669 (WebCore::northSouthResizeCursor): Ditto.
6670 (WebCore::eastWestResizeCursor): Ditto.
6671 (WebCore::northEastSouthWestResizeCursor): Ditto.
6672 (WebCore::northWestSouthEastResizeCursor): Ditto.
6673 (WebCore::columnResizeCursor): Ditto.
6674 (WebCore::rowResizeCursor): Ditto.
6675 (WebCore::grabCursor): Ditto.
6676 (WebCore::grabbingCursor): Ditto.
6677
6678 * storage/Database.cpp:
6679 (WebCore::guidMutex): Changed to leak an object to avoid an
6680 exit-time destructor. Also added a comment explaining why it's
6681 thread safe.
6682 (WebCore::guidToVersionMap): Ditto.
6683 (WebCore::guidToDatabaseMap): Ditto.
6684 (WebCore::Database::databaseInfoTableName): Ditto.
6685 (WebCore::databaseVersionKey): Ditto.
6686 (WebCore::Database::getVersionFromDatabase): Ditto.
6687 (WebCore::Database::setVersionInDatabase): Ditto.
6688 (WebCore::guidForOriginAndName): Ditto.
6689 * storage/DatabaseTracker.cpp:
6690 (WebCore::DatabaseTracker::tracker): Ditto.
6691 (WebCore::notificationMutex): Ditto.
6692 (WebCore::notificationQueue): Ditto.
6693 (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
6694
simon.fraser@apple.comc65d3282008-11-04 18:54:50 +000066952008-11-04 Simon Fraser <simon.fraser@apple.com>
6696
6697 Reviewed by Dave Hyatt
6698
6699 https://bugs.webkit.org/show_bug.cgi?id=21941
6700
6701 Rename absolutePosition() to localToAbsolute(), and add the ability
6702 to optionally take transforms into account (which will eventually be the
6703 default behavior).
6704
6705 * WebCore.base.exp:
6706 * WebCore.xcodeproj/project.pbxproj:
6707 * dom/ContainerNode.cpp:
6708 (WebCore::ContainerNode::getUpperLeftCorner):
6709 (WebCore::ContainerNode::getLowerRightCorner):
6710 (WebCore::ContainerNode::getRect):
6711 * dom/ContainerNode.h:
6712 * dom/MouseRelatedEvent.cpp:
6713 (WebCore::MouseRelatedEvent::receivedTarget):
6714 * dom/Node.cpp:
6715 (WebCore::Node::getRect):
6716 * editing/SelectionController.cpp:
6717 (WebCore::SelectionController::layout):
6718 (WebCore::SelectionController::caretRect):
6719 * editing/visible_units.cpp:
6720 (WebCore::previousLinePosition):
6721 (WebCore::nextLinePosition):
6722 * html/HTMLAnchorElement.cpp:
6723 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
6724 (WebCore::HTMLAnchorElement::defaultEventHandler):
6725 * html/HTMLAreaElement.cpp:
6726 (WebCore::HTMLAreaElement::getRect):
6727 * html/HTMLImageElement.cpp:
6728 (WebCore::HTMLImageElement::x):
6729 (WebCore::HTMLImageElement::y):
6730 * html/HTMLInputElement.cpp:
6731 (WebCore::HTMLInputElement::defaultEventHandler):
6732 * html/HTMLInputElement.h:
6733 * page/AccessibilityRenderObject.cpp:
6734 (WebCore::AccessibilityRenderObject::boundingBoxRect):
6735 * page/EventHandler.cpp:
6736 (WebCore::EventHandler::handleDrag):
6737 * platform/graphics/FloatPoint.h:
6738 (WebCore::roundedIntPoint):
6739 * platform/graphics/IntSize.h:
6740 (WebCore::IntSize::expand):
6741 * rendering/LayoutState.cpp:
6742 (WebCore::LayoutState::LayoutState):
6743 * rendering/RenderBlock.cpp:
6744 (WebCore::RenderBlock::layoutBlock):
6745 (WebCore::RenderBlock::paintObject):
6746 (WebCore::RenderBlock::selectionGapRects):
6747 (WebCore::RenderBlock::fillBlockSelectionGaps):
6748 (WebCore::RenderBlock::nodeAtPoint):
6749 (WebCore::RenderBlock::positionForCoordinates):
6750 * rendering/RenderBox.cpp:
6751 (WebCore::RenderBox::localToAbsolute):
6752 (WebCore::RenderBox::computeAbsoluteRepaintRect):
6753 (WebCore::RenderBox::caretRect):
6754 * rendering/RenderBox.h:
6755 (WebCore::RenderBox::relativePositionOffset):
6756 * rendering/RenderContainer.cpp:
6757 (WebCore::RenderContainer::addLineBoxRects):
6758 * rendering/RenderFlow.cpp:
6759 (WebCore::RenderFlow::absoluteClippedOverflowRect):
6760 (WebCore::RenderFlow::caretRect):
6761 (WebCore::RenderFlow::addFocusRingRects):
6762 * rendering/RenderLayer.cpp:
6763 (WebCore::RenderLayer::updateLayerPosition):
6764 (WebCore::RenderLayer::convertToLayerCoords):
6765 (WebCore::RenderLayer::addScrolledContentOffset):
6766 (WebCore::RenderLayer::subtractScrolledContentOffset):
6767 (WebCore::RenderLayer::scrollRectToVisible):
6768 * rendering/RenderLayer.h:
6769 (WebCore::RenderLayer::scrolledContentOffset):
6770 (WebCore::RenderLayer::relativePositionOffset):
6771 * rendering/RenderListBox.cpp:
6772 (WebCore::RenderListBox::panScroll):
6773 (WebCore::RenderListBox::scrollToward):
6774 * rendering/RenderListMarker.cpp:
6775 (WebCore::RenderListMarker::selectionRect):
6776 * rendering/RenderObject.cpp:
6777 (WebCore::RenderObject::absoluteBoundingBoxRect):
6778 (WebCore::RenderObject::computeAbsoluteRepaintRect):
6779 (WebCore::RenderObject::localToAbsolute):
6780 (WebCore::RenderObject::addDashboardRegions):
6781 (WebCore::RenderObject::absoluteContentBox):
6782 (WebCore::RenderObject::absoluteOutlineBox):
6783 * rendering/RenderObject.h:
6784 (WebCore::RenderObject::localToAbsoluteForContent):
6785 * rendering/RenderPart.cpp:
6786 (WebCore::RenderPart::updateWidgetPosition):
6787 * rendering/RenderReplaced.cpp:
6788 (WebCore::RenderReplaced::selectionRect):
6789 * rendering/RenderSVGInlineText.cpp:
6790 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
6791 * rendering/RenderSVGText.cpp:
6792 (WebCore::RenderSVGText::absoluteRects):
6793 * rendering/RenderTableCell.cpp:
6794 (WebCore::RenderTableCell::localToAbsolute):
6795 * rendering/RenderTableCell.h:
6796 * rendering/RenderText.cpp:
6797 (WebCore::RenderText::addLineBoxRects):
6798 (WebCore::RenderText::caretRect):
6799 (WebCore::RenderText::selectionRect):
6800 * rendering/RenderVideo.cpp:
6801 (WebCore::RenderVideo::updatePlayer):
6802 * rendering/RenderView.cpp:
6803 (WebCore::RenderView::localToAbsolute):
6804 * rendering/RenderView.h:
6805 * rendering/RenderWidget.cpp:
6806 (WebCore::RenderWidget::updateWidgetPosition):
6807 * svg/SVGSVGElement.cpp:
6808 (WebCore::SVGSVGElement::getScreenCTM):
6809
hausmann@webkit.orgb8b5aa12008-11-04 16:22:05 +000068102008-11-03 Yael Aharon <yael.aharon@nokia.com>
6811
6812 Reviewed by Simon Hausmann.
6813
6814 Add methods for getting and setting user data on History Item.
6815 This change is limited to QT port only. Tests were added in
6816 the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
6817
6818 Minor change by Simon: made the functions inline and added a missing
6819 const.
6820
6821 * history/HistoryItem.h:
6822
ap@webkit.orgc5e3f1b2008-11-04 10:46:13 +000068232008-11-01 Alexey Proskuryakov <ap@webkit.org>
6824
6825 Reviewed by Darin Adler.
6826
6827 https://bugs.webkit.org/show_bug.cgi?id=22030
6828 Make EventNames usable from multiple threads
6829
6830 * platform/text/AtomicString.cpp:
6831 (WebCore::stringTable):
6832 (WebCore::AtomicString::add):
6833 (WebCore::AtomicString::remove):
6834 (WebCore::AtomicString::find):
6835 (WebCore::AtomicString::init):
6836 * platform/text/AtomicString.h:
6837 Atomic string table is now per-thread. Individual strings cannot be shared between threads,
6838 so global AtomicString constants cannot be used from threads other than the main one.
6839
6840 * dom/EventNames.cpp:
6841 (WebCore::EventNames::EventNames):
6842 (WebCore::eventNames):
6843 (WebCore::EventNames::init):
6844 * dom/EventNames.h:
6845 Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
6846 eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
6847 threads.
6848
6849 * WebCore.base.exp:
6850 * bindings/js/JSDOMWindowBase.cpp:
6851 * bindings/js/JSEventListener.cpp:
6852 * bindings/js/ScriptController.cpp:
6853 (WebCore::ScriptController::processingUserGesture):
6854 * dom/BeforeTextInsertedEvent.cpp:
6855 (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
6856 * dom/BeforeUnloadEvent.cpp:
6857 (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
6858 * dom/CharacterData.cpp:
6859 (WebCore::CharacterData::dispatchModifiedEvent):
6860 * dom/ContainerNode.cpp:
6861 (WebCore::dispatchChildInsertionEvents):
6862 (WebCore::dispatchChildRemovalEvents):
6863 * dom/DedicatedWorker.cpp:
6864 (WebCore::DedicatedWorker::dispatchErrorEvent):
6865 * dom/Document.cpp:
6866 (WebCore::Document::implicitClose):
6867 (WebCore::Document::setFocusedNode):
6868 (WebCore::Document::addListenerTypeIfNeeded):
6869 (WebCore::Document::removeWindowInlineEventListenerForType):
6870 (WebCore::Document::addWindowEventListener):
6871 (WebCore::Document::removeWindowEventListener):
6872 (WebCore::Document::finishedParsing):
6873 * dom/EventTargetNode.cpp:
6874 (WebCore::EventTargetNode::dispatchGenericEvent):
6875 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
6876 (WebCore::EventTargetNode::dispatchWindowEvent):
6877 (WebCore::EventTargetNode::dispatchUIEvent):
6878 (WebCore::EventTargetNode::dispatchSimulatedClick):
6879 (WebCore::EventTargetNode::dispatchMouseEvent):
6880 (WebCore::EventTargetNode::dispatchFocusEvent):
6881 (WebCore::EventTargetNode::dispatchBlurEvent):
6882 (WebCore::EventTargetNode::defaultEventHandler):
6883 (WebCore::EventTargetNode::on*): (multiple methods)
6884 (WebCore::EventTargetNode::setOn*): (multiple methods)
6885 * dom/KeyboardEvent.cpp:
6886 (WebCore::eventTypeForKeyboardEventType):
6887 (WebCore::KeyboardEvent::keyCode):
6888 (WebCore::KeyboardEvent::charCode):
6889 * dom/MessageEvent.cpp:
6890 (WebCore::MessageEvent::MessageEvent):
6891 * dom/MessagePort.cpp:
6892 (WebCore::MessagePort::dispatchMessages):
6893 (WebCore::MessagePort::dispatchCloseEvent):
6894 * dom/MouseEvent.cpp:
6895 (WebCore::MouseEvent::isDragEvent):
6896 (WebCore::MouseEvent::toElement):
6897 (WebCore::MouseEvent::fromElement):
6898 * dom/OverflowEvent.cpp:
6899 (WebCore::OverflowEvent::OverflowEvent):
6900 * dom/TextEvent.cpp:
6901 (WebCore::TextEvent::TextEvent):
6902 * dom/WebKitAnimationEvent.cpp:
6903 (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
6904 (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
6905 (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
6906 (WebCore::WebKitAnimationEvent::animationName):
6907 (WebCore::WebKitAnimationEvent::elapsedTime):
6908 * dom/WebKitTransitionEvent.cpp:
6909 (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
6910 (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
6911 (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
6912 (WebCore::WebKitTransitionEvent::propertyName):
6913 (WebCore::WebKitTransitionEvent::elapsedTime):
6914 * dom/WheelEvent.cpp:
6915 (WebCore::WheelEvent::WheelEvent):
6916 (WebCore::WheelEvent::initWheelEvent):
6917 * dom/XMLTokenizerLibxml2.cpp:
6918 * dom/XMLTokenizerQt.cpp:
6919 * editing/DeleteButton.cpp:
6920 (WebCore::DeleteButton::defaultEventHandler):
6921 * editing/EditCommand.cpp:
6922 * editing/Editor.cpp:
6923 (WebCore::Editor::canDHTMLCut):
6924 (WebCore::Editor::canDHTMLCopy):
6925 (WebCore::Editor::canDHTMLPaste):
6926 (WebCore::Editor::tryDHTMLCopy):
6927 (WebCore::Editor::tryDHTMLCut):
6928 (WebCore::Editor::tryDHTMLPaste):
6929 (WebCore::dispatchEditableContentChangedEvents):
6930 * editing/ReplaceSelectionCommand.cpp:
6931 (WebCore::ReplacementFragment::ReplacementFragment):
6932 * editing/SelectionController.cpp:
6933 (WebCore::SelectionController::setFocused):
6934 * html/HTMLAnchorElement.cpp:
6935 (WebCore::HTMLAnchorElement::defaultEventHandler):
6936 * html/HTMLBodyElement.cpp:
6937 (WebCore::HTMLBodyElement::parseMappedAttribute):
6938 * html/HTMLButtonElement.cpp:
6939 (WebCore::HTMLButtonElement::parseMappedAttribute):
6940 (WebCore::HTMLButtonElement::defaultEventHandler):
6941 * html/HTMLElement.cpp:
6942 (WebCore::HTMLElement::parseMappedAttribute):
6943 * html/HTMLFormControlElement.cpp:
6944 (WebCore::HTMLFormControlElement::onChange):
6945 * html/HTMLFormElement.cpp:
6946 (WebCore::HTMLFormElement::handleLocalEvents):
6947 (WebCore::HTMLFormElement::prepareSubmit):
6948 (WebCore::HTMLFormElement::reset):
6949 (WebCore::HTMLFormElement::parseMappedAttribute):
6950 * html/HTMLFrameElementBase.cpp:
6951 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
6952 * html/HTMLFrameSetElement.cpp:
6953 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
6954 * html/HTMLImageElement.cpp:
6955 (WebCore::HTMLImageElement::parseMappedAttribute):
6956 * html/HTMLImageLoader.cpp:
6957 (WebCore::HTMLImageLoader::dispatchLoadEvent):
6958 * html/HTMLInputElement.cpp:
6959 (WebCore::HTMLInputElement::parseMappedAttribute):
6960 (WebCore::HTMLInputElement::setValueFromRenderer):
6961 (WebCore::HTMLInputElement::preDispatchEventHandler):
6962 (WebCore::HTMLInputElement::postDispatchEventHandler):
6963 (WebCore::HTMLInputElement::defaultEventHandler):
6964 (WebCore::HTMLInputElement::onSearch):
6965 * html/HTMLLabelElement.cpp:
6966 (WebCore::HTMLLabelElement::defaultEventHandler):
6967 * html/HTMLMediaElement.cpp:
6968 (WebCore::HTMLMediaElement::load):
6969 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
6970 (WebCore::HTMLMediaElement::setReadyState):
6971 (WebCore::HTMLMediaElement::progressEventTimerFired):
6972 (WebCore::HTMLMediaElement::seek):
6973 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
6974 (WebCore::HTMLMediaElement::setPlaybackRate):
6975 (WebCore::HTMLMediaElement::play):
6976 (WebCore::HTMLMediaElement::pause):
6977 (WebCore::HTMLMediaElement::setVolume):
6978 (WebCore::HTMLMediaElement::setMuted):
6979 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
6980 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
6981 * html/HTMLObjectElement.cpp:
6982 (WebCore::HTMLObjectElement::parseMappedAttribute):
6983 * html/HTMLOptionElement.cpp:
6984 * html/HTMLScriptElement.cpp:
6985 (WebCore::HTMLScriptElement::parseMappedAttribute):
6986 (WebCore::HTMLScriptElement::dispatchLoadEvent):
6987 (WebCore::HTMLScriptElement::dispatchErrorEvent):
6988 * html/HTMLSelectElement.cpp:
6989 (WebCore::HTMLSelectElement::parseMappedAttribute):
6990 (WebCore::HTMLSelectElement::defaultEventHandler):
6991 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
6992 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
6993 * html/HTMLTextAreaElement.cpp:
6994 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
6995 (WebCore::HTMLTextAreaElement::defaultEventHandler):
6996 * html/HTMLTokenizer.cpp:
6997 (WebCore::HTMLTokenizer::notifyFinished):
6998 * loader/FrameLoader.cpp:
6999 (WebCore::FrameLoader::stopLoading):
7000 (WebCore::FrameLoader::canCachePage):
7001 * loader/ImageDocument.cpp:
7002 (WebCore::ImageEventListener::handleEvent):
7003 * loader/ImageLoader.cpp:
7004 * loader/MediaDocument.cpp:
7005 (WebCore::MediaDocument::defaultEventHandler):
7006 * loader/appcache/DOMApplicationCache.cpp:
7007 (WebCore::DOMApplicationCache::callCheckingListener):
7008 (WebCore::DOMApplicationCache::callErrorListener):
7009 (WebCore::DOMApplicationCache::callNoUpdateListener):
7010 (WebCore::DOMApplicationCache::callDownloadingListener):
7011 (WebCore::DOMApplicationCache::callProgressListener):
7012 (WebCore::DOMApplicationCache::callUpdateReadyListener):
7013 (WebCore::DOMApplicationCache::callCachedListener):
7014 * page/AccessibilityObject.cpp:
7015 * page/AccessibilityRenderObject.cpp:
7016 (WebCore::AccessibilityRenderObject::mouseButtonListener):
7017 * page/ContextMenuController.cpp:
7018 (WebCore::ContextMenuController::handleContextMenuEvent):
7019 * page/DOMWindow.cpp:
7020 (WebCore::DOMWindow::on*): (multiple methods)
7021 (WebCore::DOMWindow::setOn*): (multiple methods)
7022 * page/EventHandler.cpp:
7023 (WebCore::EventHandler::handleMousePressEvent):
7024 (WebCore::EventHandler::handleMouseDoubleClickEvent):
7025 (WebCore::EventHandler::handleMouseMoveEvent):
7026 (WebCore::EventHandler::handleMouseReleaseEvent):
7027 (WebCore::EventHandler::updateDragAndDrop):
7028 (WebCore::EventHandler::cancelDragAndDrop):
7029 (WebCore::EventHandler::performDragAndDrop):
7030 (WebCore::EventHandler::updateMouseEventTargetNode):
7031 (WebCore::EventHandler::dispatchMouseEvent):
7032 (WebCore::EventHandler::sendContextMenuEvent):
7033 (WebCore::EventHandler::canMouseDownStartSelect):
7034 (WebCore::EventHandler::canMouseDragExtendSelect):
7035 (WebCore::EventHandler::defaultKeyboardEventHandler):
7036 (WebCore::EventHandler::dragSourceMovedTo):
7037 (WebCore::EventHandler::dragSourceEndedAt):
7038 (WebCore::EventHandler::handleDrag):
7039 (WebCore::EventHandler::handleTextInputEvent):
7040 * page/FocusController.cpp:
7041 * page/Frame.cpp:
7042 (WebCore::Frame::sendResizeEvent):
7043 (WebCore::Frame::sendScrollEvent):
7044 * page/Page.cpp:
7045 (WebCore::networkStateChanged):
7046 * page/animation/AnimationBase.cpp:
7047 (WebCore::AnimationBase::updateStateMachine):
7048 (WebCore::AnimationBase::animationTimerCallbackFired):
7049 (WebCore::AnimationBase::primeEventTimers):
7050 * page/animation/ImplicitAnimation.cpp:
7051 (WebCore::ImplicitAnimation::onAnimationEnd):
7052 (WebCore::ImplicitAnimation::sendTransitionEvent):
7053 * page/animation/KeyframeAnimation.cpp:
7054 (WebCore::KeyframeAnimation::onAnimationStart):
7055 (WebCore::KeyframeAnimation::onAnimationIteration):
7056 (WebCore::KeyframeAnimation::onAnimationEnd):
7057 (WebCore::KeyframeAnimation::sendAnimationEvent):
7058 * page/gtk/EventHandlerGtk.cpp:
7059 * page/mac/EventHandlerMac.mm:
7060 (WebCore::isKeyboardOptionTab):
7061 * page/mac/FrameMac.mm:
7062 * page/qt/EventHandlerQt.cpp:
7063 (WebCore::isKeyboardOptionTab):
7064 * plugins/PluginView.cpp:
7065 * plugins/gtk/PluginViewGtk.cpp:
7066 * plugins/qt/PluginViewQt.cpp:
7067 * plugins/win/PluginViewWin.cpp:
7068 (WebCore::PluginView::handleKeyboardEvent):
7069 (WebCore::PluginView::handleMouseEvent):
7070 * rendering/MediaControlElements.cpp:
7071 (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
7072 (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
7073 (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
7074 (WebCore::MediaControlTimelineElement::defaultEventHandler):
7075 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
7076 * rendering/RenderFrameSet.cpp:
7077 (WebCore::RenderFrameSet::userResize):
7078 * rendering/RenderLayer.cpp:
7079 (WebCore::RenderLayer::scrollToOffset):
7080 * rendering/RenderListBox.cpp:
7081 (WebCore::RenderListBox::valueChanged):
7082 * rendering/RenderMedia.cpp:
7083 (WebCore::RenderMedia::forwardEvent):
7084 * rendering/RenderObject.cpp:
7085 * rendering/RenderSlider.cpp:
7086 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
7087 * rendering/RenderTextControl.cpp:
7088 (WebCore::RenderTextControl::forwardEvent):
7089 (WebCore::RenderTextControl::selectionChanged):
7090 * rendering/RenderWidget.cpp:
7091 * rendering/TextControlInnerElements.cpp:
7092 (WebCore::TextControlInnerTextElement::defaultEventHandler):
7093 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
7094 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
7095 * storage/LocalStorageArea.cpp:
7096 (WebCore::LocalStorageArea::dispatchStorageEvent):
7097 * storage/SessionStorageArea.cpp:
7098 (WebCore::SessionStorageArea::dispatchStorageEvent):
7099 * svg/SVGAElement.cpp:
7100 (WebCore::SVGAElement::defaultEventHandler):
7101 * svg/SVGDocument.cpp:
7102 (WebCore::SVGDocument::dispatchZoomEvent):
7103 (WebCore::SVGDocument::dispatchScrollEvent):
7104 * svg/SVGElement.cpp:
7105 (WebCore::SVGElement::parseMappedAttribute):
7106 (WebCore::hasLoadListener):
7107 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
7108 * svg/SVGElementInstance.cpp:
7109 (WebCore::SVGElementInstance::on*): (multiple methods)
7110 (WebCore::SVGElementInstance::setOn*): (multiple methods)
7111 * svg/SVGImageLoader.cpp:
7112 (WebCore::SVGImageLoader::dispatchLoadEvent):
7113 * svg/SVGSVGElement.cpp:
7114 (WebCore::SVGSVGElement::parseMappedAttribute):
7115 * svg/SVGScriptElement.cpp:
7116 (WebCore::SVGScriptElement::dispatchErrorEvent):
7117 * xml/XMLHttpRequest.cpp:
7118 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
7119 (WebCore::XMLHttpRequest::dispatchAbortEvent):
7120 (WebCore::XMLHttpRequest::dispatchErrorEvent):
7121 (WebCore::XMLHttpRequest::dispatchLoadEvent):
7122 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
7123 (WebCore::XMLHttpRequest::dispatchProgressEvent):
7124 * xml/XMLHttpRequestUpload.cpp:
7125 (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
7126 (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
7127 (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
7128 (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
7129 (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
7130 * xml/XPathResult.cpp:
7131 (WebCore::XPathResult::XPathResult):
7132 (WebCore::XPathResult::~XPathResult):
7133 (WebCore::XPathResult::invalidateIteratorState):
7134 Access event names via eventNames() function.
7135
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +000071362008-11-04 Cameron Zwarich <zwarich@apple.com>
7137
cwzwarich@webkit.orgd39a1fc2008-11-04 09:43:49 +00007138 Reviewed by Mark Rowe.
7139
7140 Delete unused forwarding headers.
7141
7142 * ForwardingHeaders/kjs/Activation.h: Removed.
7143 * ForwardingHeaders/kjs/Register.h: Removed.
7144 * ForwardingHeaders/kjs/RegisterID.h: Removed.
7145
71462008-11-04 Cameron Zwarich <zwarich@apple.com>
7147
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +00007148 Not reviewed.
7149
7150 Fix stupid typo in previous build fix.
7151
7152 * bindings/js/JSStorageCustom.cpp:
7153 * bindings/scripts/CodeGeneratorJS.pm:
7154 * bridge/NP_jsobject.cpp:
7155
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +000071562008-11-03 Cameron Zwarich <zwarich@apple.com>
7157
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +00007158 Not reviewed.
7159
cwzwarich@webkit.org5d5284b2008-11-04 07:56:20 +00007160 Fix the build for all non-Mac platforms.
7161
7162 * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
7163 * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
7164 * bindings/js/JSStorageCustom.cpp:
7165 * bindings/scripts/CodeGeneratorJS.pm:
7166 * bridge/NP_jsobject.cpp:
7167
71682008-11-03 Cameron Zwarich <zwarich@apple.com>
7169
7170 Not reviewed.
7171
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +00007172 Fix the wxWindows build.
7173
7174 * bridge/c/c_instance.cpp:
7175
71762008-11-03 Cameron Zwarich <zwarich@apple.com>
7177
cwzwarich@webkit.orgb91210c2008-11-04 07:10:41 +00007178 Rubber-stamped by Maciej Stachowiak.
7179
7180 Move more files into the runtime subdirectory of JavaScriptCore.
7181
7182 * ForwardingHeaders/kjs/ArgList.h: Removed.
7183 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
7184 * ForwardingHeaders/kjs/ExecState.h: Removed.
7185 * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
7186 * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
7187 * ForwardingHeaders/kjs/JSLock.h: Removed.
7188 * ForwardingHeaders/kjs/SymbolTable.h: Removed.
7189 * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
7190 * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
7191 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
7192 * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
7193 * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
7194 * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
7195 * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
7196 * bindings/js/GCController.cpp:
7197 * bindings/js/JSCustomPositionCallback.cpp:
7198 * bindings/js/JSCustomPositionErrorCallback.cpp:
7199 * bindings/js/JSCustomSQLStatementCallback.cpp:
7200 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
7201 * bindings/js/JSCustomSQLTransactionCallback.cpp:
7202 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7203 * bindings/js/JSCustomVoidCallback.cpp:
7204 * bindings/js/JSCustomXPathNSResolver.cpp:
7205 * bindings/js/JSDOMWindowBase.cpp:
7206 * bindings/js/JSEventCustom.cpp:
7207 * bindings/js/JSEventListener.cpp:
7208 * bindings/js/JSNodeFilterCondition.cpp:
7209 * bindings/js/ScheduledAction.cpp:
7210 * bindings/js/ScriptController.cpp:
7211 * bindings/js/ScriptControllerMac.mm:
7212 * bindings/objc/WebScriptObject.mm:
7213 * bridge/NP_jsobject.cpp:
7214 * bridge/c/c_class.cpp:
7215 * bridge/c/c_instance.cpp:
7216 * bridge/c/c_runtime.cpp:
7217 * bridge/c/c_utility.cpp:
7218 * bridge/jni/jni_class.cpp:
7219 * bridge/jni/jni_instance.cpp:
7220 * bridge/jni/jni_jsobject.mm:
7221 * bridge/jni/jni_objc.mm:
7222 * bridge/jni/jni_runtime.cpp:
7223 * bridge/jni/jni_runtime.h:
7224 * bridge/jni/jni_utility.cpp:
7225 * bridge/npruntime.cpp:
7226 * bridge/objc/objc_instance.mm:
7227 * bridge/objc/objc_runtime.mm:
7228 * bridge/objc/objc_utility.mm:
7229 * bridge/runtime.cpp:
7230 * dom/Document.cpp:
7231 * dom/Node.cpp:
7232 * dom/NodeFilter.cpp:
7233 * dom/NodeIterator.cpp:
7234 * dom/TreeWalker.cpp:
7235 * history/CachedPage.cpp:
7236 * inspector/InspectorController.cpp:
7237 * inspector/JavaScriptCallFrame.cpp:
7238 * inspector/JavaScriptCallFrame.h:
7239 * inspector/JavaScriptDebugServer.cpp:
7240 * inspector/JavaScriptProfileNode.cpp:
7241 * loader/FrameLoader.cpp:
7242 * loader/icon/IconDatabase.cpp:
7243 * page/Console.cpp:
7244 * page/Page.cpp:
7245 * page/mac/FrameMac.mm:
7246 * plugins/PluginView.cpp:
7247 * plugins/gtk/PluginViewGtk.cpp:
7248 * plugins/qt/PluginViewQt.cpp:
7249 * plugins/win/PluginViewWin.cpp:
7250 * storage/Database.cpp:
7251 * xml/XMLHttpRequest.cpp:
7252
72532008-11-03 Cameron Zwarich <zwarich@apple.com>
7254
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +00007255 Reviewed by Sam Weinig.
7256
7257 Remove the forwarding header for FunctionCallProfile, because it was
7258 renamed to ProfileNode in r33466.
7259
7260 * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
7261
simon.fraser@apple.comf9050b32008-11-03 22:37:00 +000072622008-11-03 Simon Fraser <simon.fraser@apple.com>
7263
7264 Reviewed by Dave Hyatt
7265
7266 https://bugs.webkit.org/show_bug.cgi?id=22026
7267
7268 When computing the bounds of the transparency layer, we need to
7269 map the clipRect through the enclosing transform.
7270
7271 Test: fast/layers/opacity-transforms.html
7272
7273 * rendering/RenderLayer.cpp:
7274 (WebCore::transparencyClipBox):
7275
kdecker@apple.comeb4eabb22008-11-03 20:52:50 +000072762008-11-03 Kevin Decker <kdecker@apple.com>
7277
7278 Reviewed by Anders Carlsson.
7279
7280 https://bugs.webkit.org/show_bug.cgi?id=22053
7281
7282 Added additional support needed for the NPDrawingModelCoreAnimation drawing model.
7283
7284 * bridge/npapi.h:
7285
alp@webkit.org75ab3a52008-11-03 19:15:13 +000072862008-11-03 Xan Lopez <xan@gnome.org>
7287
7288 Reviewed by Alp Toker.
7289
7290 Update parseDataUrl() function in the libsoup http backend with
7291 the one from the curl backend which has recent correctness and crash
7292 fixes.
7293
7294 * platform/network/soup/ResourceHandleSoup.cpp:
7295 (WebCore::parseDataUrl):
7296
alp@webkit.org1ad9e722008-11-03 16:50:16 +000072972008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
7298
7299 Reviewed by Alp Toker.
7300
7301 https://bugs.webkit.org/show_bug.cgi?id=22041
7302 Fix CURL crashes on the test suite
7303
alp@webkit.orgc90968d2008-11-03 17:11:19 +00007304 Fix segfault with setDefersLoading(). Do not call into curl when we
7305 don't have a CURL handle.
7306
7307 It is attempted to defer the loading before the load has been
7308 started (no curl handle was allocated yet). If that happens then
7309 just remember that. ResourceHandleManager::startJob is already taking
7310 care of this and in initResourceHandle the the downloading will
7311 be paused if needed.
7312
7313 Fixes fast/loader/simultaneous-reloads-assert.html
7314
7315 * platform/network/curl/ResourceHandleCurl.cpp:
7316 (WebCore::ResourceHandle::setDefersLoading):
7317
73182008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
7319
7320 Reviewed by Alp Toker.
7321
7322 https://bugs.webkit.org/show_bug.cgi?id=22041
7323 Fix CURL crashes on the test suite
7324
alp@webkit.org1ad9e722008-11-03 16:50:16 +00007325 Do not send "no data" to WebCore in parseDataUrl().
7326
7327 Fixes assert on fast/tokenizer/image-empty-crash.html
7328
7329 * platform/network/curl/ResourceHandleManager.cpp:
7330 (WebCore::parseDataUrl):
7331
christian@webkit.orgfb968c62008-11-02 20:23:14 +000073322008-11-02 Xan Lopez <xan@gnome.org>
7333
7334 Reviewed by Holger Freyther.
7335
7336 https://bugs.webkit.org/show_bug.cgi?id=22009
7337 HTML5 Video with GStreamer pulls gnome-vfs without using it
7338
7339 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
7340 Remove gnome-vfs include.
7341
abarth@webkit.orga796cc02008-11-01 09:31:42 +000073422008-11-01 Adam Barth <abarth@webkit.org>
7343
7344 Reviewed by Sam Weinig.
7345
7346 Be sure to check the final URLs of requested resources to make sure we
7347 don't get fooled by HTTP redirects.
7348
7349 https://bugs.webkit.org/show_bug.cgi?id=21963
7350
7351 Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
7352 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
7353
7354 * dom/XMLTokenizerLibxml2.cpp:
7355 (WebCore::openFunc):
7356 * loader/DocLoader.cpp:
7357 (WebCore::DocLoader::canRequest):
7358 (WebCore::DocLoader::requestResource):
7359 * loader/DocLoader.h:
7360 * xml/XSLTProcessor.cpp:
7361 (WebCore::docLoaderFunc):
7362
ap@webkit.orgec7365b2008-11-01 07:21:53 +000073632008-11-01 Alexey Proskuryakov <ap@webkit.org>
7364
7365 Reviewed by Darin Adler.
7366
7367 https://bugs.webkit.org/show_bug.cgi?id=22001
7368 AtomicStringImpl* keys of event listener maps can outlive their strings
7369
7370 Test: fast/events/destroyed-atomic-string.html
7371
7372 * dom/MessagePort.cpp:
7373 (WebCore::MessagePort::addEventListener):
7374 (WebCore::MessagePort::removeEventListener):
7375 (WebCore::MessagePort::dispatchEvent):
7376 * dom/MessagePort.h:
7377 * loader/appcache/DOMApplicationCache.cpp:
7378 (WebCore::DOMApplicationCache::addEventListener):
7379 (WebCore::DOMApplicationCache::removeEventListener):
7380 (WebCore::DOMApplicationCache::dispatchEvent):
7381 * loader/appcache/DOMApplicationCache.h:
7382 * xml/XMLHttpRequest.cpp:
7383 (WebCore::XMLHttpRequest::addEventListener):
7384 (WebCore::XMLHttpRequest::removeEventListener):
7385 (WebCore::XMLHttpRequest::dispatchEvent):
7386 * xml/XMLHttpRequest.h:
7387 * xml/XMLHttpRequestUpload.cpp:
7388 (WebCore::XMLHttpRequestUpload::addEventListener):
7389 (WebCore::XMLHttpRequestUpload::removeEventListener):
7390 (WebCore::XMLHttpRequestUpload::dispatchEvent):
7391 * xml/XMLHttpRequestUpload.h:
7392 Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
7393
ap@webkit.orgf319b262008-11-01 07:11:09 +000073942008-10-31 Alexey Proskuryakov <ap@webkit.org>
7395
7396 Reviewed by Darin Adler.
7397
7398 https://bugs.webkit.org/show_bug.cgi?id=21998
7399 Use JSDOMGlobalObject in EventListener-related bindings
7400
7401 * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
7402
7403 * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
7404 bindings for inline event handlers.
7405
7406 * bindings/js/JSDOMApplicationCacheCustom.cpp:
7407 (WebCore::JSDOMApplicationCache::addEventListener):
7408 (WebCore::JSDOMApplicationCache::removeEventListener):
7409 * bindings/js/JSEventTargetNodeCustom.cpp:
7410 (WebCore::JSEventTargetNode::addEventListener):
7411 (WebCore::JSEventTargetNode::removeEventListener):
7412 * bindings/js/JSMessagePortCustom.cpp:
7413 (WebCore::JSMessagePort::removeEventListener):
7414 * bindings/js/JSSVGElementInstanceCustom.cpp:
7415 (WebCore::JSSVGElementInstance::addEventListener):
7416 (WebCore::JSSVGElementInstance::removeEventListener):
7417 * bindings/js/JSXMLHttpRequestCustom.cpp:
7418 (WebCore::JSXMLHttpRequest::addEventListener):
7419 (WebCore::JSXMLHttpRequest::removeEventListener):
7420 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7421 (WebCore::JSXMLHttpRequestUpload::addEventListener):
7422 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
7423 Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
7424
7425 * dom/EventTarget.h:
7426 * dom/EventTargetNode.cpp:
7427 (WebCore::EventTargetNode::scriptExecutionContext):
7428 * dom/EventTargetNode.h:
7429 * dom/MessagePort.cpp:
7430 * dom/MessagePort.h:
7431 (WebCore::MessagePort::scriptExecutionContext):
7432 * loader/appcache/DOMApplicationCache.cpp:
7433 (WebCore::DOMApplicationCache::scriptExecutionContext):
7434 * loader/appcache/DOMApplicationCache.h:
7435 * svg/SVGElementInstance.cpp:
7436 (WebCore::SVGElementInstance::scriptExecutionContext):
7437 * svg/SVGElementInstance.h:
7438 * xml/XMLHttpRequest.cpp:
7439 (WebCore::XMLHttpRequest::scriptExecutionContext):
7440 * xml/XMLHttpRequest.h:
7441 * xml/XMLHttpRequestUpload.cpp:
7442 (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
7443 * xml/XMLHttpRequestUpload.h:
7444 Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
7445 available yet.
7446
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +000074472008-10-31 Cameron Zwarich <zwarich@apple.com>
7448
cwzwarich@webkit.org16e38912008-11-01 01:05:21 +00007449 Rubber-stamped by Geoff Garen.
7450
7451 Rename SourceRange.h to SourceCode.h.
7452
7453 * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
7454 * ForwardingHeaders/kjs/SourceRange.h: Removed.
7455 * bindings/js/StringSourceProvider.h:
7456 * bridge/NP_jsobject.cpp:
7457
74582008-10-31 Cameron Zwarich <zwarich@apple.com>
7459
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +00007460 Reviewed by Darin Adler.
7461
7462 Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
7463 <https://bugs.webkit.org/show_bug.cgi?id=22019>
7464
7465 * WebCore.base.exp:
7466 * page/Console.cpp:
7467 (WebCore::printToStandardOut):
7468 (WebCore::Console::shouldPrintExceptions):
7469 (WebCore::Console::setShouldPrintExceptions):
7470 * page/Console.h:
7471
mitz@apple.comb7f88482008-10-31 23:35:00 +000074722008-10-31 Dan Bernstein <mitz@apple.com>
7473
7474 Reviewed by John Sullivan.
7475
7476 - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
7477
7478 * dom/Document.cpp:
7479 (WebCore::Document::cookie): Added checking if cookies are disabled.
7480 (WebCore::Document::setCookie): Ditto.
7481 * page/Navigator.cpp:
7482 (WebCore::Navigator::cookieEnabled): Ditto.
7483 * page/Page.cpp:
7484 (WebCore::Page::Page): Initialize m_cookieEnabled to true.
7485 * page/Page.h:
7486 (WebCore::Page::cookieEnabled): Added.
7487 (WebCore::Page::setCookieEnabled): Added.
7488
adele@apple.comae80b362008-10-31 23:25:48 +000074892008-10-31 Adele Peterson <adele@apple.com>
7490
7491 Reviewed by Darin Adler.
7492
7493 WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
7494 https://bugs.webkit.org/show_bug.cgi?id=22008
7495
7496 * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon):
7497 Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
7498 * platform/graphics/Icon.h: ditto.
7499 * platform/graphics/gtk/IconGtk.cpp:
7500 (WebCore::Icon::createIconForFile): ditto.
7501 (WebCore::Icon::createIconForFiles): ditto.
7502 * platform/graphics/mac/IconMac.mm:
7503 (WebCore::Icon::createIconForFile): ditto.
7504 (WebCore::Icon::createIconForFiles): ditto.
7505 * platform/graphics/qt/IconQt.cpp:
7506 (WebCore::Icon::createIconForFile): ditto.
7507 (WebCore::Icon::createIconForFiles): ditto.
7508 * platform/wx/TemporaryLinkStubs.cpp:
7509 (Icon::createIconForFile): ditto.
7510 (Icon::createIconForFiles): ditto.
7511 * platform/graphics/win/IconWin.cpp:
7512 (WebCore::Icon::createIconForFile): ditto.
7513 (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
7514
7515 * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
7516 Improve icon creation code to match new code in Icon::createIconForFiles
7517
timothy@apple.comfae10182008-10-31 18:49:52 +000075182008-10-31 Timothy Hatcher <timothy@apple.com>
7519
7520 Add manual tests that check breakpoints on a blockless body of "for" loops.
7521
7522 https://bugs.webkit.org/show_bug.cgi?id=22004
7523
7524 Reviewed by Darin Adler.
7525
7526 * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
7527 * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
7528
darin@apple.com61934912008-10-31 18:45:19 +000075292008-10-31 Darin Adler <darin@apple.com>
7530
7531 - fix build
7532
7533 * platform/win/WCDataObject.cpp: Added missing include of "config.h".
7534
ap@webkit.orgbe35d512008-10-31 09:44:03 +000075352008-10-30 Alexey Proskuryakov <ap@webkit.org>
7536
7537 Reviewed by Darin Adler.
7538
7539 https://bugs.webkit.org/show_bug.cgi?id=21970
7540 Make MessagePort event dispatch work in workers
7541
7542 * bindings/js/JSDOMGlobalObject.cpp:
7543 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
7544 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
7545 (WebCore::JSDOMGlobalObject::findJSEventListener):
7546 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
7547 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
7548 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
7549 (WebCore::JSDOMGlobalObject::jsEventListeners):
7550 (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
7551 (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
7552 (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
7553 (WebCore::JSDOMGlobalObject::setCurrentEvent):
7554 (WebCore::JSDOMGlobalObject::currentEvent):
7555 (WebCore::toJSDOMGlobalObject):
7556 * bindings/js/JSDOMGlobalObject.h:
7557 * bindings/js/JSDOMWindowBase.cpp:
7558 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
7559 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
7560 (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
7561 * bindings/js/JSDOMWindowBase.h:
7562 Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
7563
7564 * bindings/js/JSEventListener.cpp:
7565 (WebCore::JSAbstractEventListener::handleEvent):
7566 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
7567 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
7568 (WebCore::JSUnprotectedEventListener::globalObject):
7569 (WebCore::JSUnprotectedEventListener::clearGlobalObject):
7570 (WebCore::JSEventListener::JSEventListener):
7571 (WebCore::JSEventListener::~JSEventListener):
7572 (WebCore::JSEventListener::globalObject):
7573 (WebCore::JSEventListener::clearGlobalObject):
7574 (WebCore::JSLazyEventListener::JSLazyEventListener):
7575 (WebCore::JSLazyEventListener::parseCode):
7576 * bindings/js/JSEventListener.h:
7577 (WebCore::JSUnprotectedEventListener::create):
7578 (WebCore::JSEventListener::create):
7579 (WebCore::JSLazyEventListener::create):
7580 Changed to use JSDOMGlobalObject and ScriptExecutionContext.
7581
7582 * bindings/js/JSMessagePortCustom.cpp:
7583 (WebCore::JSMessagePort::startConversation):
7584 (WebCore::JSMessagePort::addEventListener):
7585 (WebCore::JSMessagePort::removeEventListener):
7586 (WebCore::JSMessagePort::setOnmessage):
7587 (WebCore::JSMessagePort::setOnclose):
7588 Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
7589 such code, and stop using a custom implementation for JSMessagePort inline event handler
7590 getters and setters.
7591
7592 * dom/Document.cpp:
7593 (WebCore::Document::virtualURL):
7594 * dom/Document.h:
7595 * dom/ScriptExecutionContext.h:
7596 Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
7597 JSLazyEventListener).
7598
cwzwarich@webkit.orgefc1b112008-10-31 08:18:20 +000075992008-10-31 Cameron Zwarich <zwarich@apple.com>
7600
7601 Not reviewed.
7602
7603 Speculative wxWindows build fix.
7604
7605 * webcore-base.bkl:
7606
mrowe@apple.com222bc732008-10-31 06:13:07 +000076072008-10-30 Mark Rowe <mrowe@apple.com>
7608
7609 Reviewed by Jon Homeycutt.
7610
7611 Explicitly default to building for only the native architecture in debug and release builds.
7612
7613 * Configurations/DebugRelease.xcconfig:
7614
cwzwarich@webkit.orga691b5a2008-10-31 05:56:58 +000076152008-10-30 Cameron Zwarich <zwarich@apple.com>
7616
7617 Rubber-stamped by Sam Weinig.
7618
7619 Create a debugger directory in JavaScriptCore and move the relevant
7620 files to it.
7621
7622 * ForwardingHeaders/debugger: Added.
7623 * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
7624 * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
7625 * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
7626 * ForwardingHeaders/kjs/debugger.h: Removed.
7627 * WebCore.pro:
7628 * bindings/js/ScriptController.cpp:
7629 * inspector/JavaScriptCallFrame.cpp:
7630 * inspector/JavaScriptCallFrame.h:
7631 * inspector/JavaScriptDebugServer.cpp:
7632 * inspector/JavaScriptDebugServer.h:
7633
timothy@apple.com4ab9f652008-10-31 05:49:22 +000076342008-10-30 Tony Chang <tony@chromium.org>
7635
7636 Fix 2 Windows theme bugs:
7637 1) Checkboxes marked readonly were rendered incorrectly
7638 2) If a button has focus and is pressed, it was rendered
7639 as focused rather than pressed.
7640
7641 https://bugs.webkit.org/show_bug.cgi?id=21859
7642
7643 Reviewed by Dave Hyatt.
7644
7645 * rendering/RenderThemeWin.cpp:
7646 (WebCore::RenderThemeWin::determineState):
7647 (WebCore::RenderThemeWin::determineButtonState):
7648
timothy@apple.come95b7572008-10-31 05:36:06 +000076492008-10-30 Benjamin K. Stuhl <bks24@cornell.edu>
7650
7651 gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
7652 warnings; add some parentheses to disambiguate things. No functional
7653 changes, so no tests.
7654
7655 https://bugs.webkit.org/show_bug.cgi?id=21973
7656 Add parentheses to clean up some gcc warnings
7657
7658 Reviewed by Dan Bernstein.
7659
7660 * platform/graphics/Font.h:
7661 (WebCore::Font::treatAsZeroWidthSpace):
7662
timothy@apple.comef646322008-10-31 05:29:01 +000076632008-10-30 Aaron Boodman <aa@chromium.org>
7664
7665 Added an explicit dependency on HashMap.h. It was getting pulled in via
7666 <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
7667
7668 Reviewed by Darin Adler.
7669
7670 * platform/text/PlatformString.h:
7671
ddkilzer@apple.com14d66632008-10-31 01:54:49 +000076722008-10-30 Greg Bolsinga <bolsinga@apple.com>
7673
7674 Reviewed by Sam Weinig
7675
ddkilzer@apple.com52840822008-10-31 01:56:43 +00007676 https://bugs.webkit.org/show_bug.cgi?id=21967
7677
7678 For some platforms the GeolocationService must be suspended and resumed.
7679
7680 * page/Geolocation.cpp:
7681 (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
7682 (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
7683 (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
7684 (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
7685 * page/Geolocation.h:
7686 (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
7687 * platform/GeolocationService.h:
7688 (WebCore::GeolocationService::suspend): empty implementation
7689 (WebCore::GeolocationService::resume): empty implementation
7690
76912008-10-30 Greg Bolsinga <bolsinga@apple.com>
7692
7693 Reviewed by Sam Weinig
7694
ddkilzer@apple.com14d66632008-10-31 01:54:49 +00007695 https://bugs.webkit.org/show_bug.cgi?id=21966
7696
7697 The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
7698 http://dev.w3.org/geo/api/spec-source.html
7699
7700 * page/Geolocation.cpp:
7701 (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
7702 * page/Geoposition.cpp: velocity is now called speed
7703 (WebCore::Geoposition::toString):
7704 * page/Geoposition.h: velocity is now called speed
7705 (WebCore::Geoposition::create):
7706 (WebCore::Geoposition::speed):
7707 (WebCore::Geoposition::Geoposition):
7708 * page/Geoposition.idl: velocity is now called speed
7709 * page/PositionOptions.h: timeout is now unsigned
7710 (WebCore::PositionOptions::create):
7711 (WebCore::PositionOptions::timeout):
7712 (WebCore::PositionOptions::setTimeout):
7713 (WebCore::PositionOptions::PositionOptions):
7714 * page/PositionOptions.idl: timeout is now unsigned long
7715
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +000077162008-10-30 Justin Garcia <justin.garcia@apple.com>
7717
justin.garcia@apple.com484cb6b2008-10-31 00:11:48 +00007718 Also handle preserved newlines.
7719
7720 * editing/BreakBlockquoteCommand.cpp:
7721 (WebCore::BreakBlockquoteCommand::doApply):
7722
77232008-10-30 Justin Garcia <justin.garcia@apple.com>
7724
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +00007725 Reviewed by Beth Dakin.
7726
7727 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
7728
7729 * editing/BreakBlockquoteCommand.cpp:
7730 (WebCore::BreakBlockquoteCommand::doApply):
7731 Don't store the endingSelection() in selection, just call endingSelection() in the few places it's
7732 needed. This function is cheap since it just returns a reference to a Selection instead of creating one.
7733 Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
7734 we now use visiblePos (in order to avoid VisiblePosition creation).
7735 Set pos after we delete the current selection (if there is one), and be consistent about what we set
7736 pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact...
7737 ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is
7738 in the first node that we want to move. This fixes the bug, since it lets code that checks for the case
7739 where the caret is between text and a br work correctly.
7740
vestbo@webkit.orgd8876f12008-10-30 20:45:52 +000077412008-10-30 Yael Aharon <yael.aharon@nokia.com>
7742
7743 Reviewed by Darin Adler.
7744
7745 Fix the Qt build.
7746
7747 https://bugs.webkit.org/show_bug.cgi?id=21969
7748
7749 * inspector/front-end/WebKit.qrc:
7750 * platform/graphics/qt/ImageBufferQt.cpp:
7751 (WebCore::ImageBufferData::ImageBufferData):
7752 (WebCore::ImageBuffer::ImageBuffer):
7753 (WebCore::ImageBuffer::context):
7754 (WebCore::ImageBuffer::image):
7755 (WebCore::ImageBuffer::toDataURL):
7756
darin@apple.comf9f4f9a2008-10-30 20:52:02 +000077572008-10-30 Justin Garcia <justin.garcia@apple.com>
7758
7759 Reviewed by Darin Adler.
7760
7761 More preparation for:
7762 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
7763
7764 * editing/BreakBlockquoteCommand.cpp:
7765 (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the
7766 startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote.
7767 This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This
7768 doesn't really fix a bug, since we can't really get into a situation where we move to a different
7769 topBlockquote, but it simplifies the code.
7770
alp@webkit.org3d557522008-10-30 14:09:59 +000077712008-10-30 Dirk Schulze <vbs85@gmx.de>
7772
7773 Reviewed by Alp Toker.
7774
7775 https://bugs.webkit.org/show_bug.cgi?id=21883
7776 [CAIRO] globalAlpha has to be stored and restored
7777
7778 Cairo's globalAlpha has to be stored and reloaded on calling
7779 save() and restore(). We use the power of GraphicsContextState for this.
7780
7781 * platform/graphics/GraphicsContextPrivate.h:
7782 (WebCore::GraphicsContextState::GraphicsContextState):
7783 * platform/graphics/cairo/GraphicsContextCairo.cpp:
7784 (WebCore::GraphicsContext::fillPath):
7785 (WebCore::GraphicsContext::strokePath):
7786 (WebCore::GraphicsContext::setAlpha):
7787 (WebCore::GraphicsContext::getAlpha):
7788 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
7789 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
7790
ap@webkit.org771c2652008-10-30 08:41:34 +000077912008-10-29 Alexey Proskuryakov <ap@webkit.org>
7792
7793 Reviewed by Maciej Stachowiak.
7794
7795 Rename "attachedToEventTargetNode" to "isInline".
7796
7797 Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
7798 XMLHttpRequest, MessagePort et al.
7799
7800 Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
7801 attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
7802 And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
7803 "inlineEventListenerForType", as they work with inline listeners.
7804
7805 * bindings/js/JSDOMApplicationCacheCustom.cpp:
7806 (WebCore::JSDOMApplicationCache::addEventListener):
7807 (WebCore::JSDOMApplicationCache::removeEventListener):
7808 * bindings/js/JSMessagePortCustom.cpp:
7809 (WebCore::JSMessagePort::setOnmessage):
7810 (WebCore::JSMessagePort::setOnclose):
7811 * bindings/js/JSXMLHttpRequestCustom.cpp:
7812 (WebCore::JSXMLHttpRequest::addEventListener):
7813 (WebCore::JSXMLHttpRequest::removeEventListener):
7814 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7815 (WebCore::JSXMLHttpRequestUpload::addEventListener):
7816 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
7817 Pass a correct value for this argument - callers used to be confused, because they didn't
7818 consider themselves event target nodes. This doesn't affect behavior however, as the only
7819 difference between inline and non-inline event handlers is that the former treat
7820 "return false" as "event.preventDefault()", which is not important to any of these objects.
7821
7822 * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
7823 Assert that isInline is true instead of checking its value, as the constructor of this class
7824 always sets it to true.
7825
7826 * bindings/js/JSDOMWindowBase.cpp:
7827 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
7828 (WebCore::JSDOMWindowBase::findJSEventListener):
7829 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
7830 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
7831 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
7832 (WebCore::JSDOMWindowBase::jsInlineEventListeners):
7833 (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
7834 * bindings/js/JSDOMWindowBase.h:
7835 * bindings/js/JSEventListener.cpp:
7836 (WebCore::JSAbstractEventListener::handleEvent):
7837 (WebCore::JSAbstractEventListener::isInline):
7838 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
7839 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
7840 (WebCore::JSEventListener::JSEventListener):
7841 (WebCore::JSEventListener::~JSEventListener):
7842 (WebCore::JSLazyEventListener::parseCode):
7843 * bindings/js/JSEventListener.h:
7844 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
7845 (WebCore::JSUnprotectedEventListener::create):
7846 (WebCore::JSEventListener::create):
7847 * bindings/js/ScriptController.cpp:
7848 (WebCore::ScriptController::createInlineEventHandler):
7849 * bindings/js/ScriptController.h:
7850 * dom/Document.cpp:
7851 (WebCore::Document::setWindowInlineEventListenerForType):
7852 (WebCore::Document::windowInlineEventListenerForType):
7853 (WebCore::Document::removeWindowInlineEventListenerForType):
7854 (WebCore::Document::createEventListener):
7855 (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
7856 * dom/Document.h:
7857 * dom/EventListener.h:
7858 (WebCore::EventListener::isInline):
7859 * dom/EventTargetNode.cpp:
7860 (WebCore::EventTargetNode::removeInlineEventListenerForType):
7861 (WebCore::EventTargetNode::setInlineEventListenerForType):
7862 (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
7863 (WebCore::EventTargetNode::inlineEventListenerForType):
7864 (WebCore::EventTargetNode::on*): (many methods)
7865 (WebCore::EventTargetNode::setOn*): (many methods)
7866 * dom/EventTargetNode.h:
7867 * editing/ReplaceSelectionCommand.cpp:
7868 (WebCore::ReplacementFragment::ReplacementFragment):
7869 * html/HTMLBodyElement.cpp:
7870 (WebCore::HTMLBodyElement::parseMappedAttribute):
7871 * html/HTMLButtonElement.cpp:
7872 (WebCore::HTMLButtonElement::parseMappedAttribute):
7873 * html/HTMLElement.cpp:
7874 (WebCore::HTMLElement::parseMappedAttribute):
7875 * html/HTMLFormElement.cpp:
7876 (WebCore::HTMLFormElement::parseMappedAttribute):
7877 * html/HTMLFrameElementBase.cpp:
7878 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
7879 * html/HTMLFrameSetElement.cpp:
7880 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
7881 * html/HTMLImageElement.cpp:
7882 (WebCore::HTMLImageElement::parseMappedAttribute):
7883 * html/HTMLInputElement.cpp:
7884 (WebCore::HTMLInputElement::parseMappedAttribute):
7885 * html/HTMLObjectElement.cpp:
7886 (WebCore::HTMLObjectElement::parseMappedAttribute):
7887 * html/HTMLScriptElement.cpp:
7888 (WebCore::HTMLScriptElement::parseMappedAttribute):
7889 * html/HTMLSelectElement.cpp:
7890 (WebCore::HTMLSelectElement::parseMappedAttribute):
7891 * html/HTMLTextAreaElement.cpp:
7892 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
7893 * page/AccessibilityRenderObject.cpp:
7894 (WebCore::AccessibilityRenderObject::mouseButtonListener):
7895 * page/DOMWindow.cpp:
7896 (WebCore::DOMWindow::setInlineEventListenerForType):
7897 (WebCore::DOMWindow::inlineEventListenerForType):
7898 (WebCore::DOMWindow::on*): (many methods)
7899 (WebCore::DOMWindow::setOn*): (many methods)
7900 * page/DOMWindow.h:
7901 * svg/SVGElement.cpp:
7902 (WebCore::SVGElement::parseMappedAttribute):
7903 * svg/SVGElementInstance.cpp:
7904 (WebCore::SVGElementInstance::on*): (many methods)
7905 (WebCore::SVGElementInstance::setOn*): (many methods)
7906 * svg/SVGSVGElement.cpp:
7907 (WebCore::SVGSVGElement::parseMappedAttribute):
7908 Rename things, as described above.
7909
zecke@webkit.orgbcca41d2008-10-29 22:39:18 +000079102008-10-29 Gustavo Noronha Silva <gns@gnome.org>
7911
7912 Reviewed and slightly changed by Holger Freyther.
7913
7914 Added all the files that need to be installed for the Inspector to
7915 work.
7916
7917 * GNUmakefile.am: Invoke the shell to get the files.
7918
darin@chromium.orgde675412008-10-29 21:45:02 +000079192008-10-29 Andrew Scherkus <scherkus@chromium.org>
7920
7921 Reviewed by Darin Adler
7922
7923 Add MediaPlayerPrivateChromium to MediaPlayer
7924 https://bugs.webkit.org/show_bug.cgi?id=21930
7925
7926 * platform/graphics/MediaPlayer.cpp:
7927
justin.garcia@apple.com8cba38d2008-10-29 21:43:47 +000079282008-10-29 Justin Garcia <justin.garcia@apple.com>
7929
7930 Reviewed by Darin Adler.
7931
7932 Some preparation for:
7933 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
7934
7935 Added an early return to avoid a level of if-nesting. No other changes. We probably don't
7936 need to rebalance whitespace before the early return but for now don't risk any change in behavior
7937 I'll revisit that later.
7938
7939 * editing/BreakBlockquoteCommand.cpp:
7940 (WebCore::BreakBlockquoteCommand::doApply):
7941
kevino@webkit.orgce2e48a2008-10-29 20:13:27 +000079422008-10-29 Kevin Ollivier <kevino@theolliviers.com>
7943
7944 wx build fixes after addition of runtime and ImageBuffer changes.
7945
7946 * platform/graphics/wx/ImageBufferData.h: Added.
7947 * platform/graphics/wx/ImageBufferWx.cpp:
7948 (WebCore::ImageBufferData::ImageBufferData):
7949 (WebCore::ImageBuffer::ImageBuffer):
7950 (WebCore::ImageBuffer::context):
7951 * webcore-base.bkl:
7952
brettw@chromium.org95ee6812008-10-29 16:38:52 +000079532008-10-29 Brett Wilson <brettw@chromium.org>
7954
7955 Reviewed by Darin Adler
7956 https://bugs.webkit.org/attachment.cgi?id=24745
7957
7958 Allow Skia implementations to get text style changed notifications.
7959
7960 * platform/graphics/GraphicsContext.cpp:
7961
timothy@apple.comdbc138a2008-10-29 15:02:31 +000079622008-10-29 Timothy Hatcher <timothy@apple.com>
7963
7964 Add a manual test that checks breakpoints on a blockless body of
7965 an "else" statement.
7966
7967 https://bugs.webkit.org/show_bug.cgi?id=21944
7968
7969 Reviewed by Maciej Stachowiak.
7970
7971 * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
7972
ap@webkit.orgc78a2072008-10-29 10:35:26 +000079732008-10-29 Alexey Proskuryakov <ap@webkit.org>
7974
ap@webkit.org7c52f882008-10-29 10:44:22 +00007975 Reviewed by Darin Adler.
7976
7977 https://bugs.webkit.org/show_bug.cgi?id=21921
7978 MessagePort messages are dispatched to documents that are not fully active
7979
7980 Covered by corrected fast/events/message-port-inactive-document.html
7981
7982 * bindings/js/JSEventListener.cpp:
7983 (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
7984 that are not fully active.
7985
79862008-10-29 Alexey Proskuryakov <ap@webkit.org>
7987
ap@webkit.org6b4b6872008-10-29 10:37:26 +00007988 Reviewed by Sam Weinig.
7989
7990 https://bugs.webkit.org/show_bug.cgi?id=21922
7991 Expose MessagePort global constructor
7992
7993 Covered by existing dumper tests.
7994
7995 * dom/MessagePort.idl:
7996 * page/DOMWindow.idl:
7997
79982008-10-29 Alexey Proskuryakov <ap@webkit.org>
7999
ap@webkit.orgc78a2072008-10-29 10:35:26 +00008000 Reviewed by Darin Adler.
8001
8002 https://bugs.webkit.org/show_bug.cgi?id=21924
8003 HashTable internal index is not always deleted
8004
8005 * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
8006 Call deleteTable for HashTables that are being deleted.
8007
ap@webkit.org3c120a82008-10-29 10:26:58 +000080082008-10-28 Alexey Proskuryakov <ap@webkit.org>
8009
8010 Reviewed by Darin Adler.
8011
8012 https://bugs.webkit.org/show_bug.cgi?id=21923
8013 Create an abstraction for script execution context
8014
8015 * GNUmakefile.am:
8016 * WebCore.pro:
8017 * WebCore.vcproj/WebCore.vcproj:
8018 * WebCore.xcodeproj/project.pbxproj:
8019 * WebCoreSources.bkl:
8020 Added ScriptExecutionContext.{h,cpp}.
8021
8022 * bindings/js/JSAudioConstructor.cpp:
8023 (WebCore::JSAudioConstructor::JSAudioConstructor):
8024 * bindings/js/JSAudioConstructor.h:
8025 * bindings/js/JSImageConstructor.cpp:
8026 (WebCore::JSImageConstructor::JSImageConstructor):
8027 * bindings/js/JSImageConstructor.h:
8028 * bindings/js/JSOptionConstructor.cpp:
8029 (WebCore::JSOptionConstructor::JSOptionConstructor):
8030 * bindings/js/JSOptionConstructor.h:
8031 * bindings/js/JSXMLHttpRequestConstructor.cpp:
8032 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
8033 * bindings/js/JSXMLHttpRequestConstructor.h:
8034 Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
8035 Since these objects can only work within documents now, it is immediately converted back
8036 to Document.
8037
8038 * bindings/js/JSMessageChannelConstructor.cpp:
8039 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
8040 (WebCore::JSMessageChannelConstructor::construct):
8041 * bindings/js/JSMessageChannelConstructor.h:
8042 (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
8043 MessageChannel needs to be supported in workers right away, so the constructor operates with
8044 it directly.
8045
8046 * dom/ActiveDOMObject.cpp:
8047 (WebCore::ActiveDOMObject::ActiveDOMObject):
8048 (WebCore::ActiveDOMObject::~ActiveDOMObject):
8049 (WebCore::ActiveDOMObject::contextDestroyed):
8050 * dom/ActiveDOMObject.h:
8051 (WebCore::ActiveDOMObject::scriptExecutionContext):
8052 * bindings/js/JSDOMBinding.cpp:
8053 (WebCore::markActiveObjectsForContext):
8054 (WebCore::markCrossHeapDependentObjectsForContext):
8055 Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
8056 tracking is handled by ScriptExecutionContext.
8057
8058 * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
8059
8060 * bindings/js/JSDOMGlobalObject.h:
8061 (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
8062 Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
8063 to worker context implementation.
8064 (WebCore::scriptExecutionContext): Added a pure virtual method to access
8065 ScriptExecutionContext, implemented by subclasses.
8066
8067 * bindings/js/JSDOMWindowBase.h:
8068 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
8069 Implement by returning the associated document. Note that this method currently gives bogus
8070 results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
8071 that is currently in the frame, not the one associated with this window.
8072
8073 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
8074
8075 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
8076 Call markActiveObjectsForContext() by its new name.
8077
8078 * dom/DedicatedWorker.cpp:
8079 (WebCore::DedicatedWorker::DedicatedWorker):
8080 (WebCore::DedicatedWorker::document):
8081 * dom/DedicatedWorker.h:
8082 * xml/XMLHttpRequest.cpp:
8083 (WebCore::XMLHttpRequest::document):
8084 * xml/XMLHttpRequest.h:
8085 Added a document() function that upcasts ScriptExecutionContext, as these objects only work
8086 within documents currently (at least for XMLHttpRequest, this will change soon though).
8087
8088 * dom/Document.cpp:
8089 (WebCore::Document::Document):
8090 (WebCore::Document::~Document):
8091 Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
8092 with workers.
8093
8094 * dom/Document.h:
8095 (WebCore::Document::isDocument):
8096 (WebCore::Document::refScriptExecutionContext):
8097 (WebCore::Document::derefScriptExecutionContext):
8098 Inherit from ScriptExecutionContext.
8099
8100 * dom/MessageChannel.cpp:
8101 (WebCore::MessageChannel::MessageChannel):
8102 * dom/MessageChannel.h:
8103 (WebCore::MessageChannel::create):
8104 Use ScriptExecutionContext instead of Document.
8105
8106 * dom/MessagePort.cpp:
8107 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
8108 MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
8109 unrelated issue that was causing random crashes in layout tests).
8110 (WebCore::MessagePort::MessagePort):
8111 (WebCore::MessagePort::~MessagePort):
8112 (WebCore::MessagePort::associatedFrame):
8113 (WebCore::MessagePort::clone):
8114 (WebCore::MessagePort::postMessage):
8115 (WebCore::MessagePort::startConversation):
8116 (WebCore::MessagePort::start):
8117 (WebCore::MessagePort::contextDestroyed):
8118 (WebCore::MessagePort::dispatchMessages):
8119 * dom/MessagePort.h:
8120 (WebCore::MessagePort::create):
8121 (WebCore::MessagePort::scriptExecutionContext):
8122 Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
8123 work in worker contexts - we need to also make some its method thread safe for cross-thread
8124 messaging, and make event dispatching thread safe.
8125
8126 * dom/ScriptExecutionContext.cpp: Added.
8127 * dom/ScriptExecutionContext.h: Added.
8128 ActiveDOMObject and MessagePort tracking is moved from Document.
8129 It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
8130 but as I'm just moving Document code, and it is Document that is the main context object
8131 in our implementation currently.
8132 Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
8133 seem non-trivial to fix, and isn't really a part of this task.
8134
alp@webkit.orge27cab82008-10-29 03:20:15 +000081352008-10-28 Alp Toker <alp@nuanti.com>
8136
alp@webkit.orgb206e942008-10-29 05:22:20 +00008137 List newly-added ImageBufferData.h in build system.
8138
8139 * GNUmakefile.am:
8140
81412008-10-28 Alp Toker <alp@nuanti.com>
8142
alp@webkit.orge27cab82008-10-29 03:20:15 +00008143 Reviewed by Cameron Zwarich.
8144
8145 De-list unused WebCore ForwardingHeaders to fix the dist target.
8146
8147 * GNUmakefile.am:
8148
cwzwarich@webkit.org7eb0cf92008-10-29 02:41:47 +000081492008-10-28 Cameron Zwarich <zwarich@apple.com>
8150
8151 Not reviewed.
8152
8153 Attempt to fix the Windows build by generating Forwardingheaders for the
8154 runtime directory in JavaScriptCore.
8155
8156 * WebCore.vcproj/WebCore.vcproj:
8157
justin.garcia@apple.com28768642008-10-29 02:07:18 +000081582008-10-28 Justin Garcia <justin.garcia@apple.com>
8159
8160 Reviewed by Darin Adler.
8161
8162 <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
8163
8164 * editing/Editor.cpp:
8165 (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
8166 (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which
8167 will probably require a change more complicated than just marking the learned word as
8168 misspelled. I'll address it with a separate patch.
8169 * editing/EditorCommand.cpp:
8170 (WebCore::executeIgnoreSpelling): Added.
8171 (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
8172
cwzwarich@webkit.orgba054bb2008-10-29 01:54:00 +000081732008-10-28 Cameron Zwarich <zwarich@apple.com>
8174
8175 Reviewed by Mark Rowe.
8176
8177 Move ForwardingHeaders to their correct location after the creation of
8178 the runtime directory in JavaScriptCore.
8179
8180 * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
8181 * ForwardingHeaders/kjs/BooleanObject.h: Removed.
8182 * ForwardingHeaders/kjs/CallData.h: Removed.
8183 * ForwardingHeaders/kjs/ConstructData.h: Removed.
8184 * ForwardingHeaders/kjs/DateInstance.h: Removed.
8185 * ForwardingHeaders/kjs/Error.h: Removed.
8186 * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
8187 * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
8188 * ForwardingHeaders/kjs/InternalFunction.h: Removed.
8189 * ForwardingHeaders/kjs/JSArray.h: Removed.
8190 * ForwardingHeaders/kjs/JSFunction.h: Removed.
8191 * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
8192 * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
8193 * ForwardingHeaders/kjs/JSObject.h: Removed.
8194 * ForwardingHeaders/kjs/JSString.h: Removed.
8195 * ForwardingHeaders/kjs/JSValue.h: Removed.
8196 * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
8197 * ForwardingHeaders/kjs/PropertyMap.h: Removed.
8198 * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
8199 * ForwardingHeaders/kjs/StringObject.h: Removed.
8200 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
8201 * ForwardingHeaders/kjs/StringPrototype.h: Removed.
8202 * ForwardingHeaders/kjs/StructureID.h: Removed.
8203 * ForwardingHeaders/runtime: Added.
8204 * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
8205 * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
8206 * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
8207 * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
8208 * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
8209 * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
8210 * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
8211 * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
8212 * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
8213 * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
8214 * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
8215 * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
8216 * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
8217 * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
8218 * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
8219 * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
8220 * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
8221 * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
8222 * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
8223 * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
8224 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
8225 * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
8226 * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
8227 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8228 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
8229 * bindings/js/JSClipboardCustom.cpp:
8230 * bindings/js/JSConsoleCustom.cpp:
8231 * bindings/js/JSCustomPositionCallback.h:
8232 * bindings/js/JSCustomPositionErrorCallback.h:
8233 * bindings/js/JSCustomSQLStatementCallback.h:
8234 * bindings/js/JSCustomSQLStatementErrorCallback.h:
8235 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
8236 * bindings/js/JSCustomVoidCallback.h:
8237 * bindings/js/JSCustomXPathNSResolver.h:
8238 * bindings/js/JSDOMBinding.cpp:
8239 * bindings/js/JSDOMBinding.h:
8240 * bindings/js/JSDOMGlobalObject.h:
8241 * bindings/js/JSDOMWindowBase.cpp:
8242 * bindings/js/JSDOMWindowCustom.cpp:
8243 * bindings/js/JSDOMWindowShell.cpp:
8244 * bindings/js/JSDatabaseCustom.cpp:
8245 * bindings/js/JSEventListener.cpp:
8246 * bindings/js/JSEventTarget.h:
8247 * bindings/js/JSHTMLDocumentCustom.cpp:
8248 * bindings/js/JSHistoryCustom.cpp:
8249 * bindings/js/JSInspectedObjectWrapper.cpp:
8250 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
8251 * bindings/js/JSLocationCustom.cpp:
8252 * bindings/js/JSNodeFilterCondition.h:
8253 * bindings/js/JSQuarantinedObjectWrapper.cpp:
8254 * bindings/js/JSQuarantinedObjectWrapper.h:
8255 * bindings/js/JSXMLHttpRequestCustom.cpp:
8256 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
8257 * bindings/objc/WebScriptObject.mm:
8258 * bindings/objc/WebScriptObjectPrivate.h:
8259 * bindings/scripts/CodeGeneratorJS.pm:
8260 * bridge/NP_jsobject.cpp:
8261 * bridge/c/c_instance.cpp:
8262 * bridge/c/c_utility.cpp:
8263 * bridge/c/c_utility.h:
8264 * bridge/jni/jni_instance.cpp:
8265 * bridge/jni/jni_jsobject.h:
8266 * bridge/jni/jni_jsobject.mm:
8267 * bridge/jni/jni_runtime.cpp:
8268 * bridge/jni/jni_utility.cpp:
8269 * bridge/jni/jni_utility.h:
8270 * bridge/objc/objc_instance.mm:
8271 * bridge/objc/objc_runtime.h:
8272 * bridge/objc/objc_runtime.mm:
8273 * bridge/objc/objc_utility.h:
8274 * bridge/objc/objc_utility.mm:
8275 * bridge/runtime.h:
8276 * bridge/runtime_array.cpp:
8277 * bridge/runtime_array.h:
8278 * bridge/runtime_method.cpp:
8279 * bridge/runtime_method.h:
8280 * bridge/runtime_object.cpp:
8281 * bridge/runtime_object.h:
8282 * bridge/runtime_root.cpp:
8283 * inspector/JavaScriptCallFrame.cpp:
8284 * inspector/JavaScriptProfile.cpp:
8285 * inspector/JavaScriptProfile.h:
8286 * inspector/JavaScriptProfileNode.cpp:
8287 * inspector/JavaScriptProfileNode.h:
8288 * loader/FrameLoader.cpp:
8289 * page/Console.cpp:
8290 * plugins/PluginView.cpp:
8291 * plugins/gtk/PluginViewGtk.cpp:
8292 * plugins/qt/PluginViewQt.cpp:
8293 * plugins/win/PluginViewWin.cpp:
8294
adele@apple.com66ae4f52008-10-29 00:20:48 +000082952008-10-28 Adele Peterson <adele@apple.com>
8296
adele@apple.com39b601d2008-10-29 00:37:36 +00008297 Windows build fix. This removes Cairo include directories from non-Cairbo build configurations.
8298
8299 * WebCore.vcproj/WebCore.vcproj:
8300
83012008-10-28 Adele Peterson <adele@apple.com>
8302
8303 Windows build fix.
adele@apple.com66ae4f52008-10-29 00:20:48 +00008304
8305 * platform/graphics/ImageBuffer.h:
8306 (WebCore::ImageBuffer::create):
8307
cwzwarich@webkit.orgcf5b4bf2008-10-29 00:12:35 +000083082008-10-28 Cameron Zwarich <zwarich@apple.com>
8309
8310 Not reviewed.
8311
8312 Roll out a mistaken attempt at fixing the GTK build in r37947.
8313
8314 * GNUmakefile.am:
8315
adele@apple.comdfda2f42008-10-28 23:36:33 +000083162008-10-28 Adele Peterson <adele@apple.com>
8317
8318 Reviewed by John Sullivan.
8319
8320 Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
8321 "files" string for multifile uploads needs to be localized
8322
8323 * page/mac/WebCoreViewFactory.h:
8324 * platform/LocalizedStrings.h:
8325 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
8326 * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
8327 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
8328 * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
8329 * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
8330 * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
8331
brettw@chromium.org6eee5b02008-10-28 23:10:42 +000083322008-10-28 Brett Wilson <brettw@chromium.org>
8333
8334 Reviewed by Darin Adler.
8335
8336 https://bugs.webkit.org/show_bug.cgi?id=21816
8337
8338 Remove platform ifdefs in ImageBuffer.h by moving platform specific code
8339 into a new PlatformImageBuffer class. Move the static create function
8340 into the header because it can be cross-platform. Initialization now
8341 happens in the cunstructor which sets a flag that create uses to know
8342 whether it should return null or not. I also made passing of IntSize
8343 more consistent (always by reference).
8344
8345 This change also changes the ifdefs in GraphicsContext to allow Skia
8346 ports to implement text drawing modes.
8347
8348 * platform/graphics/ImageBuffer.h:
8349 (WebCore::ImageBuffer::create):
8350 (WebCore::ImageBuffer::size):
8351 * platform/graphics/cairo/ImageBufferCairo.cpp:
8352 (WebCore::ImageBufferData::ImageBufferData):
8353 (WebCore::ImageBuffer::ImageBuffer):
8354 (WebCore::ImageBuffer::~ImageBuffer):
8355 (WebCore::ImageBuffer::image):
8356 (WebCore::ImageBuffer::getImageData):
8357 (WebCore::ImageBuffer::putImageData):
8358 * platform/graphics/cairo/ImageBufferData.h:
8359 * platform/graphics/cg/ImageBufferCG.cpp:
8360 (WebCore::ImageBufferData::ImageBufferData):
8361 (WebCore::ImageBuffer::ImageBuffer):
8362 (WebCore::ImageBuffer::~ImageBuffer):
8363 (WebCore::ImageBuffer::getImageData):
8364 (WebCore::ImageBuffer::putImageData):
8365 * platform/graphics/cg/ImageBufferData.h:
8366 * platform/graphics/qt/ImageBufferData.h:
8367 * platform/graphics/qt/ImageBufferQt.cpp:
8368 (WebCore::ImageBufferData::ImageBufferData):
8369 (WebCore::ImageBuffer::ImageBuffer):
8370 (WebCore::ImageBuffer::~ImageBuffer):
8371
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +000083722008-10-28 Cameron Zwarich <zwarich@apple.com>
8373
8374 Not reviewed.
8375
cwzwarich@webkit.org38fa5d22008-10-28 22:22:30 +00008376 Fix the GTK build.
8377
8378 * GNUmakefile.am:
8379
83802008-10-28 Cameron Zwarich <zwarich@apple.com>
8381
8382 Not reviewed.
8383
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +00008384 Another Qt build fix.
8385
8386 * WebCore.pro:
8387
ddkilzer@apple.com983f9392008-10-28 21:01:40 +000083882008-10-28 Greg Bolsinga <bolsinga@apple.com>
8389
8390 Reviewed by David Kilzer.
8391
ddkilzer@apple.com0f55da32008-10-28 21:42:26 +00008392 https://bugs.webkit.org/show_bug.cgi?id=21932
8393 Add non-pointer constant lookups to SoftLinking.h
8394
8395 * platform/mac/SoftLinking.h:
8396
83972008-10-28 Greg Bolsinga <bolsinga@apple.com>
8398
8399 Reviewed by David Kilzer.
8400
ddkilzer@apple.com983f9392008-10-28 21:01:40 +00008401 https://bugs.webkit.org/show_bug.cgi?id=2192
8402 Missing semi-colons in Geoposition.idl
8403
8404 * page/Geoposition.idl: Add missing semi-colons
8405
timothy@apple.comecd08c12008-10-28 20:41:59 +000084062008-10-28 Timothy Hatcher <timothy@apple.com>
8407
timothy@apple.com7dec1b92008-10-28 20:42:34 +00008408 Make the Profiles panel in the Web Inspector have an enable screen.
8409 Profiling now needs to be enabled before console.profile() works.
8410
8411 <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
8412 not slow down JavaScript all the time
8413
8414 Reviewed by Darin Adler and Kevin McCullough.
8415
8416 * English.lproj/localizedStrings.js: New strings.
8417 * WebCore.base.exp: New and changed exports.
8418 * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
8419 * bindings/js/JSDOMWindowBase.cpp:
8420 (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
8421 * inspector/InspectorController.cpp:
8422 (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
8423 Timer to call InspectorController::startUserInitiatedProfiling.
8424 (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
8425 that calls InspectorController::startUserInitiatedProfiling.
8426 (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
8427 and enable the profiler if the profiler was not enabled.
8428 (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
8429 (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
8430 if the skipRecompile argument is false. Call the profilerWasEnabled script function.
8431 (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
8432 Call the profilerWasEnabled script function.
8433 (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
8434 so it won't be started later.
8435 * inspector/InspectorController.h:
8436 (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
8437 * inspector/front-end/Images/debuggingButtons.png: Remove.
8438 * inspector/front-end/Images/enableButtons.png: Added.
8439 * inspector/front-end/Images/profilesSilhouette.png: Added.
8440 * inspector/front-end/Images/scriptsSilhouette.png: Added.
8441 * inspector/front-end/PanelEnablerView.js: Added.
8442 (WebInspector.PanelEnablerView):
8443 (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
8444 event so listeners can do their thing.
8445 (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
8446 * inspector/front-end/ProfilesPanel.js:
8447 (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
8448 (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
8449 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
8450 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
8451 (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
8452 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
8453 (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
8454 show/hide other buttons. Also show/hide the PanelEnablerView.
8455 (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
8456 (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
8457 disableProfiler or enableProfiler.
8458 * inspector/front-end/ScriptsPanel.js:
8459 (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
8460 debuggingButton with the enableToggleButton.
8461 (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
8462 the enableToggleButton.
8463 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
8464 when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
8465 with the enableToggleButton.
8466 (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
8467 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
8468 since reset is called from debuggerWasEnabled and debuggerWasDisabled.
8469 * inspector/front-end/View.js: Inherit from WebInspector.Object.
8470 * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
8471 * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
8472 * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
8473 * inspector/front-end/inspector.js:
8474 (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
8475 (WebInspector.profilerWasDisabled): Ditto.
8476 * page/Console.cpp:
8477 (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
8478 (WebCore::Console::info): Ditto.
8479 (WebCore::Console::log): Ditto.
8480 (WebCore::Console::assertCondition): Ditto.
8481 (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
8482 (WebCore::Console::count): Ditto.
8483 (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
8484 (WebCore::Console::profileEnd): Ditto.
8485 (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
8486 * page/Settings.cpp:
8487 (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
8488 (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
8489 Now just sets the member boolean.
8490 * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
8491
84922008-10-28 Timothy Hatcher <timothy@apple.com>
8493
timothy@apple.com0a8972d2008-10-28 20:42:11 +00008494 Rename a few methods related to attaching and detaching the debugger. Also
8495 adds stub methods for enabling and disabling the profiler.
8496
8497 * Rename attachDebugger to enableDebugger.
8498 * Rename detachDebugger to disableDebugger.
8499 * Rename the debuggerAttached getter to debuggerEnabled.
8500 * Rename the debuggerAttached callback to debuggerWasEnabled.
8501 * Rename the debuggerDetached callback to debuggerWasDisabled.
8502
8503 Reviewed by Darin Adler.
8504
8505 * WebCore.base.exp:
8506 * inspector/InspectorController.cpp:
8507 (WebCore::InspectorController::InspectorController):
8508 (WebCore::InspectorController::setWindowVisible):
8509 (WebCore::InspectorController::windowScriptObjectAvailable):
8510 (WebCore::InspectorController::close):
8511 (WebCore::InspectorController::enableProfiler):
8512 (WebCore::InspectorController::disableProfiler):
8513 (WebCore::InspectorController::enableDebugger):
8514 (WebCore::InspectorController::disableDebugger):
8515 (WebCore::InspectorController::pauseInDebugger):
8516 (WebCore::InspectorController::resumeDebugger):
8517 (WebCore::InspectorController::stepOverStatementInDebugger):
8518 (WebCore::InspectorController::stepIntoStatementInDebugger):
8519 (WebCore::InspectorController::stepOutOfFunctionInDebugger):
8520 * inspector/InspectorController.h:
8521 (WebCore::InspectorController::profilerEnabled):
8522 (WebCore::InspectorController::debuggerEnabled):
8523 * inspector/front-end/BreakpointsSidebarPane.js:
8524 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
8525 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
8526 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
8527 * inspector/front-end/Object.js:
8528 * inspector/front-end/ProfilesPanel.js:
8529 (WebInspector.ProfilesPanel):
8530 * inspector/front-end/ScriptsPanel.js:
8531 (WebInspector.ScriptsPanel):
8532 (WebInspector.ScriptsPanel.prototype.get statusBarItems):
8533 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
8534 (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
8535 (WebInspector.ScriptsPanel.prototype.reset):
8536 (WebInspector.ScriptsPanel.prototype.canShowResource):
8537 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
8538 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
8539 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
8540 * inspector/front-end/View.js:
8541 * inspector/front-end/inspector.css:
8542 * inspector/front-end/inspector.html:
8543 * inspector/front-end/inspector.js:
8544 (WebInspector.addResource):
8545 (WebInspector.debuggerWasEnabled):
8546 (WebInspector.debuggerWasDisabled):
8547
85482008-10-28 Timothy Hatcher <timothy@apple.com>
8549
timothy@apple.comecd08c12008-10-28 20:41:59 +00008550 Fix an exception when searching the Resources panel while there
8551 and resources queued to be added to the list.
8552
8553 Reviewed by Kevin McCullough.
8554
8555 * inspector/front-end/ResourcesPanel.js:
8556 (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
8557 the _resourcesTreeElement property.
8558 (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
8559
alp@webkit.orgd5cc6262008-10-28 16:18:00 +000085602008-10-28 Alp Toker <alp@nuanti.com>
8561
8562 GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
8563 isn't defined.
8564
8565 * platform/graphics/gtk/FontGtk.cpp:
8566 (WebCore::getDefaultPangoLayout):
8567 * platform/graphics/gtk/FontPlatformDataPango.cpp:
8568
ap@webkit.orgbed87e92008-10-28 13:42:34 +000085692008-10-28 Alexey Proskuryakov <ap@webkit.org>
8570
8571 Reviewed by Darin Adler.
8572
8573 https://bugs.webkit.org/show_bug.cgi?id=21893
8574 Character set is incorrect for external scripts in XHTML pages
8575
8576 <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
8577
8578 Test: fast/encoding/external-script-charset.xhtml
8579
8580 Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
8581
8582 * dom/ScriptElement.h:
8583 * dom/XMLTokenizerLibxml2.cpp:
8584 (WebCore::XMLTokenizer::endElementNs):
8585 * dom/XMLTokenizerQt.cpp:
8586 (WebCore::XMLTokenizer::parseEndElement):
8587 * html/HTMLScriptElement.h:
8588 * svg/SVGScriptElement.cpp:
8589 (WebCore::SVGScriptElement::scriptCharset):
8590 * svg/SVGScriptElement.h:
8591
alp@webkit.org2ab36952008-10-28 12:53:51 +000085922008-10-28 Alp Toker <alp@nuanti.com>
8593
8594 Include copyright license files in the autotools dist target and
8595 exclude unused zlib headers.
8596
8597 Change suggested by Mike Hommey.
8598
8599 * GNUmakefile.am:
8600
weinig@apple.com57022612008-10-28 05:24:13 +000086012008-10-27 Sam Weinig <sam@webkit.org>
8602
8603 Reviewed by Maciej Stachowiak.
8604
8605 Clear the window shell when destroying a page to allow documents
8606 which have no way of being reached anymore, to be torn down.
8607
8608 * page/Frame.cpp:
8609 (WebCore::Frame::pageDestroyed):
8610
kevino@webkit.orgcdfc5ff2008-10-27 22:15:11 +000086112008-10-27 Kevin Watters <kevinwatters@gmail.com>
8612
8613 Reviewed by Kevin Ollivier.
8614
8615 Update the active state as well as the focused state as both need to be true
8616 for the caret to be drawn.
8617
8618 https://bugs.webkit.org/show_bug.cgi?id=21900
8619
8620 * WebView.cpp:
8621 (wxWebView::OnSetFocus):
8622 (wxWebView::OnKillFocus):
8623
kevino@webkit.orgc10dd0c2008-10-27 22:07:30 +000086242008-10-27 Kevin Ollivier <kevino@theolliviers.com>
8625
8626 wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
8627
8628 * webcore-wx.bkl:
8629
darin@apple.com3ab3cf62008-10-27 21:20:13 +000086302008-10-27 Michael Knaup <michael.knaup@mac.com>
8631
8632 Reviewed and tweaked by Darin Adler.
8633
8634 - https://bugs.webkit.org/show_bug.cgi?id=8988
8635
8636 Bug 8988: Add support for Mozilla CSS custom cursors.
8637 Added -webkit-grab and -webkit-grabbing cursor suppport
8638 for the Mac, dummy implementations for other platforms.
8639
8640 * css/CSSParser.cpp:
8641 (WebCore::CSSParser::parseValue): Updated since the
8642 -webkit-grabbing cursor is now the last one.
8643
8644 * css/CSSPrimitiveValueMappings.h:
8645 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
8646 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
8647
8648 * css/CSSValueKeywords.in: Added -webkit-grab and
8649 -webkit-grabbing.
8650
8651 * manual-tests/cursor.html: Added -webkit-zoom-in,
8652 webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
8653
8654 * page/EventHandler.cpp:
8655 (WebCore::EventHandler::selectCursor): Added
8656 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
8657
8658 * platform/Cursor.h: Added grabCursor and grabbingCursor.
8659
8660 * platform/gtk/CursorGtk.cpp:
8661 (WebCore::grabCursor): Added.
8662 (WebCore::grabbingCursor): Added.
8663 * platform/mac/CursorMac.mm:
8664 (WebCore::grabCursor): Added.
8665 (WebCore::grabbingCursor): Added.
8666 * platform/qt/CursorQt.cpp:
8667 (WebCore::grabCursor): Added.
8668 (WebCore::grabbingCursor): Added.
8669 * platform/win/CursorWin.cpp:
8670 (WebCore::grabCursor): Added.
8671 (WebCore::grabbingCursor): Added.
8672 * platform/wx/CursorWx.cpp:
8673 (WebCore::grabCursor): Added.
8674 (WebCore::grabbingCursor): Added.
8675
8676 * rendering/style/RenderStyleConstants.h:
8677 Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
8678 Also broke ECursor out into a single constant per line.
8679 Also added a couple of comments.
8680
eric@webkit.orgb1115002008-10-27 20:07:49 +000086812008-10-27 Dimitri Glazkov <dglazkov@chromium.org>
8682
8683 Reviewed by Darin Adler.
8684
8685 * svg/SVGAnimatedTemplate.h: needed a HashMap define
8686
eric@webkit.orgb2e05732008-10-27 19:49:58 +000086872008-10-21 Eric Seidel <eric@webkit.org>
8688
8689 Reviewed by Dave Hyatt.
8690
8691 Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
8692 https://bugs.webkit.org/show_bug.cgi?id=20400
8693
8694 Test: svg/custom/stop-crash.svg
8695
8696 * WebCore.xcodeproj/project.pbxproj:
8697 * rendering/RenderSVGGradientStop.h:
8698 (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
8699
andersca@apple.com0021f002008-10-27 18:52:49 +000087002008-10-27 Anders Carlsson <andersca@apple.com>
8701
andersca@apple.comd693d602008-10-27 18:55:12 +00008702 Reviewed by Sam Weinig.
8703
8704 No need to call release if the connection is null.
8705
8706 * platform/network/mac/ResourceHandleMac.mm:
8707 (WebCore::ResourceHandle::start):
8708
87092008-10-27 Anders Carlsson <andersca@apple.com>
8710
andersca@apple.com0021f002008-10-27 18:52:49 +00008711 Reviewed by Kevin Decker.
8712
8713 <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
8714
8715 Make sure to null check the NSURLConnection object.
8716
8717 * platform/network/mac/ResourceHandleMac.mm:
8718 (WebCore::ResourceHandle::start):
8719 (WebCore::ResourceHandle::setDefersLoading):
8720
ap@webkit.org6bc2b852008-10-27 08:53:48 +000087212008-10-27 Alexey Proskuryakov <ap@webkit.org>
8722
8723 Fix non-Mac builds.
8724
8725 * GNUmakefile.am:
8726 * WebCore.pro:
8727 * WebCore.vcproj/WebCore.vcproj:
8728 * WebCoreSources.bkl:
8729 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
8730
ap@webkit.orgb133b5c2008-10-27 07:59:16 +000087312008-10-26 Alexey Proskuryakov <ap@webkit.org>
8732
8733 Reviewed by Sam Weinig.
8734
8735 https://bugs.webkit.org/show_bug.cgi?id=21886
8736 window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
8737
8738 Test: fast/dom/HTMLOptionElement/option-prototype.html
8739
8740 We now have separate objects for window.Option and window.HTMLOptionElement - the latter
8741 "constructor" cannot be used to construct anything. This matches Firefox behavior.
8742
8743 * WebCore.xcodeproj/project.pbxproj:
8744 * bindings/js/JSDOMWindowBase.cpp:
8745 (jsDOMWindowBaseOption):
8746 * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
8747 * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
8748 * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
8749 * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
8750 * html/HTMLOptionElement.idl:
8751 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
8752
8753 * html/HTMLOptionElement.idl: Generate a constructor.
8754
ggaren@apple.combdfb2b52008-10-25 20:03:06 +000087552008-10-25 Geoffrey Garen <ggaren@apple.com>
8756
8757 Not reviewed.
8758
8759 Try to fix Mac debug build on the buildbot.
8760
8761 * platform/FileChooser.cpp:
8762 (WebCore::FileChooserClient::~FileChooserClient):
8763 * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
8764 weak exported symbol.
8765
vestbo@webkit.org4e516942008-10-25 15:22:24 +000087662008-10-25 Jade Han <jade.han@nokia.com>
8767
8768 Reviewed by Anders.
8769
8770 Enable custom properties for Qt runtime objects in QtWebKit
8771
8772 https://bugs.webkit.org/show_bug.cgi?id=21813
8773
8774 * bridge/runtime_object.cpp:
8775 (JSC::RuntimeObjectImp::getOwnPropertySlot):
8776 (JSC::RuntimeObjectImp::put):
8777
weinig@apple.comd75fed72008-10-25 06:02:05 +000087782008-10-24 Sam Weinig <sam@webkit.org>
8779
weinig@apple.com6c48aa12008-10-25 06:36:21 +00008780 Fix windows build.
8781
8782 * page/Chrome.cpp:
8783 * page/Chrome.h:
8784
87852008-10-24 Sam Weinig <sam@webkit.org>
8786
weinig@apple.com32ded9f2008-10-25 06:29:06 +00008787 Fix Qt build.
8788
8789 * platform/qt/FileChooserQt.cpp:
8790
87912008-10-24 Sam Weinig <sam@webkit.org>
8792
weinig@apple.comd75fed72008-10-25 06:02:05 +00008793 Reviewed by Dan Bernstein.
8794
8795 Fix https://bugs.webkit.org/show_bug.cgi?id=21759
8796 Layering violation: FileChooser should not depend on Document/Frame/Page
8797
8798 Move file choosing into WebKit ChromeClient.
8799
8800 * loader/EmptyClients.h:
8801 (WebCore::EmptyChromeClient::runOpenPanel):
8802 * page/Chrome.cpp:
8803 (WebCore::Chrome::runOpenPanel):
8804 * page/Chrome.h:
8805 * page/ChromeClient.h:
8806 * page/mac/ChromeMac.mm:
8807 * platform/FileChooser.h:
8808 * platform/mac/FileChooserMac.mm:
8809 * platform/qt/FileChooserQt.cpp:
8810 * platform/win/FileChooserWin.cpp:
8811 * platform/wx/TemporaryLinkStubs.cpp:
8812 * rendering/RenderFileUploadControl.cpp:
8813 (WebCore::RenderFileUploadControl::click):
8814
kevino@webkit.org4629ecf2008-10-25 01:34:12 +000088152008-10-24 Kevin Ollivier <kevino@theolliviers.com>
8816
8817 wx build fix - add newIconForFiles stub.
8818
8819 * platform/wx/TemporaryLinkStubs.cpp:
8820 (Icon::newIconForFiles):
8821
kevino@webkit.org64c5aeb2008-10-25 01:15:05 +000088222008-10-24 Kevin Watters <kevinwatters@gmail.com>
8823
8824 Reviewed by Kevin Ollivier.
8825
8826 Use the CGFont metrics APIs for more accurate measurements, and tweak the y
8827 value the text is drawn at (it was a couple pixels off before because wx
8828 internally adds to the y value.
8829
8830 https://bugs.webkit.org/show_bug.cgi?id=21853
8831
8832 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
8833 (wxFontProperties::wxFontProperties):
8834 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
8835 (WebCore::drawTextWithSpacing):
8836
eric@webkit.orgeb5cef42008-10-24 23:46:30 +000088372008-10-24 Eric Seidel <eric@webkit.org>
8838
8839 Reviewed by Sam Weinig.
8840
8841 Generate missing constructors and add test to prevent missing ones in the future
8842 https://bugs.webkit.org/show_bug.cgi?id=21846
8843
8844 Test: fast/js/global-constructors.html
8845
8846 * css/CSSStyleSheet.idl:
8847 * css/RGBColor.idl:
8848 * dom/NodeIterator.idl:
8849 * dom/TreeWalker.idl:
8850 * xml/XPathExpression.idl:
8851
ap@webkit.org1ae2de22008-10-24 23:39:17 +000088522008-10-24 Alexey Proskuryakov <ap@webkit.org>
8853
8854 Reviewed by Darin Adler.
8855
8856 https://bugs.webkit.org/show_bug.cgi?id=21836
8857 REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
8858
8859 Test: http/tests/xmlhttprequest/detaching-frame.html
8860
8861 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
8862 even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
8863 when dispatching the same callback that results in this function being called.
8864
ddkilzer@apple.come2f6f5c2008-10-24 23:04:55 +000088652008-10-24 David Kilzer <ddkilzer@apple.com>
8866
8867 Gtk build fix.
8868
8869 * platform/gtk/TemporaryLinkStubs.cpp:
8870 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
8871
mrowe@apple.com60f38472008-10-24 22:20:10 +000088722008-10-24 Mark Rowe <mrowe@apple.com>
8873
8874 Reviewed by Sam Weinig.
8875
8876 <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
8877
8878 * platform/graphics/cg/GraphicsContextCG.cpp:
8879 (WebCore::GraphicsContext::setImageInterpolationQuality):
8880 (WebCore::GraphicsContext::imageInterpolationQuality):
8881
andersca@apple.com4348c6a2008-10-24 22:16:18 +000088822008-10-24 Anders Carlsson <andersca@apple.com>
8883
8884 Reviewed by Sam Weinig.
8885
8886 <rdar://problem/5440917> Support NPN_Construct
8887
8888 * WebCore.NPAPI.exp:
8889 Export _NPN_Construct.
8890
8891 * bridge/NP_jsobject.cpp:
8892 (_NPN_Construct):
8893 Implement this.
8894
8895 * bridge/c/c_instance.cpp:
8896 (JSC::Bindings::CInstance::supportsConstruct):
8897 (JSC::Bindings::CInstance::invokeConstruct):
8898 Have this call the appropriate NPClass method.
8899
8900 * bridge/npruntime.h:
8901 Add NPN_Construct.
8902
8903 * bridge/npruntime_impl.h:
8904 Add _NPN_Construct.
8905
8906 * bridge/runtime.h:
8907 (JSC::Bindings::Instance::supportsConstruct):
8908 (JSC::Bindings::Instance::invokeConstruct):
8909 New methods.
8910
8911 * bridge/runtime_object.cpp:
8912 (JSC::callRuntimeConstructor):
8913 Call the native instance.
8914
8915 (JSC::RuntimeObjectImp::getConstructData):
8916 Implement this.
8917
8918 * bridge/runtime_object.h:
8919 Add new method declarations.
8920
8921 * plugins/gtk/PluginPackageGtk.cpp:
8922 (WebCore::PluginPackage::load):
8923 * plugins/qt/PluginPackageQt.cpp:
8924 (WebCore::PluginPackage::load):
8925 * plugins/win/PluginPackageWin.cpp:
8926 (WebCore::PluginPackage::load):
8927 Initialize m_pluginFuncs.construct.
8928
adele@apple.com8d6189b2008-10-24 22:09:35 +000089292008-10-24 Adele Peterson <adele@apple.com>
8930
8931 Build fix.
8932
8933 * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
8934 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
8935
ddkilzer@apple.combff12fe2008-10-24 21:51:58 +000089362008-10-24 Greg Bolsinga <bolsinga@apple.com>
8937
8938 Fix GTK build break.
8939
8940 Reviewed by David Kilzer.
8941
8942 * GNUmakefile.am: Do not include .idl files whose generated files should not be
8943 compiled.
8944
ddkilzer@apple.comec6a0d12008-10-24 21:46:12 +000089452008-10-24 David Kilzer <ddkilzer@apple.com>
8946
8947 Wx build fix.
8948
8949 * platform/wx/TemporaryLinkStubs.cpp:
8950 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
8951
adele@apple.com497541b2008-10-24 21:12:45 +000089522008-10-24 Adele Peterson <adele@apple.com>
8953
8954 Reviewed by Sam Weinig.
8955
8956 WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
8957
8958 This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
8959 This is consistent with the direction HTML5 will be going in the future.
8960
8961 The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view
8962 the individual files in a tooltip for now. Improvements to this control will come later.
8963
8964 Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file.
8965 These FileList Files can also be sent in an XMLHTTPRequest.
8966
8967 * manual-tests/post-multi-file-upload.html: Added.
8968 * manual-tests/resources/multiFileResources: Added.
8969 * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
8970 * manual-tests/resources/multiFileResources/testFile1.html: Added.
8971 * manual-tests/resources/multiFileResources/testFile2.html: Added.
8972 * manual-tests/resources/multiFileResources/testFile3.html: Added.
8973
8974 * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
8975
8976 * html/HTMLInputElement.cpp:
8977 (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
8978 (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control,
8979 but we don't want to break the behavior for existing websites that may rely on this.
8980 (WebCore::HTMLInputElement::setValue): ditto.
8981 (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
8982 (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
8983 * html/HTMLInputElement.h:
8984
8985 * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
8986
8987 * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
8988
8989 * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
8990 (WebCore::FileChooser::FileChooser):
8991 (WebCore::FileChooser::create):
8992 (WebCore::FileChooser::clear):
8993 (WebCore::FileChooser::chooseFile):
8994 (WebCore::FileChooser::chooseFiles):
8995 (WebCore::FileChooser::chooseIcon):
8996 * platform/FileChooser.h:
8997 (WebCore::FileChooser::filePaths):
8998 (WebCore::FileChooser::allowsMultipleFiles):
8999
9000 * platform/graphics/Icon.h:
9001 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
9002 * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
9003 * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
9004 * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
9005
9006 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector.
9007 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
9008 * platform/qt/FileChooserQt.cpp:
9009 (WebCore::FileChooser::openFileChooser):
9010 (WebCore::FileChooser::basenameForWidth):
9011 * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
9012
9013 * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
9014 Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel
9015 both get called for the same ResourceHandle. This getting called twice has no negative effect.
9016
9017 * rendering/RenderFileUploadControl.cpp:
9018 (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer.
9019 (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added.
9020 (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser.
9021 (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files.
9022 * rendering/RenderFileUploadControl.h:
9023
pkasting@chromium.orga8304c02008-10-24 20:43:02 +000090242008-10-23 Peter Kasting <pkasting@google.com>
9025
9026 Reviewed by David Hyatt.
9027
9028 https://bugs.webkit.org/show_bug.cgi?id=21844
9029 Remove setFocusRingColorChangeFunction.
9030
9031 * page/Page.cpp:
9032 (WebCore::Page::Page):
9033 * platform/graphics/Color.h:
9034 * platform/graphics/mac/ColorMac.mm:
9035 (WebCore::focusRingColor):
9036 * platform/graphics/qt/GraphicsContextQt.cpp:
9037 * platform/graphics/win/ColorSafari.cpp:
9038
ddkilzer@apple.com853ea9f2008-10-24 20:32:46 +000090392008-10-24 David Kilzer <ddkilzer@apple.com>
9040
9041 Build fix for Qt.
9042
9043 Reviewed by Greg.
9044
9045 * WebCore.pro: Added missing *.idl files.
9046
ddkilzer@apple.comf930faf2008-10-24 20:10:40 +000090472008-10-24 Greg Bolsinga <bolsinga@apple.com>
9048
9049 Reviewed by Sam Weinig.
9050
9051 https://bugs.webkit.org/show_bug.cgi?id=21475
9052
9053 Provide support for the Geolocation API
9054
9055 http://dev.w3.org/geo/api/spec-source.html
9056
9057 Test: geolocation/geolocation-not-implemented.html
9058
9059 * DerivedSources.make:
9060 * GNUmakefile.am: Added Geolocation support
9061 * WebCore.pro: Added Geolocation support
9062 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
9063 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
9064 * WebCoreSources.bkl: Added Geolocation support
9065 * bindings/js/JSCustomPositionCallback.cpp: Added.
9066 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
9067 (WebCore::JSCustomPositionCallback::handleEvent):
9068 * bindings/js/JSCustomPositionCallback.h: Added.
9069 (WebCore::JSCustomPositionCallback::create):
9070 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
9071 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
9072 (WebCore::JSCustomPositionErrorCallback::handleEvent):
9073 * bindings/js/JSCustomPositionErrorCallback.h: Added.
9074 (WebCore::JSCustomPositionErrorCallback::create):
9075 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
9076 (WebCore::markDOMObjectWrapper):
9077 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
9078 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
9079 * bindings/js/JSGeolocationCustom.cpp: Added.
9080 (WebCore::JSGeolocation::getCurrentPosition):
9081 (WebCore::JSGeolocation::watchPosition):
9082 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
9083 (WebCore::JSNavigator::mark):
9084 * dom/Document.cpp:
9085 (WebCore::Document::Document):
9086 * dom/Document.h:
9087 (WebCore::Document::setUsingGeolocation):
9088 (WebCore::Document::usingGeolocation):
9089 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
9090 (WebCore::FrameLoader::canCachePage):
9091 * page/Geolocation.cpp: Added.
9092 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
9093 (WebCore::Geolocation::GeoNotifier::timerFired):
9094 (WebCore::Geolocation::Geolocation):
9095 (WebCore::Geolocation::disconnectFrame):
9096 (WebCore::Geolocation::getCurrentPosition):
9097 (WebCore::Geolocation::watchPosition):
9098 (WebCore::Geolocation::clearWatch):
9099 (WebCore::Geolocation::stopUpdatingIfEmpty):
9100 (WebCore::Geolocation::sendErrorToOneShots):
9101 (WebCore::Geolocation::sendErrorToWatchers):
9102 (WebCore::Geolocation::sendPositionToOneShots):
9103 (WebCore::Geolocation::sendPositionToWatchers):
9104 (WebCore::Geolocation::handleError):
9105 (WebCore::Geolocation::geolocationServicePositionChanged):
9106 (WebCore::Geolocation::geolocationServiceErrorOccurred):
9107 * page/Geolocation.h: Added.
9108 (WebCore::Geolocation::create):
9109 (WebCore::Geolocation::~Geolocation):
9110 (WebCore::Geolocation::lastPosition):
9111 (WebCore::Geolocation::GeoNotifier::create):
9112 * page/Geolocation.idl: Added.
9113 * page/Geoposition.cpp: Added.
9114 (WebCore::Geoposition::toString):
9115 * page/Geoposition.h: Added.
9116 (WebCore::Geoposition::create):
9117 (WebCore::Geoposition::latitude):
9118 (WebCore::Geoposition::longitude):
9119 (WebCore::Geoposition::altitude):
9120 (WebCore::Geoposition::accuracy):
9121 (WebCore::Geoposition::altitudeAccuracy):
9122 (WebCore::Geoposition::heading):
9123 (WebCore::Geoposition::velocity):
9124 (WebCore::Geoposition::timestamp):
9125 (WebCore::Geoposition::Geoposition):
9126 * page/Geoposition.idl: Added.
9127 * page/Navigator.cpp:
9128 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
9129 (WebCore::Navigator::geolocation): accessor for Geolocation
9130 * page/Navigator.h:
9131 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
9132 * page/Navigator.idl: accessor for Geolocation
9133 * page/PositionCallback.h: Added.
9134 (WebCore::PositionCallback::~PositionCallback):
9135 * page/PositionCallback.idl: Added.
9136 * page/PositionError.h: Added.
9137 (WebCore::PositionError::):
9138 (WebCore::PositionError::create):
9139 (WebCore::PositionError::code):
9140 (WebCore::PositionError::message):
9141 (WebCore::PositionError::PositionError):
9142 * page/PositionError.idl: Added.
9143 * page/PositionErrorCallback.h: Added.
9144 (WebCore::PositionErrorCallback::~PositionErrorCallback):
9145 * page/PositionErrorCallback.idl: Added.
9146 * page/PositionOptions.h: Added.
9147 (WebCore::PositionOptions::create):
9148 (WebCore::PositionOptions::enableHighAccuracy):
9149 (WebCore::PositionOptions::setEnableHighAccuracy):
9150 (WebCore::PositionOptions::timeout):
9151 (WebCore::PositionOptions::setTimeout):
9152 (WebCore::PositionOptions::PositionOptions):
9153 * page/PositionOptions.idl: Added.
9154 * platform/GeolocationService.cpp: Added.
9155 (WebCore::GeolocationService::GeolocationService):
9156 (WebCore::GeolocationService::positionChanged):
9157 (WebCore::GeolocationService::errorOccurred):
9158 * platform/GeolocationService.h: Added.
9159 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
9160 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
9161 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
9162 (WebCore::GeolocationService::~GeolocationService):
9163
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +000091642008-10-24 Simon Fraser <simon.fraser@apple.com>
9165
simon.fraser@apple.com912ac412008-10-24 19:32:51 +00009166 Reviewed by Darin Adler
9167
9168 https://bugs.webkit.org/show_bug.cgi?id=21818
9169
9170 Add HashTraits for AtomicString so that AtomicString can be used as
9171 the key for a HashMap or HashSet.
9172
9173 * GNUmakefile.am: add AtomicStringHash.h
9174 * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
9175 * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
9176 * platform/text/AtomicString.h:
9177 (WebCore::AtomicString::AtomicString):
9178 (WebCore::AtomicString::isHashTableDeletedValue):
9179 specialize DefaultHash for AtomicString to use AtomicStringHash
9180 * platform/text/AtomicStringHash.h: Added.
9181 * platform/text/StringImpl.cpp:
9182 (WebCore::StringImpl::StringImpl):
9183 compute the hash up-front for the empty string
9184 * platform/text/StringImpl.h:
9185 (WebCore::StringImpl::existingHash):
9186 method to get the hash without a test and branch, for callers like
9187 AtomicStringHash who can guarantee that the hash has already been computed.
9188
91892008-10-24 Simon Fraser <simon.fraser@apple.com>
9190
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +00009191 Reviewed by Sam Weinig
9192
9193 https://bugs.webkit.org/show_bug.cgi?id=21857
9194
9195 Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
9196 switch in _wrapCSSRule.
9197
9198 * bindings/objc/DOMCSS.mm:
9199 (+[DOMCSSRule _wrapCSSRule:WebCore::]):
9200
aroben@apple.comb3ba69262008-10-24 19:14:17 +000092012008-10-24 Adam Roben <aroben@apple.com>
9202
9203 Windows build fix
9204
9205 * plugins/PluginView.cpp:
9206
mitz@apple.com258a2a32008-10-24 19:10:51 +000092072008-10-24 Dan Bernstein <mitz@apple.com>
9208
9209 Reviewed by Sam Weinig.
9210
9211 - fix https://bugs.webkit.org/show_bug.cgi?id=21851
9212 <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
9213
9214 Test: fast/replaced/percent-height-in-anonymous-block-widget.html
9215
9216 * rendering/RenderWidget.cpp:
9217 (WebCore::RenderWidget::destroy): Copied code added to
9218 RenderBox::destroy() in r36513 into this function.
9219
timothy@apple.comf4540012008-10-24 18:49:39 +000092202008-10-24 Timothy Hatcher <timothy@apple.com>
9221
9222 Add a mechanism to ask the InspectorClient for key/value setting pairs.
9223 These settings can be strings, numbers, booleans or string vectors. The
9224 settings are also bridged to and from JavaScript.
9225
9226 https://bugs.webkit.org/show_bug.cgi?id=21856
9227
9228 Reviewed by Darin Adler.
9229
9230 * WebCore.base.exp: Expose the String CFStringRef constructor.
9231 * inspector/InspectorClient.h:
9232 (WebCore::InspectorClient::populateSetting): Added, pure virtual.
9233 (WebCore::InspectorClient::storeSetting): Ditto.
9234 (WebCore::InspectorClient::removeSetting): Ditto.
9235 * inspector/InspectorController.cpp:
9236 (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
9237 (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
9238 (WebCore::InspectorController::InspectorController): Increment a global static
9239 to track the number of live InspectorControllers.
9240 (WebCore::InspectorController::~InspectorController): Decrement the global static
9241 that tracks the number of live InspectorControllers. Delete the setting cache if there
9242 are no more live controllers.
9243 (WebCore::InspectorController::setting): Check the cache and return the setting from there,
9244 otherwise make a new Setting and ask the client to populate it.
9245 (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
9246 (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
9247 to the InspectorController script class.
9248 * inspector/InspectorController.h:
9249 (WebCore::InspectorController::Setting::Setting):
9250 (WebCore::InspectorController::Setting::operator=):
9251 (WebCore::InspectorController::Setting::type): Return m_type.
9252 (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
9253 (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
9254 Assert the type is correct.
9255 (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
9256 Assert the type is correct.
9257 (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
9258 Assert the type is correct.
9259 (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
9260 Assert the type is correct.
9261 (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
9262 field and the type.
9263 * loader/EmptyClients.h:
9264 (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
9265 (WebCore::EmptyInspectorClient::storeSetting): Ditto.
9266 (WebCore::EmptyInspectorClient::removeSetting): Ditto.
9267
cwzwarich@webkit.org22ade9b2008-10-24 18:10:17 +000092682008-10-24 Cameron Zwarich <zwarich@apple.com>
9269
9270 Reviewed by Sam Weinig.
9271
9272 Remove some C-style casts.
9273
9274 * html/HTMLViewSourceDocument.cpp:
9275 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
9276
darin@apple.com44331f82008-10-24 16:22:51 +000092772008-10-24 Darin Adler <darin@apple.com>
9278
9279 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
9280
9281 * bindings/js/JSAttrCustom.cpp:
9282 * bindings/js/JSCSSRuleCustom.cpp:
9283 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
9284 * bindings/js/JSCSSValueCustom.cpp:
9285 * bindings/js/JSCanvasPixelArrayCustom.h:
9286 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
9287 * bindings/js/JSClipboardCustom.cpp:
9288 * bindings/js/JSConsoleCustom.cpp:
9289 * bindings/js/JSCustomSQLStatementCallback.cpp:
9290 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
9291 * bindings/js/JSCustomSQLTransactionCallback.cpp:
9292 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
9293 * bindings/js/JSCustomVoidCallback.cpp:
9294 * bindings/js/JSCustomVoidCallback.h:
9295 * bindings/js/JSCustomXPathNSResolver.cpp:
9296 * bindings/js/JSCustomXPathNSResolver.h:
9297 * bindings/js/JSDOMApplicationCacheCustom.cpp:
9298 * bindings/js/JSDOMBinding.cpp:
9299 * bindings/js/JSDOMBinding.h:
9300 * bindings/js/JSDOMWindowBase.cpp:
9301 * bindings/js/JSDOMWindowBase.h:
9302 * bindings/js/JSDOMWindowCustom.cpp:
9303 * bindings/js/JSDOMWindowCustom.h:
9304 * bindings/js/JSDOMWindowShell.cpp:
9305 * bindings/js/JSDOMWindowShell.h:
9306 * bindings/js/JSDatabaseCustom.cpp:
9307 * bindings/js/JSDedicatedWorkerCustom.cpp:
9308 * bindings/js/JSDocumentCustom.cpp:
9309 * bindings/js/JSElementCustom.cpp:
9310 * bindings/js/JSEventCustom.cpp:
9311 * bindings/js/JSEventListener.cpp:
9312 * bindings/js/JSEventTarget.cpp:
9313 * bindings/js/JSEventTarget.h:
9314 * bindings/js/JSEventTargetBase.h:
9315 * bindings/js/JSEventTargetNodeCustom.cpp:
9316 * bindings/js/JSHTMLAllCollection.h:
9317 * bindings/js/JSHTMLAppletElementCustom.cpp:
9318 * bindings/js/JSHTMLCollectionCustom.cpp:
9319 * bindings/js/JSHTMLDocumentCustom.cpp:
9320 * bindings/js/JSHTMLEmbedElementCustom.cpp:
9321 * bindings/js/JSHTMLFormElementCustom.cpp:
9322 * bindings/js/JSHTMLFrameElementCustom.cpp:
9323 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
9324 * bindings/js/JSHTMLIFrameElementCustom.cpp:
9325 * bindings/js/JSHTMLInputElementCustom.cpp:
9326 * bindings/js/JSHTMLObjectElementCustom.cpp:
9327 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
9328 * bindings/js/JSHTMLSelectElementCustom.cpp:
9329 * bindings/js/JSHTMLSelectElementCustom.h:
9330 * bindings/js/JSHistoryCustom.cpp:
9331 * bindings/js/JSImageDataCustom.cpp:
9332 * bindings/js/JSInspectedObjectWrapper.cpp:
9333 * bindings/js/JSInspectedObjectWrapper.h:
9334 * bindings/js/JSInspectorCallbackWrapper.cpp:
9335 * bindings/js/JSInspectorCallbackWrapper.h:
9336 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
9337 * bindings/js/JSLocationCustom.cpp:
9338 * bindings/js/JSMessagePortCustom.cpp:
9339 * bindings/js/JSMimeTypeArrayCustom.cpp:
9340 * bindings/js/JSNamedNodeMapCustom.cpp:
9341 * bindings/js/JSNamedNodesCollection.cpp:
9342 * bindings/js/JSNamedNodesCollection.h:
9343 * bindings/js/JSNavigatorCustom.cpp:
9344 * bindings/js/JSNodeCustom.cpp:
9345 * bindings/js/JSNodeFilterCondition.cpp:
9346 * bindings/js/JSNodeFilterCondition.h:
9347 * bindings/js/JSNodeFilterCustom.cpp:
9348 * bindings/js/JSNodeIteratorCustom.cpp:
9349 * bindings/js/JSNodeListCustom.cpp:
9350 * bindings/js/JSPluginArrayCustom.cpp:
9351 * bindings/js/JSPluginCustom.cpp:
9352 * bindings/js/JSPluginElementFunctions.cpp:
9353 * bindings/js/JSPluginElementFunctions.h:
9354 * bindings/js/JSQuarantinedObjectWrapper.cpp:
9355 * bindings/js/JSQuarantinedObjectWrapper.h:
9356 * bindings/js/JSRGBColor.cpp:
9357 * bindings/js/JSRGBColor.h:
9358 * bindings/js/JSSQLResultSetRowListCustom.cpp:
9359 * bindings/js/JSSQLTransactionCustom.cpp:
9360 * bindings/js/JSSVGElementInstanceCustom.cpp:
9361 * bindings/js/JSSVGLengthCustom.cpp:
9362 * bindings/js/JSSVGMatrixCustom.cpp:
9363 * bindings/js/JSSVGPathSegCustom.cpp:
9364 * bindings/js/JSSVGPathSegListCustom.cpp:
9365 * bindings/js/JSSVGPointListCustom.cpp:
9366 * bindings/js/JSSVGTransformListCustom.cpp:
9367 * bindings/js/JSStorageCustom.cpp:
9368 * bindings/js/JSStyleSheetCustom.cpp:
9369 * bindings/js/JSStyleSheetListCustom.cpp:
9370 * bindings/js/JSTextCustom.cpp:
9371 * bindings/js/JSTreeWalkerCustom.cpp:
9372 * bindings/js/JSXMLHttpRequestCustom.cpp:
9373 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
9374 * bindings/js/JSXSLTProcessorCustom.cpp:
9375 * bindings/js/ScheduledAction.cpp:
9376 * bindings/js/ScheduledAction.h:
9377 * bindings/js/ScriptController.cpp:
9378 * bindings/js/ScriptController.h:
9379 * bindings/objc/WebScriptObject.mm:
9380 * bindings/objc/WebScriptObjectPrivate.h:
9381 * bindings/scripts/CodeGeneratorJS.pm:
9382 * bridge/NP_jsobject.cpp:
9383 * bridge/c/c_instance.cpp:
9384 * bridge/c/c_instance.h:
9385 * bridge/c/c_runtime.cpp:
9386 * bridge/c/c_runtime.h:
9387 * bridge/c/c_utility.cpp:
9388 * bridge/c/c_utility.h:
9389 * bridge/jni/jni_instance.cpp:
9390 * bridge/jni/jni_instance.h:
9391 * bridge/jni/jni_jsobject.h:
9392 * bridge/jni/jni_jsobject.mm:
9393 * bridge/jni/jni_objc.mm:
9394 * bridge/jni/jni_runtime.cpp:
9395 * bridge/jni/jni_runtime.h:
9396 * bridge/jni/jni_utility.cpp:
9397 * bridge/jni/jni_utility.h:
9398 * bridge/objc/WebScriptObject.h:
9399 * bridge/objc/objc_class.h:
9400 * bridge/objc/objc_class.mm:
9401 * bridge/objc/objc_instance.h:
9402 * bridge/objc/objc_instance.mm:
9403 * bridge/objc/objc_runtime.h:
9404 * bridge/objc/objc_runtime.mm:
9405 * bridge/objc/objc_utility.h:
9406 * bridge/objc/objc_utility.mm:
9407 * bridge/qt/qt_class.cpp:
9408 * bridge/qt/qt_class.h:
9409 * bridge/qt/qt_instance.cpp:
9410 * bridge/qt/qt_instance.h:
9411 * bridge/qt/qt_runtime.cpp:
9412 * bridge/qt/qt_runtime.h:
9413 * bridge/runtime.cpp:
9414 * bridge/runtime.h:
9415 * bridge/runtime_array.cpp:
9416 * bridge/runtime_array.h:
9417 * bridge/runtime_method.cpp:
9418 * bridge/runtime_method.h:
9419 * bridge/runtime_object.cpp:
9420 * bridge/runtime_object.h:
9421 * bridge/testqtbindings.cpp:
9422 * inspector/JavaScriptCallFrame.cpp:
9423 * inspector/JavaScriptCallFrame.h:
9424 * inspector/JavaScriptProfile.cpp:
9425 * inspector/JavaScriptProfile.h:
9426 * inspector/JavaScriptProfileNode.cpp:
9427 * inspector/JavaScriptProfileNode.h:
9428 * loader/FrameLoader.cpp:
9429 * loader/FrameLoader.h:
9430 * page/Console.cpp:
9431 * page/Console.h:
9432 * plugins/MimeTypeArray.h:
9433 * plugins/Plugin.h:
9434 * plugins/PluginArray.h:
9435 * plugins/PluginView.cpp:
9436 * xml/XMLHttpRequest.cpp:
9437 Use JSValue* instead of JSValuePtr.
9438
hausmann@webkit.orgcffb4f42008-10-24 14:43:29 +000094392008-10-24 Simon Hausmann <hausmann@webkit.org>
9440
9441 Fix the Qt build.
9442
9443 * bridge/qt/qt_instance.cpp:
9444 (JSC::Bindings::QtField::valueFromInstance):
9445
ddkilzer@apple.com4f3c9aa2008-10-24 07:39:15 +000094462008-10-24 David Kilzer <ddkilzer@apple.com>
9447
9448 Rolled out r37840 and r37841.
9449
9450 * DerivedSources.make:
9451 * GNUmakefile.am:
9452 * WebCore.pro:
9453 * WebCore.vcproj/WebCore.vcproj:
9454 * WebCore.xcodeproj/project.pbxproj:
9455 * WebCoreSources.bkl:
9456 * bindings/js/JSCustomPositionCallback.cpp: Removed.
9457 * bindings/js/JSCustomPositionCallback.h: Removed.
9458 * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
9459 * bindings/js/JSCustomPositionErrorCallback.h: Removed.
9460 * bindings/js/JSDOMBinding.cpp:
9461 * bindings/js/JSDOMBinding.h:
9462 * bindings/js/JSDOMWindowCustom.cpp:
9463 (WebCore::markDOMObjectWrapper):
9464 * bindings/js/JSGeolocationCustom.cpp: Removed.
9465 * bindings/js/JSNavigatorCustom.cpp:
9466 * dom/Document.cpp:
9467 (WebCore::Document::Document):
9468 * dom/Document.h:
9469 * loader/FrameLoader.cpp:
9470 (WebCore::FrameLoader::canCachePage):
9471 * page/Geolocation.cpp: Removed.
9472 * page/Geolocation.h: Removed.
9473 * page/Geolocation.idl: Removed.
9474 * page/Geoposition.cpp: Removed.
9475 * page/Geoposition.h: Removed.
9476 * page/Geoposition.idl: Removed.
9477 * page/Navigator.cpp:
9478 (WebCore::Navigator::disconnectFrame):
9479 * page/Navigator.h:
9480 * page/Navigator.idl:
9481 * page/PositionCallback.h: Removed.
9482 * page/PositionCallback.idl: Removed.
9483 * page/PositionError.h: Removed.
9484 * page/PositionError.idl: Removed.
9485 * page/PositionErrorCallback.h: Removed.
9486 * page/PositionErrorCallback.idl: Removed.
9487 * page/PositionOptions.h: Removed.
9488 * page/PositionOptions.idl: Removed.
9489 * platform/GeolocationService.cpp: Removed.
9490 * platform/GeolocationService.h: Removed.
9491
ddkilzer@apple.com4a4be182008-10-24 05:39:28 +000094922008-10-23 David Kilzer <ddkilzer@apple.com>
9493
9494 Attempt to fix GTK build.
9495
9496 * GNUmakefile.am: Added new *.idl files that were missing.
9497
ddkilzer@apple.comc9e37fd2008-10-24 05:05:47 +000094982008-10-23 Greg Bolsinga <bolsinga@apple.com>
9499
9500 Reviewed by Sam Weinig.
9501
9502 https://bugs.webkit.org/show_bug.cgi?id=21475
9503
9504 Provide support for the Geolocation API
9505
9506 http://dev.w3.org/geo/api/spec-source.html
9507
9508 Test: geolocation/geolocation-not-implemented.html
9509
9510 * DerivedSources.make:
9511 * GNUmakefile.am: Added Geolocation support
9512 * WebCore.pro: Added Geolocation support
9513 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
9514 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
9515 * WebCoreSources.bkl: Added Geolocation support
9516 * bindings/js/JSCustomPositionCallback.cpp: Added.
9517 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
9518 (WebCore::JSCustomPositionCallback::handleEvent):
9519 * bindings/js/JSCustomPositionCallback.h: Added.
9520 (WebCore::JSCustomPositionCallback::create):
9521 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
9522 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
9523 (WebCore::JSCustomPositionErrorCallback::handleEvent):
9524 * bindings/js/JSCustomPositionErrorCallback.h: Added.
9525 (WebCore::JSCustomPositionErrorCallback::create):
9526 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
9527 (WebCore::markDOMObjectWrapper):
9528 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
9529 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
9530 * bindings/js/JSGeolocationCustom.cpp: Added.
9531 (WebCore::JSGeolocation::getCurrentPosition):
9532 (WebCore::JSGeolocation::watchPosition):
9533 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
9534 (WebCore::JSNavigator::mark):
9535 * dom/Document.cpp:
9536 (WebCore::Document::Document):
9537 * dom/Document.h:
9538 (WebCore::Document::setUsingGeolocation):
9539 (WebCore::Document::usingGeolocation):
9540 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
9541 (WebCore::FrameLoader::canCachePage):
9542 * page/Geolocation.cpp: Added.
9543 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
9544 (WebCore::Geolocation::GeoNotifier::timerFired):
9545 (WebCore::Geolocation::Geolocation):
9546 (WebCore::Geolocation::disconnectFrame):
9547 (WebCore::Geolocation::getCurrentPosition):
9548 (WebCore::Geolocation::watchPosition):
9549 (WebCore::Geolocation::clearWatch):
9550 (WebCore::Geolocation::stopUpdatingIfEmpty):
9551 (WebCore::Geolocation::sendErrorToOneShots):
9552 (WebCore::Geolocation::sendErrorToWatchers):
9553 (WebCore::Geolocation::sendPositionToOneShots):
9554 (WebCore::Geolocation::sendPositionToWatchers):
9555 (WebCore::Geolocation::handleError):
9556 (WebCore::Geolocation::geolocationServicePositionChanged):
9557 (WebCore::Geolocation::geolocationServiceErrorOccurred):
9558 * page/Geolocation.h: Added.
9559 (WebCore::Geolocation::create):
9560 (WebCore::Geolocation::~Geolocation):
9561 (WebCore::Geolocation::lastPosition):
9562 (WebCore::Geolocation::GeoNotifier::create):
9563 * page/Geolocation.idl: Added.
9564 * page/Geoposition.cpp: Added.
9565 (WebCore::Geoposition::toString):
9566 * page/Geoposition.h: Added.
9567 (WebCore::Geoposition::create):
9568 (WebCore::Geoposition::latitude):
9569 (WebCore::Geoposition::longitude):
9570 (WebCore::Geoposition::altitude):
9571 (WebCore::Geoposition::accuracy):
9572 (WebCore::Geoposition::altitudeAccuracy):
9573 (WebCore::Geoposition::heading):
9574 (WebCore::Geoposition::velocity):
9575 (WebCore::Geoposition::timestamp):
9576 (WebCore::Geoposition::Geoposition):
9577 * page/Geoposition.idl: Added.
9578 * page/Navigator.cpp:
9579 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
9580 (WebCore::Navigator::geolocation): accessor for Geolocation
9581 * page/Navigator.h:
9582 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
9583 * page/Navigator.idl: accessor for Geolocation
9584 * page/PositionCallback.h: Added.
9585 (WebCore::PositionCallback::~PositionCallback):
9586 * page/PositionCallback.idl: Added.
9587 * page/PositionError.h: Added.
9588 (WebCore::PositionError::):
9589 (WebCore::PositionError::create):
9590 (WebCore::PositionError::code):
9591 (WebCore::PositionError::message):
9592 (WebCore::PositionError::PositionError):
9593 * page/PositionError.idl: Added.
9594 * page/PositionErrorCallback.h: Added.
9595 (WebCore::PositionErrorCallback::~PositionErrorCallback):
9596 * page/PositionErrorCallback.idl: Added.
9597 * page/PositionOptions.h: Added.
9598 (WebCore::PositionOptions::create):
9599 (WebCore::PositionOptions::enableHighAccuracy):
9600 (WebCore::PositionOptions::setEnableHighAccuracy):
9601 (WebCore::PositionOptions::timeout):
9602 (WebCore::PositionOptions::setTimeout):
9603 (WebCore::PositionOptions::PositionOptions):
9604 * page/PositionOptions.idl: Added.
9605 * platform/GeolocationService.cpp: Added.
9606 (WebCore::GeolocationService::GeolocationService):
9607 (WebCore::GeolocationService::positionChanged):
9608 (WebCore::GeolocationService::errorOccurred):
9609 * platform/GeolocationService.h: Added.
9610 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
9611 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
9612 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
9613 (WebCore::GeolocationService::~GeolocationService):
9614
alp@webkit.org4e4aac32008-10-24 04:52:50 +000096152008-10-23 Alp Toker <alp@nuanti.com>
9616
9617 Fix typo in comment in previous commit. GTK -> GLIB
9618
9619 * platform/gtk/guriescape.c:
9620
alp@webkit.org274a3a12008-10-24 04:32:51 +000096212008-10-23 Kalle Vahlman <kalle.vahlman@movial.com>
9622
9623 Reviewed by Alp Toker.
9624
9625 https://bugs.webkit.org/show_bug.cgi?id=21824
9626 [GTK] FileSystem abstraction uses features from Glib 2.16
9627
9628 Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
9629
9630 * platform/gtk/guriescape.c:
9631 (unescape_character):
9632 (_webcore_g_uri_unescape_segment):
9633 (_webcore_g_uri_unescape_string):
9634 * platform/gtk/guriescape.h:
9635
jmalonzo@webkit.orga721ed52008-10-24 03:44:10 +000096362008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
9637
9638 Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
9639
9640 * GNUmakefile.am:
9641
darin@chromium.org65ff24c2008-10-24 01:04:33 +000096422008-10-23 Darin Fisher <darin@chromium.org>
9643
9644 Reviewed by Eric Seidel.
9645
9646 m_frame null checked but then dereferenced
9647 https://bugs.webkit.org/show_bug.cgi?id=21845
9648
9649 This error was found using a static analysis tool, and so I do not know
9650 how to produce a null m_frame on entry to this method. Hence, I have
9651 not included a regression test.
9652
9653 * page/EventHandler.cpp:
9654 (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
9655
mitz@apple.com83d2e872008-10-23 21:56:03 +000096562008-10-23 Dan Bernstein <mitz@apple.com>
9657
9658 Reviewed by Sam Weinig with no hesitation.
9659
9660 - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
9661 <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
9662
9663 Test: fast/text/bidi-embedding-pop-and-push-same.html
9664
9665 * platform/text/BidiResolver.h:
9666 (WebCore::BidiResolver::embed): Changed to only add the embedding
9667 operation to a vector of pending operations.
9668
9669 (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
9670 code that used to be in the PDF case of embed() here, except the part
9671 that sets the context.
9672
9673 (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
9674 code that used to be in the non-PDF case of embed() here, except the
9675 part the sets the context.
9676
9677 (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
9678 explicit embedding operations in the vector by creating an updated
9679 context and determining the old and new embedding levels. If the levels
9680 are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
9681 sets the context to the new one.
9682
9683 (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
9684 commitExplicitEmbedding() after calling embed() and after calling
9685 increment().
9686
9687 * rendering/bidi.cpp:
9688 (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
9689 this function increments the resolver.
9690
9691 (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
9692
jmalonzo@webkit.org2af1d5f2008-10-23 21:24:14 +000096932008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
9694
9695 Gtk build fix. Not reviewed.
9696
9697 Add DNSCurl and DNSSoup to the Gtk build
9698
9699 * GNUmakefile.am:
9700 * platform/gtk/TemporaryLinkStubs.cpp:
9701 * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
9702 (WebCore::prefetchDNS):
9703
eric@webkit.org378afbe2008-10-23 21:17:27 +000097042008-10-23 Eric Seidel <eric@webkit.org>
9705
9706 Reviewed by Sam Weinig.
9707
9708 Un-break the Darwin build.
9709
9710 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
9711 * platform/graphics/cg/ImageCG.cpp:
9712
darin@chromium.org9573fd42008-10-23 21:13:50 +000097132008-10-23 Darin Fisher <darin@chromium.org>
9714
9715 Reviewed by Eric Seidel.
9716
9717 Fix forward decls to be struct instead of class.
9718 https://bugs.webkit.org/show_bug.cgi?id=21838
9719
9720 * rendering/style/StyleRareInheritedData.h:
9721 * rendering/style/StyleRareNonInheritedData.h:
9722
weinig@apple.combb96c632008-10-23 20:36:25 +000097232008-10-23 Brent Fulgham <bfulgham@gmail.com>
9724
9725 Reviewed by Oliver Hunt.
9726
9727 * platform/network/curl/ResourceRequest.h: A better implementation
9728 of CFURLRequest, rather than void*. This gives better compatibility
9729 with the WebKit.idl interface.
9730 (WebCore::ResourceRequest::cfURLRequest):
9731
eric@webkit.orgb7074c02008-10-23 19:59:42 +000097322008-10-23 Mike Pinkerton <pinkerton@chromium.org>
9733
9734 Reviewed by Eric Seidel.
9735
9736 PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
9737 ifdefs to reflect that.
9738
9739 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
9740 * platform/graphics/cg/ImageCG.cpp:
9741
pkasting@chromium.org586415d2008-10-23 19:37:35 +000097422008-10-23 Peter Kasting <pkasting@google.com>
9743
9744 Reviewed by Adam Roben.
9745
9746 https://bugs.webkit.org/show_bug.cgi?id=21833
9747 Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
9748
9749 * inspector/InspectorController.cpp:
9750 (WebCore::InspectorController::InspectorController):
9751 (WebCore::InspectorController::setWindowVisible):
9752 (WebCore::InspectorController::windowScriptObjectAvailable):
9753 (WebCore::InspectorController::close):
9754 * inspector/InspectorController.h:
9755 * page/Page.cpp:
9756 (WebCore::Page::Page):
9757
kmccullough@apple.comd7e4bf72008-10-23 18:33:46 +000097582008-10-23 Kevin McCullough <kmccullough@apple.com>
9759
9760 Reviewed by Tim Hatcher.
9761
9762 https://bugs.webkit.org/show_bug.cgi?id=21817
9763 Bug 21817: Manual profiler tests should be made into layout tests
9764
9765 -Moving the tests before diffing so that it's clear what changed.
9766
9767 * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
9768 * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
9769 * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
9770 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
9771 * manual-tests/inspector/profiler-test-apply.html: Removed.
9772 * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
9773 * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
9774 * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
9775 * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
9776 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
9777 * manual-tests/inspector/profiler-test-constructor.html: Removed.
9778 * manual-tests/inspector/profiler-test-dead-time.html: Removed.
9779 * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
9780 * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
9781 * manual-tests/inspector/profiler-test-event-handler.html: Removed.
9782 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
9783 * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
9784 * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
9785 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
9786 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
9787 * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
9788 * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
9789 * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
9790 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
9791 * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
9792 * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
9793 * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
9794 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
9795 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
9796 * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
9797 * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
9798 * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
9799 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
9800 * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
9801 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
9802 * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
9803 * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
9804 * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
9805 * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
9806 * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
9807 * manual-tests/inspector/resources/other-frame.html: Removed.
9808 * manual-tests/inspector/resources/other-window.html: Removed.
9809 * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
9810
abarth@webkit.org31873302008-10-23 17:07:24 +000098112008-10-23 Adam Barth <abarth@webkit.org>
9812
9813 Reviewed by Sam Weinig.
9814
9815 https://bugs.webkit.org/show_bug.cgi?id=21826
9816
9817 Add accessor for SecurityOrigin::m_domainWasSetInDOM.
9818
9819 * page/SecurityOrigin.h:
9820 (WebCore::SecurityOrigin::domainWasSetInDOM):
9821
darin@apple.com3f537b92008-10-23 15:55:41 +000098222008-10-23 Darin Adler <darin@apple.com>
9823
9824 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
9825
9826 * bindings/js/ScheduledAction.h:
9827 * inspector/InspectorController.cpp:
9828 ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
9829
hausmann@webkit.org7ff09a42008-10-23 12:27:41 +000098302008-10-23 Simon Hausmann <hausmann@webkit.org>
9831
9832 Fix the Qt build.
9833
9834 * bridge/qt/qt_runtime.cpp:
9835 (JSC::Bindings::QtConnectionObject::execute):
9836 * bridge/qt/qt_runtime.h:
9837 (JSC::Bindings::QtRuntimeMethod::createStructureID):
9838
ap@webkit.org76544c12008-10-23 10:15:55 +000098392008-10-23 Alexey Proskuryakov <ap@webkit.org>
9840
9841 Reviewed by Maciej Stachowiak.
9842
9843 https://bugs.webkit.org/show_bug.cgi?id=21825
9844 JSDOMBinding should not blindly cast the global object to JSDOMWindow
9845
9846 * bindings/js/JSDOMGlobalObject.cpp:
9847 * bindings/js/JSDOMGlobalObject.h:
9848 * GNUmakefile.am:
9849 * WebCore.pro:
9850 * WebCore.vcproj/WebCore.vcproj:
9851 * WebCore.xcodeproj/project.pbxproj:
9852 * WebCoreSources.bkl:
9853 Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
9854
9855 * bindings/js/JSDOMBinding.cpp:
9856 (WebCore::getCachedDOMStructure):
9857 (WebCore::cacheDOMStructure):
9858 (WebCore::getCachedDOMConstructor):
9859 (WebCore::cacheDOMConstructor):
9860 Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
9861
9862 * bindings/js/JSDOMWindowBase.cpp:
9863 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
9864 * bindings/js/JSDOMWindowBase.h:
9865 * bindings/js/JSDOMWindowCustom.cpp:
9866 (WebCore::JSDOMWindow::mark):
9867 Moved constructor and structure tracking to JSDOMGlobalObject.
9868
abarth@webkit.org48cade32008-10-23 09:43:34 +000098692008-10-23 Adam Barth <abarth@webkit.org>
9870
9871 Reviewed by Sam Weinig.
9872
9873 https://bugs.webkit.org/show_bug.cgi?id=21787
9874
9875 Update postMessage to send origin = "null" for non-serializable
9876 origins to match latest spec. Merge SecurityOrigin::toString and
9877 SecurityOrigin::toHTTPOrigin because they are now the same.
9878
9879 Test: http/tests/security/postMessage/data-url-sends-null-origin.html
9880
9881 * loader/FrameLoader.cpp:
9882 (WebCore::FrameLoader::outgoingOrigin):
9883 (WebCore::FrameLoader::loadURL):
9884 (WebCore::FrameLoader::addHTTPOriginIfNeeded):
9885 (WebCore::FrameLoader::loadItem):
9886 * loader/loader.cpp:
9887 (WebCore::Loader::Host::servePendingRequests):
9888 * page/SecurityOrigin.cpp:
9889 (WebCore::SecurityOrigin::toString):
9890 * page/SecurityOrigin.h:
9891 * xml/XMLHttpRequest.cpp:
9892 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
9893 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
9894 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
9895 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
9896
ddkilzer@apple.com5c2a8892008-10-23 02:53:02 +000098972008-10-22 David Kilzer <ddkilzer@apple.com>
9898
9899 Bug 21781: WebCore::Settings should have a maximum decoded image size setting
9900
9901 <https://bugs.webkit.org/show_bug.cgi?id=21781>
9902
9903 Reviewed by Antti.
9904
9905 No tests since there is no change in behavior.
9906
9907 * loader/CachedImage.cpp:
9908 (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns
9909 WebCore::Settings::maximumDecodedImageSize() or 0 on error.
9910 (WebCore::CachedImage::data): Flag an error if the image being
9911 loaded is too big.
9912 * loader/CachedImage.h:
9913 (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
9914 * page/Settings.cpp:
9915 (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
9916 to the maximum value of size_t.
9917 * page/Settings.h:
9918 (WebCore::Settings::setMaximumDecodedImageSize): Added method.
9919 (WebCore::Settings::maximumDecodedImageSize): Ditto.
9920
darin@apple.com3fb46e42008-10-23 01:43:37 +000099212008-10-22 Mike Pinkerton <pinkerton@chromium.org>
9922
9923 Reviewed by Dan Bernstein.
9924 Landed and tweaked a bit by Darin Adler.
9925
9926 - fix https://bugs.webkit.org/show_bug.cgi?id=21809
9927
9928 Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
9929 its use for PLATFORM(CHROMIUM) in the future.
9930
9931 * platform/graphics/SimpleFontData.h:
9932
dsmith@webkit.org102296e2008-10-23 00:49:27 +000099332008-10-22 David Smith <catfish.man@gmail.com>
9934
darin@apple.com3fb46e42008-10-23 01:43:37 +00009935 Reviewed by Anders Carlsson.
dsmith@webkit.org102296e2008-10-23 00:49:27 +00009936
9937 https://bugs.webkit.org/show_bug.cgi?id=19974
9938 getElementsByClassName not live enough
9939
9940 Test: fast/dom/getElementsByClassName/015.html
9941
9942 * dom/StyledElement.cpp:
9943 (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
9944
darin@apple.com74e6ed62008-10-23 00:11:11 +000099452008-10-22 Darin Adler <darin@apple.com>
9946
9947 Reviewed by Sam Weinig.
9948
9949 - fix https://bugs.webkit.org/show_bug.cgi?id=21294
9950 Bug 21294: Devirtualize getOwnPropertySlot()
9951
9952 * bindings/js/JSDOMWindowShell.h:
9953 (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
9954 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
9955
9956 * bindings/js/JSInspectorCallbackWrapper.cpp:
9957 (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
9958 for this class rather than sharing nullProtoStructureID, which no longer exists.
9959
9960 * bindings/js/JSNamedNodesCollection.h:
9961 (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
9962 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
9963 * bindings/js/JSRGBColor.h:
9964 (WebCore::JSRGBColor::createStructureID): Ditto.
9965
9966 * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
9967 constructors, and prototypes in any case where they override getOwnPropertySlot, without
9968 HasStandardGetOwnPropertySlot.
9969
9970 * bridge/objc/objc_runtime.h:
9971 (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
9972 without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
9973 * bridge/qt/qt_runtime.h:
9974 (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
9975 * bridge/runtime_array.h:
9976 (JSC::RuntimeArray::createStructureID): Ditto.
9977 * bridge/runtime_method.h:
9978 (JSC::RuntimeMethod::createStructureID): Ditto.
9979 * bridge/runtime_object.h:
9980 (JSC::RuntimeObjectImp::createStructureID): Ditto.
9981
aroben@apple.comf4c75612008-10-22 23:33:58 +000099822008-10-22 Brent Fulgham <bfulgham@gmail.com>
9983
aroben@apple.com21fec102008-10-22 23:34:22 +00009984 Bring Windows Cairo Port's font handling in line with CG.
9985 http://bugs.webkit.org/show_bug.cgi?id=21812.
9986
9987 Reviewed by Adam Roben.
9988
9989 * platform/graphics/win/FontCacheWin.cpp:
9990 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
9991 TrueType font search. It should match CG in all font selections.
9992
99932008-10-22 Brent Fulgham <bfulgham@gmail.com>
9994
aroben@apple.comf4c75612008-10-22 23:33:58 +00009995 http://bugs.webkit.org/show_bug.cgi?id=21812.
9996 Bring Windows Cairo Port's font handling in line with CG.
9997
9998 Reviewed by David Hyatt.
9999
10000 * platform/graphics/win/FontCacheWin.cpp:
10001 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections.
10002
beidson@apple.comb90e6aa2008-10-22 23:06:53 +0000100032008-10-22 Brady Eidson <beidson@apple.com>
10004
10005 Reviewed by Adam Roben
10006
10007 <rdar://6261773> - autocomplete="off" doesn't work on Windows
10008
10009 Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
10010 statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
10011 instead of the much more correct "true."
10012
10013 In the past we have worked around this by declaring the bitfield member as an unsigned instead
10014 of the enum type.
10015
10016 For more discussion, see http://trac.webkit.org/changeset/25329
10017
10018 * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh*
10019
kmccullough@apple.com0435f782008-10-22 23:04:00 +0000100202008-10-22 Kevin McCullough <kmccullough@apple.com>
10021
10022 Reviewed by Oliver Hunt and Tim Hatcher.
10023
10024 https://bugs.webkit.org/show_bug.cgi?id=19225
10025 Bug 19225: JSProfiler: Create automated profiler tests
10026 - This change exports profiles on the console object so that they can be
10027 iterated over via JavaScript, and thus can be used in automated tests.
10028
10029 * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
10030 that JS can use.
10031 (WebCore::JSConsole::profiles):
10032 * inspector/InspectorController.h: Use the new typedef.
10033 (WebCore::InspectorController::profiles):
10034 * page/Console.cpp: Keep our own array of profile objects.
10035 (WebCore::Console::profileEnd):
10036 * page/Console.h: Ditto.
10037 (WebCore::Console::profiles):
10038 * page/Console.idl: Expose the profiles to JS.
10039
hyatt@apple.comaf225eb2008-10-22 21:51:23 +0000100402008-10-22 David Hyatt <hyatt@apple.com>
10041
10042 https://bugs.webkit.org/show_bug.cgi?id=21775
10043
10044 Convert buttons over to use the new Theme API on OS X.
10045
10046 Reviewed by Adam Roben
10047
10048 * platform/LengthBox.h:
10049 (WebCore::LengthBox::LengthBox):
10050 * platform/Theme.cpp:
10051 (WebCore::Theme::controlBorder):
10052 (WebCore::Theme::controlPadding):
10053 * platform/Theme.h:
10054 (WebCore::Theme::controlFont):
10055 (WebCore::Theme::controlSize):
10056 (WebCore::Theme::minControlSize):
10057 (WebCore::Theme::controlRequiresPreWhiteSpace):
10058 * platform/mac/ThemeMac.h:
10059 (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
10060 * platform/mac/ThemeMac.mm:
10061 (WebCore::checkboxSize):
10062 (WebCore::radioSize):
10063 (WebCore::buttonSizes):
10064 (WebCore::buttonMargins):
10065 (WebCore::button):
10066 (WebCore::paintButton):
10067 (WebCore::ThemeMac::controlFont):
10068 (WebCore::ThemeMac::controlSize):
10069 (WebCore::ThemeMac::minControlSize):
10070 (WebCore::ThemeMac::controlBorder):
10071 (WebCore::ThemeMac::controlPadding):
10072 (WebCore::ThemeMac::inflateControlPaintRect):
10073 (WebCore::ThemeMac::paint):
10074 * rendering/RenderTheme.cpp:
10075 (WebCore::RenderTheme::adjustStyle):
10076 (WebCore::RenderTheme::paint):
10077 (WebCore::RenderTheme::controlStatesForRenderer):
10078 (WebCore::RenderTheme::isDefault):
10079 (WebCore::RenderTheme::adjustRadioStyle):
10080 * rendering/RenderTheme.h:
10081 (WebCore::RenderTheme::setRadioSize):
10082 * rendering/RenderThemeMac.h:
10083 * rendering/RenderThemeMac.mm:
10084 (WebCore::RenderThemeMac::adjustRepaintRect):
10085 (WebCore::menuListButtonSizes):
10086 (WebCore::RenderThemeMac::adjustMenuListStyle):
10087 * rendering/style/RenderStyle.h:
10088 (WebCore::InheritedFlags::paddingBox):
10089 (WebCore::InheritedFlags::setPaddingBox):
10090
simon.fraser@apple.coma2a27b52008-10-22 19:35:52 +0000100912008-10-22 Chris Marrin <cmarrin@apple.com>
10092
10093 Reviewed by Dave Hyatt
10094
10095 Make sure that the AtomicString that identifies a set of animation keyframes
10096 stays live by keeping a copy in the WebKitCSSKeyframesRule.
10097
10098 Also call styleSheetChanged() when the keyframes name changes, but
10099 add an internal method that doesn't call styleSheetChanged() for use
10100 during normal stylesheet parsing.
10101
10102 Test: animations/change-keyframes-name.html
10103
10104 * css/CSSGrammar.y:
10105 * css/WebKitCSSKeyframesRule.cpp:
10106 (WebCore::WebKitCSSKeyframesRule::setName):
10107 * css/WebKitCSSKeyframesRule.h:
10108 (WebCore::WebKitCSSKeyframesRule::setNameInternal):
10109
ap@webkit.org6ed149d2008-10-22 17:43:26 +0000101102008-10-22 Alexey Proskuryakov <ap@webkit.org>
10111
10112 Reviewed by Sam Weinig.
10113
10114 https://bugs.webkit.org/show_bug.cgi?id=21791
10115 WebCore JS bindings should be able to use non-static hash tables for properties
10116
10117 Add a map for HashTables to WebCore JS client data.
10118
10119 This makes property access noticeably slower, so it is an opt-in. For classes that need to be
10120 supported in workers in forseeable future this is not critical.
10121
10122 * bindings/js/JSDOMBinding.cpp:
10123 (WebCore::DOMObjectHashTableMap::get):
10124 (WebCore::DOMObjectHashTableMap::mapFor):
10125 (WebCore::getHashTableForGlobalData):
10126 (WebCore::DOMObjectWrapperMap::mapFor):
10127 WebCore client data is now a class that contains both a DOM wrapper map and a property hash
10128 table one.
10129
10130 * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
10131
10132 * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
10133 JSDOMBinding map to access its property hash tables.
10134
10135 * dom/MessageChannel.idl:
10136 * dom/MessagePort.idl:
10137 Added NoStaticTables attribute.
10138
alp@webkit.org8d1d4c92008-10-22 13:55:06 +0000101392008-10-22 Gustavo Noronha Silva <gns@gnome.org>
10140
10141 Reviewed by Timothy Hatcher.
10142
10143 Build failure because of missing include
10144 https://bugs.webkit.org/show_bug.cgi?id=21765
10145
10146 Build failure fix for WebKit/GTK+; added missing
10147 include (GOwnPtr.h)
10148
10149 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
10150
alp@webkit.orgee7dc252008-10-22 10:38:23 +0000101512008-10-22 Alp Toker <alp@nuanti.com>
10152
alp@webkit.org197960d2008-10-22 13:51:16 +000010153 Reviewed by Adam Roben.
10154
10155 Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
10156 doesn't initialize values if the requested property doesn't exist, so
10157 initialize the values to the documented defaults before calling it
10158 where necessary. Additionally, avoid critical warnings by not calling
10159 gtk_widget_style_get() when we know the property isn't available.
10160
10161 Note that this is an imported source file which doesn't follow the
10162 WebKit coding style.
10163
10164 * platform/gtk/gtk2drawing.c:
10165 (moz_gtk_init):
10166 (moz_gtk_button_get_inner_border):
10167 (moz_gtk_combo_box_paint):
10168 (moz_gtk_toolbar_separator_paint):
10169 (moz_gtk_menu_separator_paint):
10170 (moz_gtk_get_widget_border):
10171 (moz_gtk_get_tab_scroll_arrow_size):
10172 (moz_gtk_get_toolbar_separator_width):
10173 (moz_gtk_get_menu_separator_height):
10174
101752008-10-22 Alp Toker <alp@nuanti.com>
10176
alp@webkit.orgee7dc252008-10-22 10:38:23 +000010177 Fix build for Cairo 1.2.
10178
10179 * platform/graphics/cairo/GraphicsContextCairo.cpp:
10180 (WebCore::GraphicsContext::clipOut):
10181 * platform/gtk/RenderThemeGtk.cpp:
10182 (WebCore::paintMozWidget):
10183
darin@chromium.orga740bfe2008-10-22 07:56:41 +0000101842008-10-22 Darin Fisher <darin@chromium.org>
10185
10186 Reviewed by Eric Seidel.
10187
10188 A little more PLATFORM(CHROMIUM) in WebCore
10189 https://bugs.webkit.org/show_bug.cgi?id=21758
10190
10191 * page/AccessibilityObject.h:
10192 * platform/graphics/Icon.h:
10193
ap@webkit.org4c610c02008-10-22 06:07:32 +0000101942008-10-21 Alexey Proskuryakov <ap@webkit.org>
10195
10196 Reviewed by Darin Adler.
10197
10198 Test: fast/events/message-channel-gc-3.html
10199
10200 https://bugs.webkit.org/show_bug.cgi?id=21769
10201 MessagePort should be GC protected if there are messages to be delivered
10202
10203 * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
10204 pending, and check if the queue is non-empty.
10205 (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
10206 fix (below).
10207
10208 * dom/MessagePort.cpp:
10209 (WebCore::CloseMessagePortTimer::fired):
10210 (WebCore::MessagePort::MessagePort):
10211 (WebCore::MessagePort::queueCloseEvent):
10212 (WebCore::MessagePort::dispatchCloseEvent):
10213 (WebCore::MessagePort::hasPendingActivity):
10214 Track message and close event activity separately.
10215
10216 * bindings/js/JSDOMBinding.cpp:
10217 (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
10218 causing same-heap ports to never be deleted.
10219
mitz@apple.com90a34532008-10-22 03:10:23 +0000102202008-10-21 Dan Bernstein <mitz@apple.com>
10221
10222 Reviewed by Sam Weinig.
10223
10224 - remove unreachable code
10225
10226 * platform/text/BidiResolver.h:
10227 (WebCore::::embed):
10228
bdakin@apple.comc144ec52008-10-22 00:22:55 +0000102292008-10-21 Beth Dakin <bdakin@apple.com>
10230
10231 Reviewed by Darin Adler.
10232
10233 Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
10234 REGRESSION(r31030-31055): Choosing "Print window" from frame set
10235 prints blank page
10236 and corresponding: <rdar://problem/6142398>
10237
10238 viewHeight() and viewWidth() only return valuable information if we
10239 are not printing. Everywhere else in the code, we make sure we are
10240 not printing before we call these functions. Adding a check for
10241 printing here fixes this bug, and framesets print again.
10242
10243 * rendering/RenderFrameSet.cpp:
10244 (WebCore::RenderFrameSet::layout):
10245
hausmann@webkit.orgfde4e2e2008-10-21 12:57:35 +0000102462008-10-21 Yael Aharon <yael.aharon@nokia.com>
10247
10248 Reviewed by Simon.
10249
10250 Pixmap in canvas tag was not getting initialized.
10251
10252 See https://bugs.webkit.org/show_bug.cgi?id=21771
10253
10254 * platform/graphics/qt/ImageBufferQt.cpp:
10255 (WebCore::ImageBuffer::create):
10256
simon.fraser@apple.com1f2bbf32008-10-21 06:01:03 +0000102572008-10-20 Simon Fraser <simon.fraser@apple.com>
10258
10259 Reviewed by Dan Bernstein
10260
10261 Add a comment explaining layoutDelta(), and an assertion
10262 that checks that delta changes were correctly paired during layout.
10263
10264 * rendering/RenderView.cpp:
10265 (WebCore::RenderView::layout):
10266 * rendering/RenderView.h:
10267
timothy@apple.com6b535d52008-10-21 04:50:24 +0000102682008-10-20 Timothy Hatcher <timothy@apple.com>
10269
timothy@apple.com1c922772008-10-21 04:50:34 +000010270 Make auto-complete only suggest properties that are valid syntax
10271 when using dot-notation. Also when completing numeric properties,
10272 the quotes are omitted inside the brackets.
10273
10274 https://bugs.webkit.org/show_bug.cgi?id=21760
10275 https://bugs.webkit.org/show_bug.cgi?id=21761
10276
10277 Reviewed by Oliver Hunt.
10278
10279 * inspector/front-end/Console.js:
10280 (WebInspector.Console.prototype.completions): Skip properties that
10281 are not valid identifies when using dot-notation. And omit the quotes
10282 when completing numbers in bracket-notation.
10283
102842008-10-20 Timothy Hatcher <timothy@apple.com>
10285
timothy@apple.com6b535d52008-10-21 04:50:24 +000010286 Fixes the Profiles panel in the Web Inspector, which was broken by
10287 the JSValue base-class changes. Also renames some functions and
10288 variables in JavaScriptProfileNode.cpp that where title case.
10289
10290 https://bugs.webkit.org/show_bug.cgi?id=21764
10291
10292 Reviewed by Oliver Hunt.
10293
10294 * inspector/JavaScriptProfile.cpp:
10295 (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
10296 returned JSValuePtr will be treated as an object and not a value.
10297 * inspector/JavaScriptProfileNode.cpp:
10298 (WebCore::toJS): Ditto.
10299
weinig@apple.com5ed91732008-10-21 02:14:45 +0000103002008-10-20 Sam Weinig <sam@webkit.org>
10301
10302 Reviewed by Anders Carlsson.
10303
10304 Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
10305
10306 * loader/EmptyClients.h:
10307 (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
10308 * loader/FrameLoader.cpp:
10309 (WebCore::FrameLoader::detachFromParent):
10310 * loader/FrameLoaderClient.h:
10311
antti@apple.com6068cf42008-10-21 01:22:51 +0000103122008-10-20 Antti Koivisto <antti@apple.com>
10313
10314 Reviewed by Adele Peterson.
10315
10316 Fix https://bugs.webkit.org/show_bug.cgi?id=21763
10317 REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
10318 <rdar://problem/6285025
10319
10320 If we get 304 response we need to explicitly check if that completes the frame load.
10321
10322 No test case, simulating the condition is pretty difficult.
10323
10324 * loader/loader.cpp:
10325 (WebCore::Loader::Host::didReceiveResponse):
10326
andersca@apple.com74021572008-10-21 01:05:19 +0000103272008-10-20 Anders Carlsson <andersca@apple.com>
10328
10329 Reviewed by Mark Rowe.
10330
10331 Work around <rdar://problem/6301728>.
10332
10333 Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
10334
10335 * loader/MainResourceLoader.cpp:
10336 (WebCore::MainResourceLoader::didReceiveResponse):
10337 (WebCore::MainResourceLoader::didReceiveData):
10338 (WebCore::MainResourceLoader::didFinishLoading):
10339 (WebCore::MainResourceLoader::didFail):
10340
bdakin@apple.com05f9b6b2008-10-20 22:47:19 +0000103412008-10-20 Beth Dakin <bdakin@apple.com>
10342
10343 Reviewed by Adele Peterson.
10344
10345 Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
10346 crashes in Safari at com.apple.WebCore
10347 WebCore::ScrollView::visibleContentRect const + 153
10348
10349 d->m_view can be null and is null-checked at other points in the
10350 code. The logs indicate that this crash occurs when closing a
10351 window containing a PDF, so in case where we crash, the PDF's view
10352 is probably already null. So the fix is to simply add a null-check.
10353
10354 * page/Frame.cpp:
10355 (WebCore::Frame::selectionRect):
10356
adele@apple.com79cd4612008-10-20 21:31:08 +0000103572008-10-20 Adele Peterson <adele@apple.com>
10358
10359 Reviewed by Darin Adler.
10360
10361 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
10362 Removed stray increment that would screw up any form with multiple files in it.
10363
weinig@apple.com5f550542008-10-20 20:42:46 +0000103642008-10-20 Sam Weinig <sam@webkit.org>
10365
10366 Rubber-stamped by David Hyatt.
10367
10368 Split LengthBox and LengthSize into their own files.
10369
10370 * GNUmakefile.am:
10371 * WebCore.vcproj/WebCore.vcproj:
10372 * WebCore.xcodeproj/project.pbxproj:
10373 * platform/Length.h:
10374 (WebCore::Length::blend):
10375 * platform/LengthBox.h: Copied from platform/Length.h.
10376 (WebCore::LengthBox::LengthBox):
10377 (WebCore::LengthBox::nonZero):
10378 * platform/LengthSize.h: Copied from platform/Length.h.
10379 (WebCore::LengthSize::LengthSize):
10380 (WebCore::LengthSize::setWidth):
10381 (WebCore::LengthSize::setHeight):
10382 (WebCore::LengthSize::height):
10383 * platform/Theme.h:
10384 * rendering/style/FillLayer.h:
10385 * rendering/style/NinePieceImage.h:
10386 (WebCore::NinePieceImage::NinePieceImage):
10387 * rendering/style/RenderStyle.h:
10388 * rendering/style/StyleDashboardRegion.h:
10389 * rendering/style/StyleSurroundData.h:
10390 * rendering/style/StyleVisualData.h:
10391
mitz@apple.com105c3c02008-10-20 20:15:27 +0000103922008-10-20 Dan Bernstein <mitz@apple.com>
10393
10394 - Mac build fix
10395
10396 * WebCore.xcodeproj/project.pbxproj:
10397
alp@webkit.org4a81ed22008-10-20 19:30:26 +0000103982008-10-20 Alp Toker <alp@nuanti.com>
10399
10400 Fix autotools dist build target by listing recently added header
10401 files only. Not reviewed.
10402
10403 * GNUmakefile.am:
10404
hyatt@apple.com8f754742008-10-20 19:18:38 +0000104052008-10-20 David Hyatt <hyatt@apple.com>
10406
hyatt@apple.comccda9a12008-10-20 19:27:58 +000010407 Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also
10408 refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
10409 originally.
10410
10411 ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
10412
10413 Reviewed by Adam Roben
10414
10415 * WebCore.xcodeproj/project.pbxproj:
10416 * platform/Theme.cpp: Added.
10417 (WebCore::Theme::controlSupportsBorder):
10418 (WebCore::Theme::controlSupportsPadding):
10419 * platform/Theme.h:
10420 * platform/mac/ThemeMac.h:
10421 * platform/mac/ThemeMac.mm:
10422 * rendering/RenderTheme.cpp:
10423 (WebCore::RenderTheme::adjustStyle):
10424 * rendering/RenderTheme.h:
10425
104262008-10-20 David Hyatt <hyatt@apple.com>
10427
hyatt@apple.com8f754742008-10-20 19:18:38 +000010428 Rename LengthBox's members to have m_ in front of them.
10429
10430 Reviewed by Sam Weinig
10431
10432 * css/CSSComputedStyleDeclaration.cpp:
10433 (WebCore::valueForNinePieceImage):
10434 (WebCore::getPositionOffsetValue):
10435 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
10436 * css/CSSStyleSelector.cpp:
10437 (WebCore::CSSStyleSelector::mapNinePieceImage):
10438 * platform/Length.h:
10439 (WebCore::LengthBox::LengthBox):
10440 (WebCore::LengthBox::left):
10441 (WebCore::LengthBox::right):
10442 (WebCore::LengthBox::top):
10443 (WebCore::LengthBox::bottom):
10444 (WebCore::LengthBox::operator==):
10445 (WebCore::LengthBox::nonZero):
10446 * rendering/RenderObject.cpp:
10447 (WebCore::RenderObject::paintNinePieceImage):
10448 (WebCore::RenderObject::addDashboardRegions):
10449 * rendering/style/RenderStyle.cpp:
10450 (WebCore::positionedObjectMoved):
10451 (WebCore::RenderStyle::setClip):
10452 (WebCore::RenderStyle::noneDashboardRegions):
10453 * rendering/style/RenderStyle.h:
10454 (WebCore::InheritedFlags::left):
10455 (WebCore::InheritedFlags::right):
10456 (WebCore::InheritedFlags::top):
10457 (WebCore::InheritedFlags::bottom):
10458 (WebCore::InheritedFlags::clipLeft):
10459 (WebCore::InheritedFlags::clipRight):
10460 (WebCore::InheritedFlags::clipTop):
10461 (WebCore::InheritedFlags::clipBottom):
10462 (WebCore::InheritedFlags::marginTop):
10463 (WebCore::InheritedFlags::marginBottom):
10464 (WebCore::InheritedFlags::marginLeft):
10465 (WebCore::InheritedFlags::marginRight):
10466 (WebCore::InheritedFlags::paddingTop):
10467 (WebCore::InheritedFlags::paddingBottom):
10468 (WebCore::InheritedFlags::paddingLeft):
10469 (WebCore::InheritedFlags::paddingRight):
10470 (WebCore::InheritedFlags::setLeft):
10471 (WebCore::InheritedFlags::setRight):
10472 (WebCore::InheritedFlags::setTop):
10473 (WebCore::InheritedFlags::setBottom):
10474 (WebCore::InheritedFlags::setDashboardRegion):
10475 (WebCore::InheritedFlags::setClipLeft):
10476 (WebCore::InheritedFlags::setClipRight):
10477 (WebCore::InheritedFlags::setClipTop):
10478 (WebCore::InheritedFlags::setClipBottom):
10479 (WebCore::InheritedFlags::setMarginTop):
10480 (WebCore::InheritedFlags::setMarginBottom):
10481 (WebCore::InheritedFlags::setMarginLeft):
10482 (WebCore::InheritedFlags::setMarginRight):
10483 (WebCore::InheritedFlags::setPaddingTop):
10484 (WebCore::InheritedFlags::setPaddingBottom):
10485 (WebCore::InheritedFlags::setPaddingLeft):
10486 (WebCore::InheritedFlags::setPaddingRight):
10487
timothy@apple.com77523c52008-10-20 19:03:15 +0000104882008-10-20 Timothy Hatcher <timothy@apple.com>
10489
10490 Make the Resource panel perform graph updates atomically, so when resources
10491 are added the graph and summary graph update at the same time.
10492
10493 https://bugs.webkit.org/show_bug.cgi?id=21755
10494
10495 Reviewed by Kevin McCullough.
10496
10497 * inspector/front-end/Resource.js:
10498 (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
10499 property is undefined, null or 0. This allows callers to check for -1 and not
10500 the other values when there is no startTime yet.
10501 (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
10502 (WebInspector.Resource.prototype.get endTime): Ditto.
10503 (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
10504 (WebInspector.Resource.prototype.get latency): Ditto.
10505 (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
10506 property is undefined or null. This allows callers to always assume a number.
10507 (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
10508 (WebInspector.Resource.prototype.get errors): Simplify the case where there is
10509 no _errors property yet.
10510 (WebInspector.Resource.prototype.set errors): Remove the check if the new value
10511 if the same as the previous value, since there is no work to guard.
10512 (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
10513 no _warnings property yet.
10514 (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
10515 if the same as the previous value, since there is no work to guard.
10516 (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
10517 responseReceivedTime is -1.
10518 (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
10519 * inspector/front-end/ResourcesPanel.js:
10520 (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
10521 have a _resourcesTreeElement yet, exclude it from the searchable views.
10522 (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
10523 and call refresh to refresh the entire graph.
10524 (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
10525 is visible that calls refresh.
10526 (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
10527 graph for a resource if it hasn't been created yet. If the boundaries changed during
10528 the first stale resource pass, do a full pass of all resources when updating the graphs.
10529 (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
10530 (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
10531 graph, these are now created during the first refresh.
10532 (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
10533 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
10534 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
10535 (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
10536 add the resource to the _staleResources and set needsRefresh.
10537 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
10538 _resourcesTreeElement.
10539 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
10540 the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
10541 since the insertBefore call will do it if needed.
10542 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
10543 clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
10544 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
10545 timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
10546 since all the legend items are removed in one pass right before.
10547 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
10548 before the calculator so the correct sortingFunction is there when a refresh happens.
10549 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
10550 when the startTime is -1, since that looks best visually. Also set middle and end
10551 to the start and middle (respectfully) when startAtZero. This looks best visually.
10552 (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
10553 (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
10554
hyatt@apple.coma16cfd32008-10-20 18:45:17 +0000105552008-10-20 David Hyatt <hyatt@apple.com>
10556
10557 https://bugs.webkit.org/show_bug.cgi?id=21733
10558
10559 Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
10560 no attempt is made to re-cache the frame from a non-existent image source.
10561
10562 Reviewed by Sam Weinig
10563
10564 * platform/graphics/cairo/ImageCairo.cpp:
10565 (WebCore::BitmapImage::BitmapImage):
10566 * platform/graphics/cg/ImageCG.cpp:
10567 (WebCore::BitmapImage::BitmapImage):
10568
mitz@apple.comdffa6702008-10-20 18:23:29 +0000105692008-10-20 Dan Bernstein <mitz@apple.com>
10570
10571 Reviewed by John Sullivan.
10572
10573 - make hasARenderedDescendant() have internal linkage
10574
10575 * editing/CompositeEditCommand.cpp:
10576 (WebCore::hasARenderedDescendant):
10577
cfleizach@apple.com2826b442008-10-20 17:57:12 +0000105782008-10-20 Chris Fleizach <cfleizach@apple.com>
10579
10580 Reviewed by Jon Honeycutt
10581
10582 Fix a crash in Accessibility where a table section was being
10583 referenced without first checking if it was null
10584
10585 https://bugs.webkit.org/show_bug.cgi?id=21721
10586
10587 Test: accessibility/table-nofirstbody.html
10588
10589 * page/AccessibilityTable.cpp:
10590 (WebCore::AccessibilityTable::addChildren):
10591
hyatt@apple.com95f62812008-10-20 17:40:52 +0000105922008-10-20 David Hyatt <hyatt@apple.com>
10593
10594 Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
10595
10596 Reviewed by Darin Adler
10597
10598 * platform/graphics/cg/ImageSourceCG.cpp:
10599 (WebCore::ImageSource::repetitionCount):
10600 (WebCore::ImageSource::frameDurationAtIndex):
10601
alp@webkit.org1b2d1fd2008-10-20 17:06:10 +0000106022008-10-20 Alp Toker <alp@nuanti.com>
10603
10604 Reviewed by Mark Rowe.
10605
10606 Fix the pthread conditionals in the FTP code to correctly define
10607 threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
10608 build.
10609
10610 * loader/FTPDirectoryDocument.cpp:
10611 * loader/FTPDirectoryParser.cpp:
10612
hyatt@apple.com74aa2f22008-10-20 16:50:20 +0000106132008-10-20 David Hyatt <hyatt@apple.com>
10614
10615 https://bugs.webkit.org/show_bug.cgi?id=21751
10616
10617 Convert checkboxes and radio buttons on OS X over to the new Theme API.
10618
10619 Reviewed by Adam Roben
10620
10621 * css/CSSComputedStyleDeclaration.cpp:
10622 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
10623 * css/CSSStyleSelector.cpp:
10624 (WebCore::CSSStyleSelector::mapFillSize):
10625 * platform/Length.h:
10626 (WebCore::LengthSize::LengthSize):
10627 (WebCore::LengthSize::operator==):
10628 (WebCore::LengthSize::width):
10629 (WebCore::LengthSize::height):
10630 (WebCore::LengthSize::setWidth):
10631 (WebCore::LengthSize::setHeight):
10632 * platform/Theme.h:
10633 (WebCore::Theme::controlSize):
10634 (WebCore::Theme::controlSupportsBorder):
10635 (WebCore::Theme::controlSupportsPadding):
10636 (WebCore::Theme::paint):
10637 (WebCore::Theme::inflateControlPaintRect):
10638 * platform/ThemeTypes.h:
10639 (WebCore::):
10640 * platform/mac/ThemeMac.h:
10641 * platform/mac/ThemeMac.mm:
10642 (WebCore::):
10643 (WebCore::controlSizeForFont):
10644 (WebCore::sizeFromFont):
10645 (WebCore::setControlSize):
10646 (WebCore::updateStates):
10647 (WebCore::inflateRect):
10648 (WebCore::checkboxSizes):
10649 (WebCore::checkboxMargins):
10650 (WebCore::checkboxSize):
10651 (WebCore::checkbox):
10652 (WebCore::paintCheckbox):
10653 (WebCore::radioSizes):
10654 (WebCore::radioMargins):
10655 (WebCore::radioSize):
10656 (WebCore::radio):
10657 (WebCore::paintRadio):
10658 (WebCore::ThemeMac::baselinePositionAdjustment):
10659 (WebCore::ThemeMac::controlSize):
10660 (WebCore::ThemeMac::controlSupportsBorder):
10661 (WebCore::ThemeMac::controlSupportsPadding):
10662 (WebCore::ThemeMac::inflateControlPaintRect):
10663 (WebCore::ThemeMac::paint):
10664 * rendering/RenderBox.cpp:
10665 (WebCore::RenderBox::calculateBackgroundSize):
10666 * rendering/RenderObject.cpp:
10667 (WebCore::mustRepaintFillLayers):
10668 * rendering/RenderTheme.cpp:
10669 (WebCore::RenderTheme::adjustStyle):
10670 (WebCore::RenderTheme::paint):
10671 (WebCore::RenderTheme::baselinePosition):
10672 (WebCore::RenderTheme::adjustRepaintRect):
10673 (WebCore::RenderTheme::controlStatesForRenderer):
10674 (WebCore::RenderTheme::isFocused):
10675 * rendering/RenderTheme.h:
10676 * rendering/RenderThemeMac.h:
10677 * rendering/RenderThemeMac.mm:
10678 (WebCore::RenderThemeMac::adjustRepaintRect):
10679 * rendering/style/FillLayer.cpp:
10680 (WebCore::FillLayer::operator==):
10681
ggaren@apple.com4b8c0fb2008-10-20 16:48:30 +0000106822008-10-18 Geoffrey Garen <ggaren@apple.com>
10683
10684 Reviewed by Darin Adler.
10685
10686 Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
10687 Emit profiling instrumentation only if the Web Inspector's profiling
10688 feature is enabled
10689
10690 * bindings/js/JSDOMWindowBase.cpp:
10691 (WebCore::JSDOMWindowBase::supportsProfiling):
10692 * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
10693 whether a target global object has the Web Inspector's profiling feature
10694 enabled.
10695
10696 * inspector/JavaScriptDebugServer.cpp:
10697 (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
10698 (WebCore::JavaScriptDebugServer::didAddListener):
10699 (WebCore::JavaScriptDebugServer::didRemoveListener):
10700 * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
10701 used by the Settings object.
10702
10703 * page/Settings.cpp:
10704 (WebCore::Settings::Settings):
10705 (WebCore::Settings::setDeveloperExtrasEnabled):
10706 * page/Settings.h: Recompile when the developer menu is enabled/disabled
10707 for the first time, to add/remove profiling hooks. In the future, with
10708 better Web Inspector UI, we can do this on a page-by-page basis,
10709 instead of a global basis.
10710
hyatt@apple.com6b537eb2008-10-20 15:54:55 +0000107112008-10-20 David Hyatt <hyatt@apple.com>
10712
10713 Move Length to platform/.
10714
10715 Reviewed by Adam Roben
10716
10717 * GNUmakefile.am:
10718 * WebCore.pro:
10719 * WebCore.vcproj/WebCore.vcproj:
10720 * WebCore.xcodeproj/project.pbxproj:
10721 * WebCoreSources.bkl:
10722 * platform/Length.cpp: Copied from rendering/Length.cpp.
10723 * platform/Length.h: Copied from rendering/Length.h.
10724
darin@apple.com29bf98b2008-10-20 15:16:29 +0000107252008-10-20 Darin Adler <darin@apple.com>
10726
darin@apple.come90aa812008-10-20 15:28:14 +000010727 - try to fix Qt build
10728
darin@apple.com1f5b8ac2008-10-20 15:29:04 +000010729 * bridge/qt/qt_runtime.cpp:
10730 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
10731 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
10732
107332008-10-20 Darin Adler <darin@apple.com>
10734
10735 - try to fix Qt build
10736
darin@apple.come90aa812008-10-20 15:28:14 +000010737 * bridge/qt/qt_instance.cpp:
10738 (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
10739 (JSC::Bindings::QtField::valueFromInstance): Ditto.
10740 * bridge/qt/qt_instance.h: Ditto.
10741
107422008-10-20 Darin Adler <darin@apple.com>
10743
darin@apple.com29bf98b2008-10-20 15:16:29 +000010744 - try to fix Tiger build
10745
10746 * bridge/objc/objc_instance.mm:
10747 (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
10748 volatile qualifier.
10749 (ObjcInstance::invokeDefaultMethod): Ditto.
10750 (ObjcInstance::getValueOfUndefinedField): Ditto.
10751 * bridge/objc/objc_runtime.mm:
10752 (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
10753
ap@webkit.org0d0f77352008-10-20 15:13:11 +0000107542008-10-20 Alexey Proskuryakov <ap@webkit.org>
10755
10756 Reviewed by Darin Adler.
10757
10758 https://bugs.webkit.org/show_bug.cgi?id=21750
10759 Eliminate the notion of "temporary events"
10760
10761 We mark some events as temporary when dispatching, for the sole reason of
10762 manually calling forgetDOMObject when done dispatching.
10763
10764 There doesn't seem to be any reason to call it manually, as JSEvent destructor
10765 will do this automatically right away.
10766
10767 * bindings/js/ScriptController.cpp:
10768 * bindings/js/ScriptController.h:
10769 Removed ScriptController::finishedWithEvent(), which was called after dispatching
10770 a temporary event.
10771
10772 * dom/ContainerNode.cpp:
10773 (WebCore::dispatchChildInsertionEvents):
10774 (WebCore::dispatchChildRemovalEvents):
10775 * dom/EventTarget.h:
10776 * dom/EventTargetNode.cpp:
10777 (WebCore::EventTargetNode::dispatchEvent):
10778 (WebCore::EventTargetNode::dispatchGenericEvent):
10779 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
10780 (WebCore::EventTargetNode::dispatchWindowEvent):
10781 (WebCore::EventTargetNode::dispatchUIEvent):
10782 (WebCore::EventTargetNode::dispatchKeyEvent):
10783 (WebCore::EventTargetNode::dispatchMouseEvent):
10784 (WebCore::EventTargetNode::dispatchWheelEvent):
10785 (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
10786 (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
10787 (WebCore::EventTargetNode::dispatchEventForType):
10788 (WebCore::EventTargetNode::dispatchProgressEvent):
10789 (WebCore::EventTargetNode::dispatchStorageEvent):
10790 * dom/EventTargetNode.h:
10791 * dom/MessagePort.cpp:
10792 (WebCore::MessagePort::dispatchMessages):
10793 (WebCore::MessagePort::dispatchCloseEvent):
10794 (WebCore::MessagePort::dispatchEvent):
10795 * dom/MessagePort.h:
10796 * editing/Editor.cpp:
10797 (WebCore::Editor::dispatchCPPEvent):
10798 (WebCore::dispatchEditableContentChangedEvents):
10799 * editing/ReplaceSelectionCommand.cpp:
10800 (WebCore::ReplacementFragment::ReplacementFragment):
10801 * editing/TypingCommand.cpp:
10802 (WebCore::TypingCommand::insertText):
10803 * loader/appcache/DOMApplicationCache.cpp:
10804 (WebCore::DOMApplicationCache::dispatchEvent):
10805 (WebCore::DOMApplicationCache::callListener):
10806 * loader/appcache/DOMApplicationCache.h:
10807 * page/EventHandler.cpp:
10808 (WebCore::EventHandler::dispatchDragEvent):
10809 (WebCore::EventHandler::keyEvent):
10810 (WebCore::EventHandler::handleTextInputEvent):
10811 * page/FrameView.cpp:
10812 (WebCore::FrameView::scheduleEvent):
10813 (WebCore::FrameView::updateOverflowStatus):
10814 (WebCore::FrameView::dispatchScheduledEvents):
10815 * page/FrameView.h:
10816 * rendering/RenderLayer.cpp:
10817 (WebCore::RenderLayer::scrollToOffset):
10818 (WebCore::RenderLayer::updateOverflowStatus):
10819 * svg/SVGElement.cpp:
10820 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
10821 * svg/SVGElementInstance.cpp:
10822 (WebCore::SVGElementInstance::dispatchEvent):
10823 * svg/SVGElementInstance.h:
10824 * xml/XMLHttpRequest.cpp:
10825 (WebCore::XMLHttpRequest::dispatchEvent):
10826 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
10827 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
10828 * xml/XMLHttpRequest.h:
10829 * xml/XMLHttpRequestUpload.cpp:
10830 (WebCore::XMLHttpRequestUpload::dispatchEvent):
10831 (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
10832 * xml/XMLHttpRequestUpload.h:
10833 Don't pass the tempEvent boolean around.
10834
alp@webkit.org64c083f2008-10-20 11:32:36 +0000108352008-10-20 Alp Toker <alp@nuanti.com>
10836
10837 Remove unused includes only. Partial GTK+/Win build fix.
10838
10839 * platform/graphics/gtk/SimpleFontDataPango.cpp:
10840
ap@webkit.org00a9b882008-10-20 09:24:30 +0000108412008-10-20 Alexey Proskuryakov <ap@webkit.org>
10842
10843 Reviewed by Oliver Hunt.
10844
10845 https://bugs.webkit.org/show_bug.cgi?id=21705
10846 Implement Web Workers client-side API
10847
10848 The implementation is experimental, and disabled by default. It doesn't quite match the
10849 published draft, being influenced by further WHATWG discussions.
10850
10851 This only implements the client-side API, and does not actually create any threads or
10852 global contexts yet.
10853
10854 * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
10855 still not sure if having separate classes for these helps at all.
10856
10857 * WebCore.xcodeproj/project.pbxproj: Added new files.
10858
10859 * bindings/js/JSDOMWindowBase.cpp:
10860 (jsDOMWindowBaseWorker):
10861 (WebCore::JSDOMWindowBase::put):
10862 (setJSDOMWindowBaseWorker):
10863 Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
10864 to match prevailing style.
10865
10866 * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
10867 * bindings/js/JSDedicatedWorkerConstructor.h: Added.
10868 * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
10869 The implementation of event listeners are left custom intentionally, for easier implementation
10870 of listeners that are not tied to any Document in the future.
10871
10872 * dom/DedicatedWorker.cpp: Added.
10873 * dom/DedicatedWorker.h: Added.
10874 * dom/DedicatedWorker.idl: Added.
10875 Added an implementation that can only load requested scripts for now.
10876
darin@apple.comcd9e55b2008-10-20 06:29:32 +0000108772008-10-19 Darin Adler <darin@apple.com>
10878
10879 Reviewed by Dan Bernstein.
10880
10881 - fix assertion seen when opening inspector
10882
10883 * bindings/js/JSQuarantinedObjectWrapper.cpp:
10884 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
10885 Removed unneeded asObject cast.
10886
mitz@apple.com2cce4672008-10-20 03:49:58 +0000108872008-10-19 Dan Bernstein <mitz@apple.com>
10888
10889 Rubber-stamped by Timothy Hatcher.
10890
10891 - remove empty directories and correct the MIME type of inspector images
10892
10893 * page/inspector: Removed.
10894 * page/inspector/Images: Removed.
10895
timothy@apple.com2b1a4132008-10-20 03:43:19 +0000108962008-10-19 Timothy Hatcher <timothy@apple.com>
10897
timothy@apple.com389d6642008-10-20 03:43:57 +000010898 Make the Web Inspector Resources panel open quicker and change graphs
10899 faster. There was some accidental n^2 logic at fault when updating the
10900 graph boundaries.
10901
10902 https://bugs.webkit.org/show_bug.cgi?id=21742
10903
10904 Reviewed by Darin Adler.
10905
10906 * inspector/front-end/ResourcesPanel.js:
10907 (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
10908 a null calculator. Remove the second argument passed to _refreshAllResources.
10909 (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
10910 the calculator for all the stale resources before calling refreshResource.
10911 Pass true for the first argument of refreshResource to skip the boundary update.
10912 (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
10913 the second argument passed to _refreshAllResources.
10914 (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
10915 skipSort argument since every passed true, and it would be bad to pass false.
10916 (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
10917 skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
10918 the resources before calling refreshResource. Pass true for the first argument
10919 of refreshResource to skip the boundary update.
10920
109212008-10-19 Timothy Hatcher <timothy@apple.com>
10922
timothy@apple.coma68e10d2008-10-20 03:43:45 +000010923 Visually distinguish resources that loaded from the memory cache.
10924
10925 https://bugs.webkit.org/show_bug.cgi?id=14279
10926
10927 Reviewed by Dan Bernstein.
10928
10929 * English.lproj/localizedStrings.js: New string.
10930 * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
10931 * inspector/front-end/Images/timelineHollowPillGray.png: Added.
10932 * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
10933 * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
10934 * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
10935 * inspector/front-end/Images/timelineHollowPillRed.png: Added.
10936 * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
10937 * inspector/front-end/ResourcesPanel.js:
10938 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
10939 Add the "(from cache)" suffix to the tooltip.
10940 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
10941 Add the "(from cache)" suffix to the tooltip.
10942 (WebInspector.ResourceGraph): Add the "resource-cached" class.
10943 * inspector/front-end/inspector.css: New styles to make the timeline
10944 bars use the hollow pill images.
10945
109462008-10-19 Timothy Hatcher <timothy@apple.com>
10947
timothy@apple.comc4c00ec2008-10-20 03:43:29 +000010948 Update the scroll position in the Resources panel when loading
10949 a new page or toggling on small resource rows.
10950
10951 https://bugs.webkit.org/show_bug.cgi?id=20114
10952
10953 Reviewed by Darin Adler.
10954
10955 * inspector/front-end/ResourcesPanel.js:
10956 (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
10957 since all the resource are being removed.
10958 (WebInspector.ResourcesPanel.prototype.removeResource): Call
10959 _adjustScrollPosition in case the view is shorter and needs scrolled.
10960 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
10961 (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
10962 the height of the sidebar against the scrollTop and height of the
10963 resourcesContainerElement. If the sidebar is shorter, scroll up
10964 so the last resource is at the bottom again.
10965
109662008-10-19 Timothy Hatcher <timothy@apple.com>
10967
timothy@apple.com2b1a4132008-10-20 03:43:19 +000010968 Show per resource times and sizes when hovering over the bar graph for a resource.
10969
10970 https://bugs.webkit.org/show_bug.cgi?id=14300
10971 rdar://problem/5712802
10972
10973 Reviewed by Cameron Zwarich.
10974
10975 * English.lproj/localizedStrings.js: Add new strings.
10976 * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
10977 * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
10978 * inspector/front-end/ResourcesPanel.js:
10979 (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
10980 ResourceGraph.refresh function.
10981 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
10982 returns the formatted value.
10983 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
10984 for the latency and download times. Also generate a custom tooltip.
10985 (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
10986 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
10987 in case the bar has changed size.
10988 (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
10989 * inspector/front-end/inspector.css: New styles for the labels.
10990
darin@apple.com989a6f82008-10-20 00:28:51 +0000109912008-10-19 Darin Adler <darin@apple.com>
10992
10993 Reviewed by Oliver Hunt.
10994
10995 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
10996 improve performance by eliminating JSValue as a base class for JSCell
10997
10998 Remove most uses of JSValue, which will be removed in a future patch.
10999
11000 * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
11001 and used JSValuePtr instead.
11002 * bindings/js/JSEventTarget.h: Ditto.
11003 * bindings/js/JSNodeFilterCondition.h: Ditto.
11004 * bindings/js/ScheduledAction.h: Ditto.
11005 * bindings/js/ScriptController.h: Ditto.
11006 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
11007 * bridge/c/c_utility.h: Ditto.
11008 * bridge/jni/jni_jsobject.h: Ditto.
11009 * bridge/jni/jni_utility.h: Ditto.
11010 * bridge/objc/WebScriptObject.h: Ditto.
11011 * dom/Traversal.h: Ditto.
11012 * inspector/InspectorController.cpp: Ditto.
11013 * inspector/JavaScriptProfile.h: Ditto.
11014 * inspector/JavaScriptProfileNode.h: Ditto.
11015 * loader/FrameLoader.h: Ditto.
11016 * page/Console.h: Ditto.
11017 * plugins/MimeTypeArray.h: Ditto.
11018 * plugins/Plugin.h: Ditto.
11019 * plugins/PluginArray.h: Ditto.
11020 * plugins/PluginView.cpp:
11021 (WebCore::getString): Ditto.
11022 (WebCore::PluginView::performRequest): Ditto.
11023 * plugins/gtk/PluginViewGtk.cpp: Ditto.
11024 * plugins/qt/PluginViewQt.cpp: Ditto.
11025 * plugins/win/PluginViewWin.cpp: Ditto.
11026
11027 * bridge/qt/qt_class.cpp:
11028 (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
11029 instead of JSValue*.
11030 * bridge/qt/qt_class.h: Ditto.
11031 * bridge/qt/qt_instance.cpp:
11032 (JSC::Bindings::QtInstance::mark): Ditto.
11033 (JSC::Bindings::QtInstance::invokeMethod): Ditto.
11034 (JSC::Bindings::QtInstance::defaultValue): Ditto.
11035 (JSC::Bindings::QtInstance::stringValue): Ditto.
11036 (JSC::Bindings::QtInstance::numberValue): Ditto.
11037 (JSC::Bindings::QtInstance::booleanValue): Ditto.
11038 (JSC::Bindings::QtInstance::valueOf): Ditto.
11039 (JSC::Bindings::QtField::valueFromInstance): Ditto.
11040 (JSC::Bindings::QtField::setValueToInstance): Ditto.
11041 * bridge/qt/qt_instance.h: Ditto.
11042 * bridge/qt/qt_runtime.cpp: Ditto.
11043 (JSC::Bindings::valueRealType): Ditto.
11044 (JSC::Bindings::convertValueToQVariant): Ditto.
11045 (JSC::Bindings::convertQVariantToValue): Ditto.
11046 (JSC::Bindings::findMethodIndex): Ditto.
11047 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
11048 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
11049 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
11050 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
11051 (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
11052 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
11053 (JSC::Bindings::QtArray::setValueAt): Ditto.
11054 (JSC::Bindings::QtArray::valueAt): Ditto.
11055 * bridge/qt/qt_runtime.h: Ditto.
11056
11057 * bridge/testqtbindings.cpp:
11058 (main): Use JSValuePtr.
11059
darin@apple.com5c465b02008-10-19 16:58:58 +0000110602008-10-18 Darin Adler <darin@apple.com>
11061
11062 Reviewed by Oliver Hunt.
11063
11064 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
11065 improve performance by eliminating JSValue as a base class for JSCell
11066
11067 Tweak a little more to get closer to where we can make JSValuePtr a class.
11068
11069 * bindings/js/JSAudioConstructor.cpp:
11070 (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
11071 (WebCore::constructAudio): Ditto.
11072 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
11073 (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
11074
11075 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
11076 (WebCore::toHTMLCanvasStyle): Use asString and asObject.
11077 (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
11078 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
11079 (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
11080 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
11081 (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
11082 (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
11083
11084 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
11085 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
11086
11087 * bindings/js/JSDOMBinding.cpp:
11088 (WebCore::setDOMException): Use noValue.
11089
11090 * bindings/js/JSDOMBinding.h:
11091 (WebCore::getDOMPrototype): Use asObject.
11092
11093 * bindings/js/JSDOMWindowBase.cpp:
11094 (WebCore::showModalDialog): Use noValue.
11095 (jsDOMWindowBaseEvent): Use asObject.
11096 (jsDOMWindowBaseImage): Ditto.
11097 (jsDOMWindowBaseMessageChannel): Ditto.
11098 (jsDOMWindowBaseOption): Ditto.
11099 (jsDOMWindowBaseXMLHttpRequest): Ditto.
11100 (jsDOMWindowBaseAudio): Ditto.
11101 (jsDOMWindowBaseXSLTProcessor): Ditto.
11102 (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
11103 (WebCore::JSDOMWindowBase::indexGetter): Ditto.
11104 (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
11105 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
11106 (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
11107 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
11108 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
11109 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
11110 (windowProtoFuncOpen): Use noValue.
11111 (WebCore::toJSDOMWindow): Use asObject.
11112
11113 * bindings/js/JSDOMWindowCustom.cpp:
11114 (WebCore::setTimeoutOrInterval): Use asString.
11115 (WebCore::toDOMWindow): Use asObject.
11116
11117 * bindings/js/JSEventListener.cpp:
11118 (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
11119 (WebCore::JSLazyEventListener::parseCode): Use asObject.
11120
11121 * bindings/js/JSHTMLCollectionCustom.cpp:
11122 (WebCore::JSHTMLCollection::nameGetter): Use asObject.
11123 * bindings/js/JSHTMLDocumentCustom.cpp:
11124 (WebCore::JSHTMLDocument::nameGetter): Ditto.
11125 * bindings/js/JSHTMLElementCustom.cpp:
11126 (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
11127 * bindings/js/JSHTMLFormElementCustom.cpp:
11128 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
11129 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
11130 (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
11131 * bindings/js/JSHTMLOptionElementConstructor.cpp:
11132 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
11133 (WebCore::constructHTMLOptionElement): Ditto.
11134 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
11135 (WebCore::JSHTMLOptionsCollection::remove): Ditto.
11136 * bindings/js/JSImageConstructor.cpp:
11137 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
11138 (WebCore::constructImage): Ditto.
11139 * bindings/js/JSInspectedObjectWrapper.cpp:
11140 (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
11141 * bindings/js/JSInspectorCallbackWrapper.cpp:
11142 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
11143
11144 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
11145 (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
11146
11147 * bindings/js/JSMessageChannelConstructor.cpp:
11148 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
11149 (WebCore::JSMessageChannelConstructor::construct): Ditto.
11150 * bindings/js/JSMimeTypeArrayCustom.cpp:
11151 (WebCore::JSMimeTypeArray::nameGetter): Ditto.
11152 * bindings/js/JSNamedNodeMapCustom.cpp:
11153 (WebCore::JSNamedNodeMap::nameGetter): Ditto.
11154 * bindings/js/JSNamedNodesCollection.cpp:
11155 (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
11156 (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
11157 * bindings/js/JSNodeFilterCustom.cpp:
11158 (WebCore::toNodeFilter): Ditto.
11159 * bindings/js/JSNodeListCustom.cpp:
11160 (WebCore::JSNodeList::nameGetter): Ditto.
11161 * bindings/js/JSPluginArrayCustom.cpp:
11162 (WebCore::JSPluginArray::nameGetter): Ditto.
11163 * bindings/js/JSPluginCustom.cpp:
11164 (WebCore::JSPlugin::nameGetter): Ditto.
11165 * bindings/js/JSPluginElementFunctions.cpp:
11166 (WebCore::runtimeObjectGetter): Ditto.
11167 (WebCore::runtimeObjectPropertyGetter): Ditto.
11168 * bindings/js/JSQuarantinedObjectWrapper.cpp:
11169 (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
11170 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
11171 (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
11172 * bindings/js/JSRGBColor.cpp:
11173 (jsRGBColorRed): Ditto.
11174 (jsRGBColorGreen): Ditto.
11175 (jsRGBColorBlue): Ditto.
11176
11177 * bindings/js/JSSQLResultSetRowListCustom.cpp:
11178 (WebCore::JSSQLResultSetRowList::item): Use noValue.
11179
11180 * bindings/js/JSStorageCustom.cpp:
11181 (WebCore::JSStorage::nameGetter): Use asObject.
11182 (WebCore::JSStorage::deleteProperty): Ditto.
11183 (WebCore::JSStorage::customPut): Ditto.
11184 * bindings/js/JSStyleSheetListCustom.cpp:
11185 (WebCore::JSStyleSheetList::nameGetter): Ditto.
11186 * bindings/js/JSXMLHttpRequestConstructor.cpp:
11187 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
11188 * bindings/js/JSXSLTProcessorCustom.cpp:
11189 (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
11190 (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
11191 (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
11192
11193 * bindings/js/ScriptController.cpp:
11194 (WebCore::ScriptController::evaluate): Use noValue.
11195 * bindings/objc/DOMInternal.mm:
11196 (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
11197
11198 * bindings/objc/WebScriptObject.mm:
11199 (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
11200 (-[WebScriptObject valueForKey:]): Ditto.
11201 (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
11202 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
11203 Use asObject and asString.
11204
11205 * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
11206
11207 * bridge/c/c_instance.h: Use JSValuePtr.
11208 * bridge/c/c_runtime.cpp:
11209 (JSC::Bindings::CField::setValueToInstance): Ditto.
11210
11211 * bridge/c/c_utility.cpp:
11212 (JSC::Bindings::convertValueToNPVariant): Use asObject.
11213
11214 * bridge/jni/jni_instance.cpp:
11215 (JavaInstance::booleanValue): Use JSValuePtr.
11216 (JavaInstance::invokeMethod): Ditto. And noValue.
11217 * bridge/jni/jni_jsobject.mm:
11218 (JavaJSObject::getSlot): Ditto.
11219 (JavaJSObject::convertValueToJObject): Ditto.
11220 * bridge/jni/jni_runtime.cpp:
11221 (JavaField::dispatchValueFromInstance): Ditto.
11222 (JavaField::valueFromInstance): Ditto.
11223 (JavaField::dispatchSetValueToInstance): Ditto.
11224 (JavaField::setValueToInstance): Ditto.
11225 (JavaArray::setValueAt): Ditto.
11226 (JavaArray::valueAt): Ditto.
11227 * bridge/jni/jni_runtime.h: Ditto.
11228
11229 * bridge/jni/jni_utility.cpp:
11230 (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
11231 instead of a JSValue*.
11232 (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
11233
11234 * bridge/objc/objc_class.h: Use JSValuePtr.
11235 * bridge/objc/objc_instance.h: Ditto.
11236 * bridge/objc/objc_runtime.h: Ditto.
11237
11238 * bridge/objc/objc_runtime.mm:
11239 (JSC::Bindings::callObjCFallbackObject): Use asObject.
11240
11241 * bridge/objc/objc_utility.h: Use JSValuePtr.
11242 * bridge/objc/objc_utility.mm:
11243 (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
11244 (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
11245
11246 * bridge/runtime.cpp:
11247 (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
11248 (JSC::Bindings::Instance::setValueOfField): Ditto.
11249
11250 * bridge/runtime_array.cpp:
11251 (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
11252 (JSC::RuntimeArray::indexGetter): Ditto.
11253 * bridge/runtime_array.h: Ditto.
11254 * bridge/runtime_method.cpp:
11255 (JSC::RuntimeMethod::lengthGetter): Ditto.
11256 (JSC::callRuntimeMethod): Ditto.
11257 * bridge/runtime_object.cpp:
11258 (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
11259 (JSC::RuntimeObjectImp::fieldGetter): Ditto.
11260 (JSC::RuntimeObjectImp::methodGetter): Ditto.
11261
11262 * loader/FrameLoader.cpp:
11263 (WebCore::FrameLoader::executeScript): Use noValue.
11264
11265 * page/Console.cpp:
11266 (WebCore::Console::trace): Use asInternalFunction.
11267
mitz@apple.com50ba3892008-10-19 16:41:50 +0000112682008-10-19 Dan Bernstein <mitz@apple.com>
11269
11270 Reviewed by Timothy Hatcher.
11271
11272 - lower the default button repaint frequency
11273
11274 * rendering/RenderButton.cpp:
11275 (WebCore::RenderButton::styleDidChange): Changed the timer interval from
11276 0.01 to 0.03.
11277
mitz@apple.com3076b4b2008-10-19 02:53:39 +0000112782008-10-18 Dan Bernstein <mitz@apple.com>
11279
mitz@apple.comfc465242008-10-19 06:26:15 +000011280 Reviewed by Mark Rowe.
11281
11282 - Windows build fix
11283
11284 * rendering/RenderThemeSafari.cpp:
11285 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
11286 (WebCore::RenderThemeSafari::paintMediaMuteButton):
11287 (WebCore::RenderThemeSafari::paintMediaPlayButton):
11288 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
11289 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
11290 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
11291
112922008-10-18 Dan Bernstein <mitz@apple.com>
11293
mitz@apple.com3076b4b2008-10-19 02:53:39 +000011294 Reviewed by Sam Weinig.
11295
11296 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
11297 Long-dead decoded image data make up for most of the object cache's memory use over time
11298
11299 Add a cache setting for how long decoded image data should be allowed to
11300 persist in memory after the image has died. By default, this is set to
11301 0, which means "forever".
11302
11303 * loader/Cache.cpp:
11304 (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
11305 * loader/Cache.h:
11306 (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
11307 (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
11308 * loader/CachedImage.cpp:
11309 (WebCore::CachedImage::CachedImage): Initialize the decoded data
11310 deletion timer.
11311 (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
11312 the decoded image data.
11313 (WebCore::CachedImage::addClient): Stop the timer if it is active.
11314 (WebCore::CachedImage::allClientsRemoved): Start the decoded data
11315 deletion timer.
11316 * loader/CachedImage.h:
11317
darin@apple.com9c9096f2008-10-18 21:54:01 +0000113182008-10-18 Darin Adler <darin@apple.com>
11319
darin@apple.com05b30262008-10-19 02:12:26 +000011320 Reviewed by Dan Bernstein.
11321
11322 - fix https://bugs.webkit.org/show_bug.cgi?id=21645
11323 REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
11324
11325 * html/HTMLFormElement.cpp:
11326 (WebCore::HTMLFormElement::formData):
11327 Fix loop that goes through the FormDataList to go two at a time in a clearer
11328 way. My last patch screwed up the way it got form content from the items.
darin@apple.comf20ce3332008-10-19 02:14:16 +000011329 This "two at a time" approach is a confusing way to do things, which explains
11330 why I got it wrong last time through, but I decided to just fix it locally for
11331 now rather than changing the design of FormDataList.
darin@apple.com05b30262008-10-19 02:12:26 +000011332
113332008-10-18 Darin Adler <darin@apple.com>
11334
darin@apple.com67c6c012008-10-19 01:52:42 +000011335 Reviewed by Cameron Zwarich.
11336
11337 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
11338 improve performance by eliminating JSValue as a base class for JSCell
11339
11340 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
11341 changing JSValuePtr to be a class, and then eventually renaming it
11342 to JSValue once that's done.
11343
11344 * bindings/js/JSAttrCustom.cpp:
11345 * bindings/js/JSCSSRuleCustom.cpp:
11346 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
11347 * bindings/js/JSCSSValueCustom.cpp:
11348 * bindings/js/JSCanvasPixelArrayCustom.h:
11349 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
11350 * bindings/js/JSClipboardCustom.cpp:
11351 * bindings/js/JSConsoleCustom.cpp:
11352 * bindings/js/JSCustomSQLStatementCallback.cpp:
11353 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
11354 * bindings/js/JSCustomSQLTransactionCallback.cpp:
11355 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
11356 * bindings/js/JSCustomVoidCallback.cpp:
11357 * bindings/js/JSCustomVoidCallback.h:
11358 * bindings/js/JSCustomXPathNSResolver.cpp:
11359 * bindings/js/JSDOMApplicationCacheCustom.cpp:
11360 * bindings/js/JSDOMBinding.cpp:
11361 * bindings/js/JSDOMBinding.h:
11362 * bindings/js/JSDOMWindowBase.cpp:
11363 * bindings/js/JSDOMWindowBase.h:
11364 * bindings/js/JSDOMWindowCustom.cpp:
11365 * bindings/js/JSDOMWindowCustom.h:
11366 * bindings/js/JSDOMWindowShell.cpp:
11367 * bindings/js/JSDOMWindowShell.h:
11368 * bindings/js/JSDatabaseCustom.cpp:
11369 * bindings/js/JSDocumentCustom.cpp:
11370 * bindings/js/JSElementCustom.cpp:
11371 * bindings/js/JSEventCustom.cpp:
11372 * bindings/js/JSEventListener.cpp:
11373 * bindings/js/JSEventTarget.cpp:
11374 * bindings/js/JSEventTargetBase.h:
11375 * bindings/js/JSEventTargetNodeCustom.cpp:
11376 * bindings/js/JSHTMLAllCollection.h:
11377 * bindings/js/JSHTMLAppletElementCustom.cpp:
11378 * bindings/js/JSHTMLCollectionCustom.cpp:
11379 * bindings/js/JSHTMLDocumentCustom.cpp:
11380 * bindings/js/JSHTMLEmbedElementCustom.cpp:
11381 * bindings/js/JSHTMLFormElementCustom.cpp:
11382 * bindings/js/JSHTMLFrameElementCustom.cpp:
11383 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
11384 * bindings/js/JSHTMLIFrameElementCustom.cpp:
11385 * bindings/js/JSHTMLInputElementCustom.cpp:
11386 * bindings/js/JSHTMLObjectElementCustom.cpp:
11387 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
11388 * bindings/js/JSHTMLSelectElementCustom.cpp:
11389 * bindings/js/JSHTMLSelectElementCustom.h:
11390 * bindings/js/JSHistoryCustom.cpp:
11391 * bindings/js/JSImageDataCustom.cpp:
11392 * bindings/js/JSInspectedObjectWrapper.cpp:
11393 * bindings/js/JSInspectedObjectWrapper.h:
11394 * bindings/js/JSInspectorCallbackWrapper.cpp:
11395 * bindings/js/JSInspectorCallbackWrapper.h:
11396 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
11397 * bindings/js/JSLocationCustom.cpp:
11398 * bindings/js/JSMessagePortCustom.cpp:
11399 * bindings/js/JSMimeTypeArrayCustom.cpp:
11400 * bindings/js/JSNamedNodeMapCustom.cpp:
11401 * bindings/js/JSNamedNodesCollection.cpp:
11402 * bindings/js/JSNamedNodesCollection.h:
11403 * bindings/js/JSNavigatorCustom.cpp:
11404 * bindings/js/JSNodeCustom.cpp:
11405 * bindings/js/JSNodeFilterCondition.cpp:
11406 * bindings/js/JSNodeFilterCustom.cpp:
11407 * bindings/js/JSNodeIteratorCustom.cpp:
11408 * bindings/js/JSNodeListCustom.cpp:
11409 * bindings/js/JSPluginArrayCustom.cpp:
11410 * bindings/js/JSPluginCustom.cpp:
11411 * bindings/js/JSPluginElementFunctions.cpp:
11412 * bindings/js/JSPluginElementFunctions.h:
11413 * bindings/js/JSQuarantinedObjectWrapper.cpp:
11414 * bindings/js/JSQuarantinedObjectWrapper.h:
11415 * bindings/js/JSRGBColor.cpp:
11416 * bindings/js/JSRGBColor.h:
11417 * bindings/js/JSSQLResultSetRowListCustom.cpp:
11418 * bindings/js/JSSQLTransactionCustom.cpp:
11419 * bindings/js/JSSVGElementInstanceCustom.cpp:
11420 * bindings/js/JSSVGLengthCustom.cpp:
11421 * bindings/js/JSSVGMatrixCustom.cpp:
11422 * bindings/js/JSSVGPathSegCustom.cpp:
11423 * bindings/js/JSSVGPathSegListCustom.cpp:
11424 * bindings/js/JSSVGPointListCustom.cpp:
11425 * bindings/js/JSSVGTransformListCustom.cpp:
11426 * bindings/js/JSStorageCustom.cpp:
11427 * bindings/js/JSStyleSheetCustom.cpp:
11428 * bindings/js/JSStyleSheetListCustom.cpp:
11429 * bindings/js/JSTextCustom.cpp:
11430 * bindings/js/JSTreeWalkerCustom.cpp:
11431 * bindings/js/JSXMLHttpRequestCustom.cpp:
11432 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
11433 * bindings/js/JSXSLTProcessorCustom.cpp:
11434 * bindings/js/ScheduledAction.cpp:
11435 * bindings/js/ScheduledAction.h:
11436 * bindings/js/ScriptController.cpp:
11437 * bindings/js/ScriptController.h:
11438 * bindings/objc/WebScriptObject.mm:
11439 * bindings/scripts/CodeGeneratorJS.pm:
11440 * bridge/NP_jsobject.cpp:
11441 * bridge/c/c_instance.cpp:
11442 * bridge/c/c_instance.h:
11443 * bridge/c/c_runtime.cpp:
11444 * bridge/c/c_runtime.h:
11445 * bridge/c/c_utility.cpp:
11446 * bridge/jni/jni_instance.cpp:
11447 * bridge/jni/jni_instance.h:
11448 * bridge/jni/jni_jsobject.mm:
11449 * bridge/jni/jni_objc.mm:
11450 * bridge/jni/jni_runtime.cpp:
11451 * bridge/jni/jni_runtime.h:
11452 * bridge/jni/jni_utility.cpp:
11453 * bridge/objc/objc_class.mm:
11454 * bridge/objc/objc_instance.h:
11455 * bridge/objc/objc_instance.mm:
11456 * bridge/objc/objc_runtime.h:
11457 * bridge/objc/objc_runtime.mm:
11458 * bridge/objc/objc_utility.h:
11459 * bridge/objc/objc_utility.mm:
11460 * bridge/runtime.h:
11461 * bridge/runtime_array.cpp:
11462 * bridge/runtime_array.h:
11463 * bridge/runtime_method.cpp:
11464 * bridge/runtime_method.h:
11465 * bridge/runtime_object.cpp:
11466 * bridge/runtime_object.h:
11467 * inspector/JavaScriptCallFrame.cpp:
11468 * inspector/JavaScriptCallFrame.h:
11469 * inspector/JavaScriptProfile.cpp:
11470 * inspector/JavaScriptProfileNode.cpp:
11471 * loader/FrameLoader.cpp:
11472 * loader/FrameLoader.h:
11473 * page/Console.cpp:
11474 * page/Console.h:
11475 * plugins/MimeTypeArray.h:
11476 * plugins/Plugin.h:
11477 * plugins/PluginArray.h:
11478 * xml/XMLHttpRequest.cpp:
11479 Replace JSValue* with JSValuePtr.
11480
114812008-10-18 Darin Adler <darin@apple.com>
11482
darin@apple.com5a494422008-10-18 23:08:12 +000011483 Reviewed by Oliver Hunt.
11484
11485 - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
11486 improve performance by eliminating JSValue as a base class for JSCell
11487
11488 Update for change to make PreferredPrimitiveType no longer
11489 a member of JSValue.
11490
11491 * bridge/c/c_instance.cpp:
11492 (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
11493 * bridge/jni/jni_instance.cpp:
11494 (JavaInstance::defaultValue): Ditto.
11495 * bridge/objc/objc_instance.mm:
11496 (ObjcInstance::defaultValue): Ditto.
11497 * bridge/qt/qt_instance.cpp:
11498 (JSC::Bindings::QtInstance::defaultValue): Ditto.
11499 * bridge/runtime.h: Ditto. Also removed typedef.
11500
115012008-10-18 Darin Adler <darin@apple.com>
11502
darin@apple.com9c9096f2008-10-18 21:54:01 +000011503 - try to fix Windows build
11504
11505 * rendering/RenderThemeSafari.cpp:
11506 (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
11507 SafariTheme namespace, since there is now an identically named constant in
11508 the ControlPart enum.
11509 (WebCore::RenderThemeSafari::paintButton): Ditto.
11510 (WebCore::RenderThemeSafari::paintTextField): Ditto.
11511 (WebCore::RenderThemeSafari::paintTextArea): Ditto.
11512 (WebCore::RenderThemeSafari::paintSearchField): Ditto.
11513 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
11514 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
11515 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
11516
jmalonzo@webkit.orgbb77ef92008-10-18 21:23:59 +0000115172008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
11518
11519 Reviewed by Alp Toker.
11520
11521 [GTK] crash after selecting a file on an <input type=file>
11522 https://bugs.webkit.org/show_bug.cgi?id=21385
11523
11524 Follow Mac and Win's behaviors for Icon::paint
11525
11526 * platform/graphics/gtk/IconGtk.cpp:
11527 (WebCore::Icon::paint): check if painting is enabled before
11528 painting the icon
11529
oliver@apple.com154f91e2008-10-18 08:44:34 +0000115302008-10-18 Zan Dobersek <zandobersek@gmail.com>
11531
11532 Reviewed by Oliver Hunt.
11533
11534 Qt port build fix.
11535
11536 * platform/qt/RenderThemeQt.h:
11537
kevino@webkit.org75d2aee2008-10-18 00:03:58 +0000115382008-10-17 Kevin Watters <kevinwatters@gmail.com>
11539
11540 Reviewed by Kevin Ollivier
11541
11542 Fix wx port's scrollbar and drawing handling after recent changes.
11543
11544 https://bugs.webkit.org/show_bug.cgi?id=21720
11545
11546 * platform/ScrollView.h:
11547 * platform/wx/ScrollViewWx.cpp:
11548 (WebCore::ScrollView::platformVisibleContentRect):
11549 (WebCore::ScrollView::platformContentsSize):
11550 (WebCore::ScrollView::platformSetContentsSize):
11551 * platform/wx/WidgetWx.cpp:
11552 (WebCore::Widget::paint):
11553
kevino@webkit.orgc81374f2008-10-17 23:22:58 +0000115542008-10-17 Kevin Ollivier <kevino@theolliviers.com>
11555
11556 wx build fix. EAppearance -> ControlPart.
11557
11558 * platform/wx/RenderThemeWx.cpp:
11559 (WebCore::RenderThemeWx::isControlStyled):
11560 (WebCore::RenderThemeWx::adjustRepaintRect):
11561 (WebCore::RenderThemeWx::controlSupportsTints):
11562 (WebCore::RenderThemeWx::supportsFocus):
11563 (WebCore::RenderThemeWx::paintButton):
11564
hyatt@apple.com084394f2008-10-17 21:26:46 +0000115652008-10-17 David Hyatt <hyatt@apple.com>
11566
hyatt@apple.com5cdc5e042008-10-17 22:02:16 +000011567 Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
11568 values from the enum since they are handled by ScrollbarTheme instead.
11569
11570 Reviewed by Tim Hatcher
11571
11572 * css/CSSPrimitiveValueMappings.h:
11573 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
11574 (WebCore::CSSPrimitiveValue::operator ControlPart):
11575 * css/CSSStyleSelector.cpp:
11576 (WebCore::CSSStyleSelector::adjustRenderStyle):
11577 * css/CSSValueKeywords.in:
11578 * platform/gtk/RenderThemeGtk.cpp:
11579 (WebCore::supportsFocus):
11580 (WebCore::RenderThemeGtk::baselinePosition):
11581 (WebCore::setToggleSize):
11582 (WebCore::RenderThemeGtk::setCheckboxSize):
11583 (WebCore::RenderThemeGtk::setRadioSize):
11584 (WebCore::RenderThemeGtk::adjustButtonStyle):
11585 * platform/qt/RenderThemeQt.cpp:
11586 (WebCore::RenderThemeQt::baselinePosition):
11587 (WebCore::RenderThemeQt::controlSupportsTints):
11588 (WebCore::RenderThemeQt::adjustRepaintRect):
11589 (WebCore::RenderThemeQt::isControlStyled):
11590 (WebCore::computeSizeBasedOnStyle):
11591 (WebCore::RenderThemeQt::paintButton):
11592 (WebCore::RenderThemeQt::paintTextField):
11593 (WebCore::RenderThemeQt::paintMenuList):
11594 (WebCore::RenderThemeQt::supportsFocus):
11595 (WebCore::RenderThemeQt::applyTheme):
11596 (WebCore::RenderThemeQt::adjustSliderThumbSize):
11597 * platform/qt/RenderThemeQt.h:
11598 * rendering/RenderSlider.cpp:
11599 (WebCore::RenderSlider::createThumbStyle):
11600 (WebCore::RenderSlider::layout):
11601 (WebCore::RenderSlider::setValueForPosition):
11602 (WebCore::RenderSlider::setPositionFromValue):
11603 (WebCore::RenderSlider::positionForOffset):
11604 (WebCore::RenderSlider::currentPosition):
11605 (WebCore::RenderSlider::setCurrentPosition):
11606 (WebCore::RenderSlider::trackSize):
11607 * rendering/RenderTheme.cpp:
11608 (WebCore::RenderTheme::adjustStyle):
11609 (WebCore::RenderTheme::paint):
11610 (WebCore::RenderTheme::paintBorderOnly):
11611 (WebCore::RenderTheme::paintDecorations):
11612 (WebCore::RenderTheme::isControlContainer):
11613 (WebCore::RenderTheme::isControlStyled):
11614 (WebCore::RenderTheme::supportsFocusRing):
11615 (WebCore::RenderTheme::isDefault):
11616 * rendering/RenderTheme.h:
11617 * rendering/RenderThemeMac.mm:
11618 (WebCore::RenderThemeMac::isControlStyled):
11619 (WebCore::RenderThemeMac::adjustRepaintRect):
11620 (WebCore::RenderThemeMac::baselinePosition):
11621 (WebCore::RenderThemeMac::controlSupportsTints):
11622 (WebCore::RenderThemeMac::adjustButtonStyle):
11623 (WebCore::RenderThemeMac::setButtonCellState):
11624 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
11625 (WebCore::RenderThemeMac::popupInternalPaddingRight):
11626 (WebCore::RenderThemeMac::popupInternalPaddingTop):
11627 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
11628 (WebCore::RenderThemeMac::paintSliderTrack):
11629 (WebCore::RenderThemeMac::paintSliderThumb):
11630 (WebCore::RenderThemeMac::adjustSliderThumbSize):
11631 * rendering/RenderThemeSafari.cpp:
11632 (WebCore::RenderThemeSafari::isControlStyled):
11633 (WebCore::RenderThemeSafari::adjustRepaintRect):
11634 (WebCore::RenderThemeSafari::baselinePosition):
11635 (WebCore::RenderThemeSafari::controlSupportsTints):
11636 (WebCore::RenderThemeSafari::adjustButtonStyle):
11637 (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
11638 (WebCore::RenderThemeSafari::popupInternalPaddingRight):
11639 (WebCore::RenderThemeSafari::popupInternalPaddingTop):
11640 (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
11641 (WebCore::RenderThemeSafari::paintSliderTrack):
11642 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
11643 * rendering/RenderThemeWin.cpp:
11644 (WebCore::RenderThemeWin::supportsFocus):
11645 (WebCore::RenderThemeWin::determineClassicState):
11646 (WebCore::RenderThemeWin::getClassicThemeData):
11647 (WebCore::RenderThemeWin::getThemeData):
11648 (WebCore::drawControl):
11649 (WebCore::RenderThemeWin::paintSliderTrack):
11650 (WebCore::RenderThemeWin::adjustSliderThumbSize):
11651 * rendering/RenderThemeWin.h:
11652 * rendering/style/RenderStyle.h:
11653 (WebCore::InheritedFlags::hasAppearance):
11654 (WebCore::InheritedFlags::appearance):
11655 (WebCore::InheritedFlags::setAppearance):
11656 (WebCore::InheritedFlags::initialAppearance):
11657 * rendering/style/RenderStyleConstants.h:
11658
116592008-10-17 David Hyatt <hyatt@apple.com>
11660
hyatt@apple.com084394f2008-10-17 21:26:46 +000011661 Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
11662 file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.
11663
11664 Reviewed by Tim Hatcher
11665
11666 * WebCore.vcproj/WebCore.vcproj:
11667 * WebCore.xcodeproj/project.pbxproj:
11668 * config.h:
11669 * platform/Theme.h: Added.
11670 (WebCore::Theme::Theme):
11671 (WebCore::Theme::~Theme):
11672 (WebCore::Theme::baselinePositionAdjustment):
11673 (WebCore::Theme::controlHasInactiveAppearance):
11674 (WebCore::Theme::controlsCanHaveInactiveAppearance):
11675 (WebCore::Theme::controlsCanHaveHoveredAppearance):
11676 (WebCore::Theme::controlDrawsBorder):
11677 (WebCore::Theme::controlDrawsBackground):
11678 (WebCore::Theme::controlDrawsFocusOutline):
11679 (WebCore::Theme::selectionColor):
11680 (WebCore::Theme::textSearchHighlightColor):
11681 (WebCore::Theme::systemColor):
11682 (WebCore::Theme::systemFont):
11683 (WebCore::Theme::caretBlinkFrequency):
11684 (WebCore::Theme::themeChanged):
11685 (WebCore::Theme::controlSize):
11686 (WebCore::Theme::controlFont):
11687 (WebCore::Theme::controlPadding):
11688 (WebCore::Theme::controlInternalPadding):
11689 (WebCore::Theme::controlBorder):
11690 (WebCore::Theme::controlBorderRadius):
11691 (WebCore::Theme::paint):
11692 (WebCore::Theme::inflateControlPaintRect):
11693 * platform/ThemeTypes.h: Added.
11694 (WebCore::):
11695 (WebCore::ControlBox::ControlBox):
11696 (WebCore::ControlBox::top):
11697 (WebCore::ControlBox::right):
11698 (WebCore::ControlBox::bottom):
11699 (WebCore::ControlBox::left):
11700 * platform/mac/ThemeMac.h: Added.
11701 (WebCore::ThemeMac::ThemeMac):
11702 (WebCore::ThemeMac::~ThemeMac):
11703 * platform/mac/ThemeMac.mm: Added.
11704 (WebCore::platformTheme):
11705 * rendering/RenderTheme.cpp:
11706 (WebCore::RenderTheme::RenderTheme):
11707 * rendering/RenderTheme.h:
11708
jmalonzo@webkit.org38edc132008-10-17 21:16:01 +0000117092008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>
11710
11711 Reviewed by Sam Weinig. Landed by Jan Alonzo.
11712
11713 https://bugs.webkit.org/show_bug.cgi?id=21603
11714 [GTK] Minor fixes to GOwnPtr
11715
11716 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
11717 (WebCore::mediaPlayerPrivateErrorCallback):
11718
timothy@apple.com4bfc7332008-10-17 16:51:03 +0000117192008-10-17 Timothy Hatcher <timothy@apple.com>
11720
timothy@apple.com22edf572008-10-17 21:04:42 +000011721 Recompile the JavaScript functions when removing any listener, so functions that are
11722 not being debugged can resume normal speed again.
11723
11724 https://bugs.webkit.org/show_bug.cgi?id=21715
11725
11726 Reviewed by Geoffrey Garen.
11727
11728 * bindings/js/JSDOMWindowBase.cpp:
11729 (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
11730 was firing when closing the window and having the recompile fire after. This was an
11731 overzelious assert now.
11732 * inspector/JavaScriptDebugServer.cpp:
11733 (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
11734 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
11735
117362008-10-17 Timothy Hatcher <timothy@apple.com>
11737
timothy@apple.com4bfc7332008-10-17 16:51:03 +000011738 Fixes a regression where starting a debugging session in
11739 another Web Inspector window would not show any scripts.
11740 Also only attach the debugger to only the required Pages.
11741
11742 https://bugs.webkit.org/show_bug.cgi?id=21708
11743
11744 Reviewed by Darin Adler.
11745
11746 * inspector/JavaScriptDebugServer.cpp:
11747 (WebCore::JavaScriptDebugServer::addListener): Add an assert and
11748 remove the call to willAddFirstListener(). Add a call to
11749 didAddListener().
11750 (WebCore::JavaScriptDebugServer::removeListener): Add an assert
11751 and call to didRemoveListener().
11752 (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
11753 if there is a listener interested in the new Page.
11754 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
11755 Use hasGlobalListeners() instead of isEmpty().
11756 (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
11757 (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
11758 debugger to the page if non-null, or all pages if page is null.
11759 (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
11760 the debugger only if there are no interested listeners.
11761 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
11762 call to Page::setDebuggerForAllPages().
11763 * inspector/JavaScriptDebugServer.h:
11764 (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
11765
brettw@chromium.orgaf9954f2008-10-17 15:56:24 +0000117662008-10-15 Brett Wilson <brettw@chromium.org>
11767
11768 Reviewed by Timothy Hatcher.
11769
11770 Have ImageDocument generate its own filename for the title of images
11771 without relying on the suggested filename from the network layer, which
11772 may be nonexistant or not relevant.
11773 https://bugs.webkit.org/show_bug.cgi?id=21565
11774
11775 * loader/ImageDocument.cpp:
11776 (WebCore::ImageTokenizer::finish):
11777
ap@webkit.org2114abd2008-10-17 08:10:55 +0000117782008-10-17 Alexey Proskuryakov <ap@webkit.org>
11779
ap@webkit.org6959ea02008-10-17 13:35:28 +000011780 Non-Mac build fix.
11781
11782 * GNUmakefile.am:
11783 * WebCore.pro:
11784 * WebCore.vcproj/WebCore.vcproj:
11785 * WebCoreSources.bkl:
11786 Added ActiveDOMObject to the build.
11787
117882008-10-17 Alexey Proskuryakov <ap@webkit.org>
11789
ap@webkit.org2114abd2008-10-17 08:10:55 +000011790 Reviewed by Sam Weinig.
11791
11792 https://bugs.webkit.org/show_bug.cgi?id=21642
11793 Abstract out active object tracking
11794
11795 * WebCore.xcodeproj/project.pbxproj:
11796 * bindings/js/JSDOMBinding.cpp:
11797 (WebCore::markActiveObjectsForDocument):
11798 * dom/ActiveDOMObject.cpp: Added.
11799 (WebCore::ActiveDOMObject::ActiveDOMObject):
11800 (WebCore::ActiveDOMObject::~ActiveDOMObject):
11801 (WebCore::ActiveDOMObject::contextDestroyed):
11802 (WebCore::ActiveDOMObject::stop):
11803 * dom/ActiveDOMObject.h: Added.
11804 (WebCore::ActiveDOMObject::document):
11805 (WebCore::ActiveDOMObject::hasPendingActivity):
11806 (WebCore::ActiveDOMObject::setPendingActivity):
11807 (WebCore::ActiveDOMObject::unsetPendingActivity):
11808 * dom/Document.cpp:
11809 (WebCore::Document::~Document):
11810 (WebCore::Document::stopActiveDOMObjects):
11811 (WebCore::Document::createdActiveDOMObject):
11812 (WebCore::Document::destroyedActiveDOMObject):
11813 * dom/Document.h:
11814 (WebCore::Document::activeDOMObjects):
11815 * dom/MessagePort.cpp:
11816 (WebCore::MessagePort::contextDestroyed):
11817 * dom/MessagePort.h:
11818 * loader/FrameLoader.cpp:
11819 (WebCore::FrameLoader::stopLoading):
11820 * xml/XMLHttpRequest.cpp:
11821 (WebCore::XMLHttpRequest::XMLHttpRequest):
11822 (WebCore::XMLHttpRequest::~XMLHttpRequest):
11823 (WebCore::XMLHttpRequest::associatedFrame):
11824 (WebCore::XMLHttpRequest::responseXML):
11825 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
11826 (WebCore::XMLHttpRequest::initSend):
11827 (WebCore::XMLHttpRequest::send):
11828 (WebCore::XMLHttpRequest::createRequest):
11829 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
11830 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
11831 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
11832 (WebCore::XMLHttpRequest::loadRequestSynchronously):
11833 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
11834 (WebCore::XMLHttpRequest::dropProtection):
11835 (WebCore::XMLHttpRequest::setRequestHeader):
11836 (WebCore::XMLHttpRequest::processSyncLoadResults):
11837 (WebCore::XMLHttpRequest::didFinishLoading):
11838 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
11839 (WebCore::XMLHttpRequest::willSendRequest):
11840 (WebCore::XMLHttpRequest::accessControlCheck):
11841 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
11842 (WebCore::XMLHttpRequest::stop):
11843 (WebCore::XMLHttpRequest::contextDestroyed):
11844 * xml/XMLHttpRequest.h:
11845 Move activity tracking to a new ActiveDOMObject class.
11846
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +0000118472008-10-16 David Hyatt <hyatt@apple.com>
11848
hyatt@apple.comd4925582008-10-17 01:20:46 +000011849 Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
11850 they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
11851 did though. This patch removes the renderer argument and the Element subclass shadow implementation
11852 so that confusion like this can't occur again.
11853
11854 Reviewed by Oliver Hunt
11855
11856 * dom/Element.cpp:
11857 * dom/Element.h:
11858 * dom/Node.cpp:
11859 (WebCore::Node::createRendererIfNeeded):
11860 (WebCore::Node::styleForRenderer):
11861 * dom/Node.h:
11862 * html/HTMLOptGroupElement.cpp:
11863 (WebCore::HTMLOptGroupElement::attach):
11864 * html/HTMLOptionElement.cpp:
11865 (WebCore::HTMLOptionElement::attach):
11866 * svg/SVGClipPathElement.cpp:
11867 (WebCore::SVGClipPathElement::canvasResource):
11868 * svg/SVGFEDiffuseLightingElement.cpp:
11869 (WebCore::SVGFEDiffuseLightingElement::build):
11870 * svg/SVGFEFloodElement.cpp:
11871 (WebCore::SVGFEFloodElement::build):
11872 * svg/SVGFESpecularLightingElement.cpp:
11873 (WebCore::SVGFESpecularLightingElement::build):
11874 * svg/SVGGradientElement.cpp:
11875 (WebCore::SVGGradientElement::buildStops):
11876 * svg/SVGUseElement.cpp:
11877 (WebCore::SVGUseElement::attachShadowTree):
11878
118792008-10-16 David Hyatt <hyatt@apple.com>
11880
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +000011881 https://bugs.webkit.org/attachment.cgi?bugid=21647
11882
11883 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
11884 out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
11885 all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
11886 to use the arena.
11887
11888 At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
11889 as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
11890 arena also limited the usefulness.
11891
11892 Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
11893 mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
11894 manual ref/deref far outweigh keeping them in the arena.
11895
11896 Reviewed by Adam Roben
11897
11898 * css/CSSStyleSelector.cpp:
11899 (WebCore::CSSStyleSelector::CSSStyleSelector):
11900 (WebCore::CSSStyleSelector::~CSSStyleSelector):
11901 (WebCore::CSSStyleSelector::styleForElement):
11902 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
11903 (WebCore::CSSStyleSelector::pseudoStyleForElement):
11904 These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back
11905 so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
11906
11907 (WebCore::CSSStyleSelector::updateFont):
11908 (WebCore::CSSStyleSelector::checkSelector):
11909 (WebCore::CSSStyleSelector::applyProperty):
11910 (WebCore::CSSStyleSelector::mapFillSize):
11911 (WebCore::CSSStyleSelector::mapFillXPosition):
11912 (WebCore::CSSStyleSelector::mapFillYPosition):
11913 * css/CSSStyleSelector.h:
11914 (WebCore::CSSStyleSelector::style):
11915 * dom/Document.cpp:
11916 (WebCore::Document::recalcStyle):
11917 * dom/Element.cpp:
11918 (WebCore::Element::styleForRenderer):
11919 (WebCore::Element::recalcStyle):
11920 (WebCore::Element::computedStyle):
11921 * dom/Element.h:
11922 * dom/ElementRareData.h:
11923 (WebCore::ElementRareData::ElementRareData):
11924 (WebCore::ElementRareData::resetComputedStyle):
11925 * dom/Node.cpp:
11926 (WebCore::Node::diff):
11927 (WebCore::Node::createRendererIfNeeded):
11928 (WebCore::Node::styleForRenderer):
11929 (WebCore::Node::setRenderStyle):
11930 * dom/Node.h:
11931 * html/CanvasRenderingContext2D.cpp:
11932 (WebCore::CanvasRenderingContext2D::setFont):
11933 * html/HTMLOptGroupElement.cpp:
11934 (WebCore::HTMLOptGroupElement::attach):
11935 (WebCore::HTMLOptGroupElement::detach):
11936 (WebCore::HTMLOptGroupElement::setRenderStyle):
11937 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
11938 * html/HTMLOptGroupElement.h:
11939 * html/HTMLOptionElement.cpp:
11940 (WebCore::HTMLOptionElement::attach):
11941 (WebCore::HTMLOptionElement::detach):
11942 (WebCore::HTMLOptionElement::setRenderStyle):
11943 (WebCore::HTMLOptionElement::nonRendererRenderStyle):
11944 * html/HTMLOptionElement.h:
11945 * page/animation/AnimationBase.h:
11946 (WebCore::AnimationBase::animate):
11947 * page/animation/AnimationController.cpp:
11948 (WebCore::AnimationController::updateAnimations):
11949 * page/animation/AnimationController.h:
11950 * page/animation/CompositeAnimation.cpp:
11951 (WebCore::CompositeAnimationPrivate::updateTransitions):
11952 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
11953 (WebCore::CompositeAnimationPrivate::animate):
11954 (WebCore::CompositeAnimation::animate):
11955 * page/animation/CompositeAnimation.h:
11956 * page/animation/ImplicitAnimation.cpp:
11957 (WebCore::ImplicitAnimation::ImplicitAnimation):
11958 (WebCore::ImplicitAnimation::~ImplicitAnimation):
11959 (WebCore::ImplicitAnimation::animate):
11960 (WebCore::ImplicitAnimation::reset):
11961 (WebCore::ImplicitAnimation::isTargetPropertyEqual):
11962 (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
11963 * page/animation/ImplicitAnimation.h:
11964 (WebCore::ImplicitAnimation::create):
11965 * page/animation/KeyframeAnimation.cpp:
11966 (WebCore::KeyframeAnimation::KeyframeAnimation):
11967 (WebCore::KeyframeAnimation::~KeyframeAnimation):
11968 (WebCore::KeyframeAnimation::animate):
11969 (WebCore::KeyframeAnimation::validateTransformFunctionList):
11970 * page/animation/KeyframeAnimation.h:
11971 (WebCore::KeyframeAnimation::create):
11972 (WebCore::KeyframeAnimation::unanimatedStyle):
11973 * rendering/InlineTextBox.cpp:
11974 (WebCore::InlineTextBox::paint):
11975 * rendering/MediaControlElements.cpp:
11976 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
11977 (WebCore::MediaControlInputElement::MediaControlInputElement):
11978 * rendering/RenderBlock.cpp:
11979 (WebCore::RenderBlock::styleDidChange):
11980 (WebCore::RenderBlock::updateFirstLetter):
11981 * rendering/RenderContainer.cpp:
11982 (WebCore::RenderContainer::addChild):
11983 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
11984 * rendering/RenderFileUploadControl.cpp:
11985 (WebCore::RenderFileUploadControl::updateFromElement):
11986 (WebCore::RenderFileUploadControl::createButtonStyle):
11987 * rendering/RenderFileUploadControl.h:
11988 * rendering/RenderFlow.cpp:
11989 (WebCore::RenderFlow::createAnonymousFlow):
11990 * rendering/RenderFlow.h:
11991 * rendering/RenderInline.cpp:
11992 (WebCore::RenderInline::addChildToFlow):
11993 * rendering/RenderLayer.cpp:
11994 (WebCore::RenderLayer::updateScrollCornerStyle):
11995 (WebCore::RenderLayer::updateResizerStyle):
11996 (WebCore::RenderLayer::updateReflectionStyle):
11997 * rendering/RenderListItem.cpp:
11998 (WebCore::RenderListItem::styleDidChange):
11999 * rendering/RenderMedia.cpp:
12000 (WebCore::RenderMedia::createPanel):
12001 (WebCore::RenderMedia::createTimeDisplay):
12002 (WebCore::RenderMedia::changeOpacity):
12003 * rendering/RenderObject.cpp:
12004 (WebCore::RenderObject::selectionBackgroundColor):
12005 (WebCore::RenderObject::selectionForegroundColor):
12006 (WebCore::RenderObject::createAnonymousBlock):
12007 (WebCore::RenderObject::setAnimatableStyle):
12008 (WebCore::RenderObject::setStyle):
12009 (WebCore::RenderObject::setStyleInternal):
12010 (WebCore::RenderObject::arenaDelete):
12011 (WebCore::RenderObject::firstLineStyle):
12012 (WebCore::RenderObject::getPseudoStyle):
12013 * rendering/RenderObject.h:
12014 (WebCore::RenderObject::style):
12015 * rendering/RenderSVGBlock.cpp:
12016 (WebCore::RenderSVGBlock::setStyle):
12017 * rendering/RenderSVGBlock.h:
12018 * rendering/RenderScrollbar.cpp:
12019 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
12020 (WebCore::RenderScrollbar::updateScrollbarPart):
12021 * rendering/RenderScrollbar.h:
12022 * rendering/RenderSlider.cpp:
12023 (WebCore::RenderSlider::styleDidChange):
12024 (WebCore::RenderSlider::createThumbStyle):
12025 (WebCore::RenderSlider::updateFromElement):
12026 * rendering/RenderSlider.h:
12027 * rendering/RenderTable.cpp:
12028 (WebCore::RenderTable::addChild):
12029 * rendering/RenderTableRow.cpp:
12030 (WebCore::RenderTableRow::addChild):
12031 * rendering/RenderTableSection.cpp:
12032 (WebCore::RenderTableSection::addChild):
12033 * rendering/RenderTextControl.cpp:
12034 (WebCore::RenderTextControl::styleDidChange):
12035 (WebCore::RenderTextControl::createInnerBlockStyle):
12036 (WebCore::RenderTextControl::createInnerTextStyle):
12037 (WebCore::RenderTextControl::createResultsButtonStyle):
12038 (WebCore::RenderTextControl::createCancelButtonStyle):
12039 (WebCore::RenderTextControl::createSubtreeIfNeeded):
12040 (WebCore::RenderTextControl::updatePlaceholderVisibility):
12041 * rendering/RenderTextControl.h:
12042 * rendering/TextControlInnerElements.cpp:
12043 (WebCore::TextControlInnerElement::attachInnerElement):
12044 * rendering/TextControlInnerElements.h:
12045 * rendering/style/KeyframeList.cpp:
12046 (WebCore::KeyframeList::clear):
12047 (WebCore::KeyframeList::operator==):
12048 (WebCore::KeyframeList::insert):
12049 * rendering/style/KeyframeList.h:
12050 (WebCore::KeyframeValue::KeyframeValue):
12051 (WebCore::KeyframeValue::~KeyframeValue):
12052 (WebCore::KeyframeValue::key):
12053 (WebCore::KeyframeValue::style):
12054 * rendering/style/RenderStyle.cpp:
12055 (WebCore::defaultStyle):
12056 (WebCore::RenderStyle::create):
12057 (WebCore::RenderStyle::createDefaultStyle):
12058 (WebCore::RenderStyle::clone):
12059 (WebCore::RenderStyle::RenderStyle):
12060 (WebCore::RenderStyle::getCachedPseudoStyle):
12061 (WebCore::RenderStyle::addCachedPseudoStyle):
12062 * rendering/style/RenderStyle.h:
12063 (WebCore::):
12064 (WebCore::InheritedFlags::operator!=):
12065 * svg/SVGClipPathElement.cpp:
12066 (WebCore::SVGClipPathElement::canvasResource):
12067 * svg/SVGGradientElement.cpp:
12068 (WebCore::SVGGradientElement::buildStops):
12069 * svg/SVGStyledElement.cpp:
12070 (WebCore::SVGStyledElement::resolveStyle):
12071 * svg/SVGStyledElement.h:
12072 * svg/SVGUseElement.cpp:
12073 (WebCore::SVGUseElement::recalcStyle):
12074 (WebCore::SVGUseElement::attachShadowTree):
12075
andersca@apple.com2c7cec42008-10-16 19:08:19 +0000120762008-10-16 Kenneth Russell <kenneth.russell@sun.com>
12077
12078 Reviewed and landed by Anders Carlsson.
12079
12080 https://bugs.webkit.org/show_bug.cgi?id=21587
12081 NPN_PluginThreadAsyncCall does not work properly
12082
12083 * plugins/PluginMainThreadScheduler.cpp:
12084 (WebCore::PluginMainThreadScheduler::dispatchCalls):
12085 Make sure to set m_callPending to false once the queue has been cleared.
12086
ap@webkit.orga89bd1e2008-10-16 08:00:53 +0000120872008-10-15 Alexey Proskuryakov <ap@webkit.org>
12088
12089 Reviewed by Darin Adler.
12090
12091 https://bugs.webkit.org/show_bug.cgi?id=21609
12092 Make MessagePorts protect their peers across heaps
12093
12094 * dom/MessagePort.cpp:
12095 (WebCore::MessagePort::MessagePort):
12096 * dom/MessagePort.h:
12097 (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
12098 (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
12099 Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
12100 means that the implementation object knows about JS bindings - but it is not possible to
12101 access JS wrappers from another heap/thread.
12102
12103 * bindings/js/JSDOMBinding.cpp:
12104 (WebCore::markCrossHeapDependentObjectsForDocument):
12105 * bindings/js/JSDOMBinding.h:
12106 * bindings/js/JSDOMWindowBase.cpp:
12107 (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
12108 * bindings/js/JSDOMWindowBase.h:
12109 Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
12110 hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
12111 as long as its entangled port is accessible itself.
12112
jhoneycutt@apple.com2edeb802008-10-16 04:56:46 +0000121132008-10-15 Jon Honeycutt <jhoneycutt@apple.com>
12114
12115 Remove unneeded check of whether a Page defers loading before running it
12116 in a modal dialog.
12117
12118 No test possible.
12119
12120 Reviewed by Tim Hatcher.
12121
12122 * page/Chrome.cpp:
12123
ggaren@apple.com9f980342008-10-15 23:33:07 +0000121242008-10-15 Geoffrey Garen <ggaren@apple.com>
12125
12126 Reviewed by Cameron Zwarich.
12127
12128 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
12129 Start the debugger without reloading the inspected page
12130
12131 * WebCore.base.exp: New symbols.
12132
12133 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
12134 * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
12135 * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
12136
12137 * inspector/InspectorController.cpp:
12138 (WebCore::InspectorController::setWindowVisible):
12139 (WebCore::InspectorController::windowScriptObjectAvailable):
12140 (WebCore::InspectorController::startDebugging):
12141 * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
12142 to startDebugging, and changed its behavior to match.
12143
12144 * inspector/JavaScriptDebugListener.h:
12145 * inspector/JavaScriptDebugServer.cpp:
12146 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
12147 (WebCore::JavaScriptDebugServer::addListener):
12148 (WebCore::JavaScriptDebugServer::removeListener):
12149 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
12150 (WebCore::JavaScriptDebugServer::willAddFirstListener):
12151 (WebCore::JavaScriptDebugServer::didRemoveLastListener):
12152 * inspector/JavaScriptDebugServer.h: Refactored the
12153 JavaScriptDebugServer to centralize handling of adding the first listener
12154 and removing the last. Then, added a feature to recompile all JS functions
12155 in these cases. This allows us to dynamically add and remove hooks like
12156 the debugger hooks without reloading the page.
12157
12158 * inspector/front-end/ScriptsPanel.js:
12159 * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
12160 startDebugging rename. Removed all UI that claimed that starting the
12161 debugger would reload the page.
12162
adele@apple.com40c50522008-10-15 22:10:25 +0000121632008-10-15 Adele Peterson <adele@apple.com>
12164
12165 Attempt to fix the Tiger build.
12166
12167 * platform/network/mac/ResourceHandleMac.mm:
12168
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +0000121692008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
12170
zecke@webkit.orgc588fe72008-10-15 22:22:38 +000012171 Build fix attempt.
12172
12173 Try to fix static/non-static declaration of g_string_append_uri_escape
12174 by renaming that string. Another look needs to be taken.
12175
12176 * platform/gtk/guriescape.c:
12177 (_webcore_g_string_append_uri_escaped):
12178 (_webcore_g_uri_escape_string):
12179
121802008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
12181
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +000012182 Build fix.
12183
12184 m_animatingImageType is gone.
12185
12186 * platform/graphics/cairo/ImageCairo.cpp:
12187 (WebCore::BitmapImage::BitmapImage):
12188
zecke@webkit.org34a153a2008-10-15 22:01:31 +0000121892008-10-15 Jeff Cook <cookiecaper@gmail.com>
12190
12191 Reviewed by Holger Freyther.
12192
12193 Stop SIGSEGV when leaving a page with a Flash object by reordering
12194 window destruction and plugin stop.
12195
12196 See https://bugs.webkit.org/show_bug.cgi?id=20779
12197
12198 * plugins/gtk/PluginViewGtk.cpp:
12199 (WebCore::PluginView::stop):
12200
adele@apple.com555df922008-10-15 21:53:46 +0000122012008-10-15 Adele Peterson <adele@apple.com>
12202
12203 Reviewed by Sam Weinig.
12204
12205 Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
12206
12207 * platform/network/ResourceHandle.h:
12208 * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
12209 * platform/network/mac/ResourceHandleMac.mm:
12210 (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
12211 (WebCore::ResourceHandle::start):
12212 (WebCore::ResourceHandle::cancel):
12213 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
12214 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
12215 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
12216 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
12217
pkasting@chromium.orgaf85ed22008-10-15 21:11:23 +0000122182008-10-15 Peter Kasting <pkasting@google.com>
12219
12220 Reviewed by David Hyatt.
12221
12222 Qt build bustage fix.
12223
12224 * platform/graphics/qt/StillImageQt.h:
12225 (WebCore::StillImage::destroyDecodedData):
12226
hyatt@apple.com8907c882008-10-15 21:06:22 +0000122272008-10-15 David Hyatt <hyatt@apple.com>
12228
12229 Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
12230
12231 Reviewed by Mark Rowe
12232
12233 * rendering/RenderScrollbar.cpp:
12234 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
12235 (WebCore::RenderScrollbar::updateScrollbarPart):
12236
pkasting@chromium.orge8a5a6b2008-10-15 20:38:13 +0000122372008-10-15 Peter Kasting <pkasting@google.com>
12238
12239 Reviewed by David Hyatt.
12240
12241 https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
12242 Account for paint and timer lag when animating images. Also pretend
12243 that images whose animations were paused (by becoming invisible)
12244 continued to animate, by "catching up" to the correct frame when they're
12245 shown again.
12246
12247 * platform/graphics/BitmapImage.cpp:
12248 (WebCore::BitmapImage::BitmapImage):
12249 (WebCore::BitmapImage::destroyDecodedData):
12250 (WebCore::BitmapImage::cacheFrame):
12251 (WebCore::BitmapImage::frameIsCompleteAtIndex):
12252 (WebCore::BitmapImage::frameDurationAtIndex):
12253 (WebCore::BitmapImage::frameHasAlphaAtIndex):
12254 (WebCore::BitmapImage::repetitionCount):
12255 (WebCore::BitmapImage::shouldAnimate):
12256 (WebCore::BitmapImage::startAnimation):
12257 (WebCore::BitmapImage::resetAnimation):
12258 (WebCore::BitmapImage::advanceAnimation):
12259 (WebCore::BitmapImage::internalAdvanceAnimation):
12260 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
12261 * platform/graphics/BitmapImage.h:
12262 (WebCore::FrameData::FrameData):
12263 (WebCore::BitmapImage::):
12264 * platform/graphics/GeneratedImage.h:
12265 (WebCore::GeneratedImage::destroyDecodedData):
12266 * platform/graphics/Image.h:
12267 * platform/graphics/cairo/ImageCairo.cpp:
12268 (WebCore::FrameData::clear):
12269 (WebCore::BitmapImage::BitmapImage):
12270 (WebCore::BitmapImage::draw):
12271 * platform/graphics/cg/ImageCG.cpp:
12272 (WebCore::FrameData::clear):
12273 (WebCore::BitmapImage::BitmapImage):
12274 (WebCore::BitmapImage::draw):
12275 * platform/graphics/cg/PDFDocumentImage.h:
12276 (WebCore::PDFDocumentImage::destroyDecodedData):
12277 * platform/graphics/qt/ImageQt.cpp:
12278 (WebCore::FrameData::clear):
12279 (WebCore::BitmapImage::draw):
12280 * platform/graphics/wx/ImageWx.cpp:
12281 (WebCore::FrameData::clear):
12282 (WebCore::BitmapImage::draw):
12283 * svg/graphics/SVGImage.h:
12284 (WebCore::SVGImage::destroyDecodedData):
12285
bdakin@apple.comcf22dba2008-10-15 20:32:43 +0000122862008-10-14 Maxime Britto <britto@apple.com>
12287
12288 Reviewed by Darin Adler, tweaked and landed by Beth.
12289
12290 * WebCore.base.exp: Exposes two functions to be able to create a
12291 selection from a point on the screen. Also exposes the new
12292 TextIterator::currentNode function.
12293 * WebCore/editing/TextIterator.cpp:
12294 (TextIterator::currentNode) : New function that returns the current
12295 text node or NULL if there is no text node.
12296
zecke@webkit.orgc6012912008-10-15 20:18:31 +0000122972008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
12298
12299 Reviewed by Holger Freyther.
12300
zecke@webkit.orgbc692f72008-10-15 20:53:02 +000012301 http://bugs.webkit.org/show_bug.cgi?id=21211
12302 [CURL] Upload doesn't work because cancel is called
12303
12304 FormDataStream::read returns 0 when retrieving data from the form
12305 fails, but also when there is no more data to send. This means that
12306 ResourceHandleManager::cancel is always called even when the data was
12307 successfully sent.
12308
12309 Check if there are more elements in the form before calling
12310 FormDataStream::read.
12311
12312 * platform/network/curl/FormDataStreamCurl.cpp:
12313 (WebCore::FormDataStream::hasMoreElements):
12314 * platform/network/curl/FormDataStreamCurl.h:
12315 * platform/network/curl/ResourceHandleManager.cpp:
12316 (WebCore::readCallback):
12317
123182008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
12319
12320 Reviewed by Holger Freyther.
12321
zecke@webkit.orgc6012912008-10-15 20:18:31 +000012322 http://bugs.webkit.org/show_bug.cgi?id=20664
12323 [GTK] File names are not always encodable in UTF-8
12324
12325 On Linux file names are just raw data and cannot always be directly
12326 encoded in UTF-8 or in any other encodings, so we escape them before
12327 storing the file name in a String and unescape them before passing
12328 them to native functions handling files.
12329
12330 * GNUmakefile.am:
12331 * platform/FileSystem.h:
12332 * platform/gtk/FileChooserGtk.cpp:
12333 (WebCore::stringByAdoptingFileSystemRepresentation):
12334 (WebCore::FileChooser::basenameForWidth):
12335 * platform/gtk/FileSystemGtk.cpp:
12336 (WebCore::filenameToString):
12337 (WebCore::filenameFromString):
12338 (WebCore::filenameForDisplay):
12339 (WebCore::fileExists):
12340 (WebCore::deleteFile):
12341 (WebCore::deleteEmptyDirectory):
12342 (WebCore::getFileSize):
12343 (WebCore::getFileModificationTime):
12344 (WebCore::makeAllDirectories):
12345 (WebCore::homeDirectoryPath):
12346 (WebCore::pathGetFileName):
12347 (WebCore::listDirectory):
12348 * platform/gtk/KURLGtk.cpp:
12349 (WebCore::KURL::fileSystemPath):
12350 * platform/gtk/SharedBufferGtk.cpp:
12351 (WebCore::SharedBuffer::createWithContentsOfFile):
12352 * platform/gtk/guriescape.c: Added.
12353 (is_valid):
12354 (gunichar_ok):
12355 (g_string_append_uri_escaped):
12356 (_webcore_g_uri_escape_string):
12357 * platform/gtk/guriescape.h: Added.
12358
darin@apple.come0c926d2008-10-15 17:02:02 +0000123592008-10-15 Dirk Schulze <vbs85@gmx.de>
12360
12361 Reviewed by Eric Seidel.
12362
12363 - part of https://bugs.webkit.org/show_bug.cgi?id=20543
12364 Moved gradient spread method out of SVG into the GraphicsContext.
12365
12366 * platform/graphics/GraphicsContext.cpp:
12367 (WebCore::GraphicsContext::spreadMethod):
12368 (WebCore::GraphicsContext::setSpreadMethod):
12369 * platform/graphics/GraphicsContext.h:
12370 (WebCore::):
12371 * platform/graphics/GraphicsContextPrivate.h:
12372 * platform/graphics/cairo/GraphicsContextCairo.cpp:
12373 (WebCore::applySpreadMethod):
12374 (WebCore::GraphicsContext::fillPath):
12375 (WebCore::GraphicsContext::strokePath):
12376 * platform/graphics/qt/GraphicsContextQt.cpp:
12377 (WebCore::applySpreadMethod):
12378 (WebCore::GraphicsContext::fillPath):
12379 (WebCore::GraphicsContext::strokePath):
12380 * svg/GradientAttributes.h:
12381 (WebCore::GradientAttributes::GradientAttributes):
12382 (WebCore::GradientAttributes::spreadMethod):
12383 (WebCore::GradientAttributes::setSpreadMethod):
12384 * svg/SVGGradientElement.cpp:
12385 (WebCore::SVGGradientElement::parseMappedAttribute):
12386 * svg/SVGGradientElement.h:
12387 * svg/SVGLinearGradientElement.cpp:
12388 (WebCore::SVGLinearGradientElement::collectGradientProperties):
12389 * svg/SVGRadialGradientElement.cpp:
12390 (WebCore::SVGRadialGradientElement::collectGradientProperties):
12391 * svg/graphics/SVGPaintServerGradient.cpp:
12392 (WebCore::operator<<):
12393 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
12394 (WebCore::SVGPaintServerGradient::spreadMethod):
12395 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
12396 (WebCore::SVGPaintServerGradient::externalRepresentation):
12397 * svg/graphics/SVGPaintServerGradient.h:
12398 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
12399 (WebCore::SVGPaintServerGradient::setup):
12400 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
12401 (WebCore::SVGPaintServerGradient::setup):
12402
darin@chromium.org7a0c3c92008-10-15 05:22:03 +0000124032008-10-09 Darin Fisher <darin@chromium.org>
12404
12405 Reviewed by Sam Weinig.
12406
12407 Make pan scrolling a platform configurable option
12408 https://bugs.webkit.org/show_bug.cgi?id=21515
12409
12410 * page/EventHandler.cpp:
12411 (WebCore::EventHandler::handleAutoscroll):
12412 (WebCore::EventHandler::autoscrollTimerFired):
12413 (WebCore::EventHandler::stopAutoscrollTimer):
12414 (WebCore::EventHandler::handleMousePressEvent):
12415 (WebCore::EventHandler::keyEvent):
12416
darin@chromium.org5a0619c2008-10-15 05:15:47 +0000124172008-10-10 Darin Fisher <darin@chromium.org>
12418
12419 Reviewed by Darin Adler.
12420
12421 Add some PLATFORM(CHROMIUM) ifdefs to WebCore
12422 https://bugs.webkit.org/show_bug.cgi?id=21511
12423
12424 * loader/FTPDirectoryDocument.cpp:
12425 * loader/FTPDirectoryParser.cpp:
12426 * loader/FrameLoader.cpp:
12427 (WebCore::FrameLoader::finishedLoadingDocument):
12428 * platform/ContextMenuItem.h:
12429 * platform/Cursor.h:
12430 * platform/DragData.h:
12431 * platform/DragImage.h:
12432 * platform/Pasteboard.h:
12433 * platform/PlatformKeyboardEvent.h:
12434 (WebCore::PlatformKeyboardEvent::isSystemKey):
12435 * platform/PlatformMenuDescription.h:
12436 * platform/PlatformMouseEvent.h:
12437 * platform/PlatformWheelEvent.h:
12438 * platform/PopupMenu.h:
12439 * platform/ScrollView.h:
12440 * platform/Widget.h:
12441 * platform/network/NetworkStateNotifier.h:
12442
cmarrin@apple.com78e50e82008-10-14 21:31:40 +0000124432008-10-14 Chris Marrin <cmarrin@apple.com>
12444
12445 Reviewed by Darin Adler.
12446
12447 Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
12448 Optimize keyframe style sheet changes by avoiding styleSheetChanged()
12449
12450 Test: css3/change-keyframes.html
12451
12452 * css/WebKitCSSKeyframesRule.cpp:
12453 (WebCore::WebKitCSSKeyframesRule::append):
12454 (WebCore::WebKitCSSKeyframesRule::deleteRule):
12455
hyatt@apple.combf26cc02008-10-14 20:35:36 +0000124562008-10-14 David Hyatt <hyatt@apple.com>
12457
12458 https://bugs.webkit.org/show_bug.cgi?id=21595
12459
12460 Clean up background and overflow propagation from the body to the viewport. Make it match the
12461 latest CSS2.1 spec thinking.
12462
12463 Reviewed by Adam Roben
12464
12465 Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
12466 (available at http://simon.html5.org/test/css/magic-body/).
12467
12468 * dom/Document.cpp:
12469 (WebCore::Document::body):
12470 * page/FrameView.cpp:
12471 (WebCore::FrameView::layout):
12472 * rendering/RenderBox.cpp:
12473 (WebCore::RenderBox::styleDidChange):
12474 (WebCore::RenderBox::paintRootBoxDecorations):
12475 (WebCore::RenderBox::paintBoxDecorations):
12476 (WebCore::RenderBox::repaintLayerRectsForImage):
12477
weinig@apple.com91cdcd52008-10-14 19:55:12 +0000124782008-10-14 Dimitri Glazkov <dglazkov@chromium.org>
12479
12480 Reviewed and landed by Sam Weinig.
12481
12482 Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
12483 remove NSResolver code, leaving only checking for selectors that need
12484 NS resolution and throwing a coresponding error.
12485
12486 * WebCore.pro:
12487 * WebCore.vcproj/WebCore.vcproj:
12488 * WebCore.xcodeproj/project.pbxproj:
12489 * WebCoreSources.bkl:
12490 * bindings/js/JSDocumentCustom.cpp:
12491 * bindings/js/JSDocumentFragmentCustom.cpp:
12492 * bindings/js/JSElementCustom.cpp:
12493 * bindings/js/JSNSResolver.cpp: Removed.
12494 * bindings/js/JSNSResolver.h: Removed.
12495 * dom/Document.idl:
12496 * dom/DocumentFragment.idl:
12497 * dom/Element.idl:
12498 * dom/NSResolver.h: Removed.
12499 * dom/NSResolver.idl: Removed.
12500 * dom/Node.h:
12501 * dom/Node.cpp:
12502 (WebCore::forEachTagSelector):
12503 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
12504 (WebCore::selectorNeedsNamespaceResolution):
12505 (WebCore::Node::querySelector):
12506 (WebCore::Node::querySelectorAll):
12507
darin@apple.com2b4eb8f2008-10-14 19:19:33 +0000125082008-10-14 Darin Adler <darin@apple.com>
12509
12510 Reviewed by Sam Weinig (all but the FormDataListItem rename).
12511
12512 - https://bugs.webkit.org/show_bug.cgi?id=21593
12513 Bug 21593: add multiple-file support to HTMLFormElement
12514
12515 * html/FormDataList.cpp: Removed appendFile since it's now inline.
12516 Also took incorrect old copyrights off of this file that are left
12517 over from when it was split.
12518 * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
12519 made it a member of FormDataList. Changed it to hold a File object
12520 instead of a path. And made its data members private. Changed
12521 FormDataList::appendFile accordingly.
12522
12523 * html/HTMLFormElement.cpp:
12524 (WebCore::HTMLFormElement::formData): Updated for above changes.
12525 Removed the code that special-cases HTMLInputElement, because now
12526 the FormDataListItem has everything we need. And if there are
12527 multiple files, we'll get multiple list items for them.
12528
12529 * html/HTMLInputElement.cpp:
12530 (WebCore::HTMLInputElement::appendFormData): Changed the code for
12531 <input type=file> to use File objects instead of path strings and
12532 also to append multiple files if the file list has them.
12533
vestbo@webkit.org03ca7582008-10-14 08:38:41 +0000125342008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
12535
12536 Reviewed by Simon.
vestbo@webkit.org61042592008-10-14 12:50:51 +000012537
12538 Fix QtWebKit scrollbar painting errors
12539
12540 * platform/qt/ScrollbarThemeQt.cpp:
12541 (WebCore::ScrollbarThemeQt::paint):
12542 (WebCore::ScrollbarThemeQt::paintScrollCorner):
12543
125442008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
12545
12546 Reviewed by Simon.
vestbo@webkit.org03ca7582008-10-14 08:38:41 +000012547
vestbo@webkit.org084e5f62008-10-14 08:43:01 +000012548 Fix scrollbar arrows for horizontal scrollbars
12549
12550 * platform/qt/ScrollbarThemeQt.cpp:
12551 (WebCore::styleOptionSlider):
12552
125532008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
12554
12555 Reviewed by Simon.
12556
vestbo@webkit.org03ca7582008-10-14 08:38:41 +000012557 Use style-painter to draw scrollbars in ScrollbarThemeQt
12558
12559 This has the benefit of setting up the painter properly without
12560 antialiasing and saving and restoring the brush. It also ensures
12561 that we use the style of the QWebView over the QApplication style
12562 if possible.
12563
12564 * platform/qt/RenderThemeQt.cpp:
12565 (WebCore::StylePainter::StylePainter):
12566 (WebCore::StylePainter::init):
12567 * platform/qt/RenderThemeQt.h:
12568 * platform/qt/ScrollbarThemeQt.cpp:
12569 (WebCore::ScrollbarThemeQt::paint):
12570
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +0000125712008-10-13 David Hyatt <hyatt@apple.com>
12572
hyatt@apple.com2768a4b2008-10-14 06:45:52 +000012573 Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
12574 for how to add support for the rest.
12575
12576 Reviewed by Oliver Hunt
12577
12578 * page/animation/AnimationBase.cpp:
12579 (WebCore::ensurePropertyMap):
12580 * rendering/style/RenderStyle.h:
12581 (WebCore::RenderStyle::fillOpacity):
12582 (WebCore::RenderStyle::setFillOpacity):
12583 (WebCore::RenderStyle::strokeOpacity):
12584 (WebCore::RenderStyle::setStrokeOpacity):
12585 (WebCore::RenderStyle::floodOpacity):
12586 (WebCore::RenderStyle::setFloodOpacity):
12587
125882008-10-13 David Hyatt <hyatt@apple.com>
12589
hyatt@apple.comda1f6322008-10-14 06:29:36 +000012590 <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
12591
12592 Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
12593 implements paintTrackBackground so that when the thumb is not present the track still paints.
12594
12595 Reviewed by Oliver Hunt
12596
12597 * platform/ScrollbarThemeComposite.cpp:
12598 (WebCore::ScrollbarThemeComposite::paint):
12599 * platform/win/ScrollbarThemeWin.cpp:
12600 (WebCore::ScrollbarThemeWin::paintTrackBackground):
12601 * platform/win/ScrollbarThemeWin.h:
12602
126032008-10-13 David Hyatt <hyatt@apple.com>
12604
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +000012605 Fix over-invalidation of native scrollbars.
12606
12607 Reviewed by Oliver Hunt
12608
12609 * platform/Scrollbar.h:
12610 (WebCore::Scrollbar::styleChanged):
12611 * platform/mac/ScrollbarThemeMac.mm:
12612 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
12613 * rendering/RenderScrollbar.cpp:
12614 (WebCore::RenderScrollbar::styleChanged):
12615
alp@webkit.orga3417882008-10-14 04:14:38 +0000126162008-10-13 Alp Toker <alp@nuanti.com>
12617
12618 Fix autotools dist build target by listing recently added header
12619 files only. Not reviewed.
12620
12621 * GNUmakefile.am:
12622
mrowe@apple.com5c9cb4d2008-10-14 02:28:46 +0000126232008-10-13 Mark Rowe <mrowe@apple.com>
12624
12625 Reviewed by Brady Eidson.
12626
12627 Don't run a SQLite query on every iteration of the sync thread when the query
12628 will touch a large portion of the icon database while performing no useful work.
12629
12630 * loader/icon/IconDatabase.cpp:
12631 (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
12632 we modified the database.
12633 (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
12634 unless we've been asked to prune any dangling pageURLs that we find.
12635
mjs@apple.com268962e2008-10-14 01:21:43 +0000126362008-10-13 Maciej Stachowiak <mjs@apple.com>
12637
12638 Rubber stamped by Mark Rowe.
12639
12640 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
12641
12642 * Configurations/DebugRelease.xcconfig:
12643
hyatt@apple.comc3ed34a2008-10-14 00:59:46 +0000126442008-10-13 David Hyatt <hyatt@apple.com>
12645
12646 Make dropdown lists on Windows work with CSS custom scrollbars.
12647
12648 Reviewed by Adele
12649
12650 * platform/PopupMenu.h:
12651 (WebCore::PopupMenu::scrollbarCornerPresent):
12652 * platform/PopupMenuClient.h:
12653 * platform/win/PopupMenuWin.cpp:
12654 (WebCore::PopupMenu::show):
12655 * rendering/RenderMenuList.cpp:
12656 (WebCore::RenderMenuList::createScrollbar):
12657 * rendering/RenderMenuList.h:
12658 * rendering/RenderTextControl.cpp:
12659 (WebCore::RenderTextControl::createScrollbar):
12660 * rendering/RenderTextControl.h:
12661
cfleizach@apple.com12468c12008-10-13 22:48:19 +0000126622008-10-13 Chris Fleizach <cfleizach@apple.com>
12663
12664 Reviewed by Beth Dakin.
12665
12666 <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
12667
12668 Links from image maps were not being included in the web area's AXLinkUIElements attribute.
12669 The position of image map links was being reported incorrectly and the parent-chain
12670 hierarchy for image map links was incorrect because image map links did not have a reference
12671 to their parent image.
12672
12673 Test: accessibility/document-links.html
12674
12675 * page/AccessibilityImageMapLink.cpp:
12676 (WebCore::AccessibilityImageMapLink::parentObject):
12677 (WebCore::AccessibilityImageMapLink::actionElement):
12678 (WebCore::AccessibilityImageMapLink::elementRect):
12679 * page/AccessibilityImageMapLink.h:
12680 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
12681 (WebCore::AccessibilityImageMapLink::setParent):
12682 * page/AccessibilityObject.cpp:
12683 * page/AccessibilityObject.h:
12684 * page/AccessibilityRenderObject.cpp:
12685 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
12686 (WebCore::AccessibilityRenderObject::getDocumentLinks):
12687 (WebCore::AccessibilityRenderObject::addChildren):
12688 * page/AccessibilityRenderObject.h:
12689 * page/mac/AccessibilityObjectWrapper.mm:
12690 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
12691
hyatt@apple.com59696ac2008-10-13 21:53:07 +0000126922008-10-13 David Hyatt <hyatt@apple.com>
12693
hyatt@apple.com456dd872008-10-13 22:42:59 +000012694 Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
12695 the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
12696 idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
12697
12698 Reviewed by Tim Hatcher
12699
12700 Added scrollbars/listbox-scrollbar-combinations.html
12701
12702 * rendering/RenderListBox.cpp:
12703 (WebCore::RenderListBox::~RenderListBox):
12704 (WebCore::RenderListBox::updateFromElement):
12705 (WebCore::RenderListBox::createScrollbar):
12706 (WebCore::RenderListBox::destroyScrollbar):
12707 (WebCore::RenderListBox::setHasVerticalScrollbar):
12708 * rendering/RenderListBox.h:
12709
127102008-10-13 David Hyatt <hyatt@apple.com>
12711
hyatt@apple.com59696ac2008-10-13 21:53:07 +000012712 In order to always match the :corner-present pseudo-class properly, delay initial updating of
12713 scrollbar styles until the layer has the scrollbars in its member variables.
12714
12715 Reviewed by Tim Hatcher
12716
12717 * rendering/RenderLayer.cpp:
12718 (WebCore::RenderLayer::setHasHorizontalScrollbar):
12719 (WebCore::RenderLayer::setHasVerticalScrollbar):
12720 * rendering/RenderScrollbar.cpp:
12721 (WebCore::RenderScrollbar::RenderScrollbar):
12722
weinig@apple.comfe8ca432008-10-13 21:41:40 +0000127232008-10-13 Sam Weinig <sam@webkit.org>
12724
12725 Reviewed by Dan Bernstein.
12726
12727 Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
12728 5 false positive StructureID leaks
12729
12730 In WebCore, we intentionally leak the common JSGlobalData which in turn
12731 leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
12732 ignore the StructureIDs leaked within.
12733
12734 * bindings/js/JSDOMWindowBase.cpp:
12735 (WebCore::JSDOMWindowBase::commonJSGlobalData):
12736
hyatt@apple.com097c92d2008-10-13 20:21:35 +0000127372008-10-13 David Hyatt <hyatt@apple.com>
12738
hyatt@apple.come2a30fd2008-10-13 21:23:21 +000012739 Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
12740 artwork based on whether there is a scrollbar corner present.
12741
12742 Reviewed by Tim Hatcher
12743
12744 * css/CSSSelector.cpp:
12745 (WebCore::CSSSelector::extractPseudoType):
12746 * css/CSSSelector.h:
12747 (WebCore::CSSSelector::):
12748 * css/CSSStyleSelector.cpp:
12749 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
12750 * platform/ScrollView.cpp:
12751 (WebCore::ScrollView::scrollbarCornerPresent):
12752 * platform/ScrollView.h:
12753 * platform/ScrollbarClient.h:
12754 * rendering/RenderLayer.cpp:
12755 (WebCore::cornerRect):
12756 (WebCore::scrollCornerRect):
12757 (WebCore::resizerCornerRect):
12758 (WebCore::RenderLayer::scrollbarCornerPresent):
12759 (WebCore::RenderLayer::setHasHorizontalScrollbar):
12760 (WebCore::RenderLayer::setHasVerticalScrollbar):
12761 * rendering/RenderLayer.h:
12762 (WebCore::RenderLayer::horizontalScrollbar):
12763 (WebCore::RenderLayer::verticalScrollbar):
12764 * rendering/RenderListBox.h:
12765 (WebCore::RenderListBox::scrollbarCornerPresent):
12766
127672008-10-13 David Hyatt <hyatt@apple.com>
12768
hyatt@apple.com2c1832e2008-10-13 20:56:29 +000012769 Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
12770 test case for all this can land).
12771
12772 Reviewed by Tim Hatcher
12773
12774 * css/CSSStyleSelector.cpp:
12775 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
12776 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
12777 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
12778 * rendering/RenderLayer.cpp:
12779 (WebCore::RenderLayer::paintOverflowControls):
12780 (WebCore::RenderLayer::paintScrollCorner):
12781 (WebCore::RenderLayer::paintResizer):
12782 (WebCore::RenderLayer::styleChanged):
12783 (WebCore::RenderLayer::updateScrollCornerStyle):
12784 (WebCore::RenderLayer::updateResizerStyle):
12785 * rendering/RenderLayer.h:
12786 * rendering/RenderScrollbar.cpp:
12787 (WebCore::RenderScrollbar::paint):
12788 * rendering/RenderScrollbarPart.cpp:
12789 (WebCore::RenderScrollbarPart::paintIntoRect):
12790
127912008-10-13 David Hyatt <hyatt@apple.com>
12792
hyatt@apple.com097c92d2008-10-13 20:21:35 +000012793 Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
12794 and invalidate properly as images load, etc.
12795
12796 Reviewed by Tim Hatcher
12797
12798 * rendering/RenderLayer.cpp:
12799 (WebCore::cornerRect):
12800 (WebCore::scrollCornerRect):
12801 (WebCore::resizerCornerRect):
12802 (WebCore::RenderLayer::positionOverflowControls):
12803 (WebCore::RenderLayer::paintOverflowControls):
12804 (WebCore::RenderLayer::paintScrollCorner):
12805 (WebCore::RenderLayer::paintResizer):
12806 (WebCore::RenderLayer::isPointInResizeControl):
12807 (WebCore::RenderLayer::hitTestOverflowControls):
12808 (WebCore::RenderLayer::styleChanged):
12809 * rendering/RenderLayer.h:
12810 * rendering/RenderObject.h:
12811 (WebCore::RenderObject::setRect):
12812 * rendering/RenderScrollbarPart.cpp:
12813 (WebCore::RenderScrollbarPart::styleDidChange):
12814 (WebCore::RenderScrollbarPart::imageChanged):
12815
jmalonzo@webkit.org4d9c9522008-10-13 11:44:35 +0000128162008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>
12817
12818 Reviewed by Darin Adler. Landed by Jan Alonzo.
12819
12820 WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
12821 http://bugs.webkit.org/show_bug.cgi?id=20483
12822
12823 Start the conversion to use GOwnPtr and fix a memory leak.
12824
12825 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
12826 (WebCore::mediaPlayerPrivateErrorCallback):
12827
jhoneycutt@apple.com6bc9f352008-10-13 02:43:30 +0000128282008-10-12 Jon Honeycutt <jhoneycutt@apple.com>
12829
12830 Windows build fix.
12831
12832 * loader/TextResourceDecoder.cpp:
12833
darin@apple.com21120fc2008-10-13 02:13:47 +0000128342008-10-12 Darin Fisher <darin@chromium.org>
12835
12836 Reviewed by Darin Adler.
12837
12838 - fix https://bugs.webkit.org/show_bug.cgi?id=21229
12839 Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
12840
12841 * platform/network/NetworkStateNotifier.h: Add the #include.
12842
darin@apple.com6de19a02008-10-13 01:37:13 +0000128432008-10-12 Darin Adler <darin@apple.com>
12844
12845 Based on work by Holger Freyther.
12846
12847 - part of https://bugs.webkit.org/show_bug.cgi?id=20953
12848 Split WidthIterator into its own source file.
12849
12850 * GNUmakefile.am: Added new source files.
12851 * WebCore.vcproj/WebCore.vcproj: Ditto.
12852 * WebCore.xcodeproj/project.pbxproj: Ditto.
12853 * WebCoreSources.bkl: Ditto.
12854
12855 * platform/graphics/Font.cpp: Use WidthIterator from its new place.
12856 * platform/graphics/WidthIterator.cpp: Added.
12857 * platform/graphics/WidthIterator.h: Added.
12858
darin@apple.com755e9c22008-10-13 01:13:29 +0000128592008-10-12 Tony Chang <tony@chromium.org>
12860
12861 Reviewed by Sam Weinig.
12862
12863 - https://bugs.webkit.org/show_bug.cgi?id=21480
12864 Remove duplicate definitions of MimeClassInfo and PluginInfo.
12865
12866 * plugins/PluginInfoStore.cpp: Added an include.
12867 * plugins/PluginInfoStore.h: Removed struct declarations.
12868
darin@apple.com365a7d82008-10-13 01:07:04 +0000128692008-10-12 Darin Adler <darin@apple.com>
12870
12871 Reviewed by Dan Bernstein.
12872
12873 - https://bugs.webkit.org/show_bug.cgi?id=21563
12874 Bug 21563: platform Gradient class should not use the CSS parser
12875
12876 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
12877 that accepts a CSS color string. That's handled in the DOM now, not here.
12878 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
12879 copy of it here.
12880 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
12881
darin@apple.comad096ca2008-10-13 00:58:00 +0000128822008-10-12 Glenn Wilson <gwilson@google.com>
12883
12884 Reviewed by Darin Adler.
12885
12886 - https://bugs.webkit.org/show_bug.cgi?id=20461
12887
12888 Added feature to allow multi-line inputs into text fields.
12889 HTMLInputElement would cut the set text at the first 'system' character,
12890 so it would truncate at the first carriage return or newline.
12891 This fix modifies that behavior to truncate at any non-space system character
12892 but changes \r, \n, and \r\n to a single space.
12893
12894 Tests: editing/pasteboard/paste-multiline-text-input.html
12895
12896 * html/HTMLInputElement.cpp:
12897 (WebCore::HTMLInputElement::constrainValue):
12898
darin@apple.comdcbbe942008-10-13 00:25:00 +0000128992008-10-12 Dirk Schulze <vbs85@gmx.de>
12900
12901 Reviewed by Eric Seidel.
12902
12903 - https://bugs.webkit.org/show_bug.cgi?id=20435
12904
12905 Added exception codes to canvas gradients to match current specification.
12906
12907 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
12908 fast/canvas/linearGradient-infinite-values.html
12909 fast/canvas/radialGradient-infinite-values.html
12910
12911 * html/CanvasGradient.cpp:
12912 (WebCore::CanvasGradient::addColorStop):
12913 * html/CanvasGradient.h:
12914 * html/CanvasGradient.idl:
12915 * html/CanvasRenderingContext2D.cpp:
12916 (WebCore::CanvasRenderingContext2D::createLinearGradient):
12917 (WebCore::CanvasRenderingContext2D::createRadialGradient):
12918 * html/CanvasRenderingContext2D.h:
12919 * html/CanvasRenderingContext2D.idl:
12920
darin@apple.come4c4b502008-10-12 23:59:09 +0000129212008-10-12 Eric Roman <eroman@chromium.org>
12922
12923 - https://bugs.webkit.org/show_bug.cgi?id=20246
12924 Implement RenderThemeWin::systemColor() to match Windows colors.
12925
12926 Reviewed by David Hyatt.
12927
12928 * rendering/RenderThemeWin.cpp:
12929 (WebCore::cssValueIdToSysColorIndex):
12930 (WebCore::RenderThemeWin::systemColor):
12931 * rendering/RenderThemeWin.h:
12932
darin@apple.com734c7252008-10-12 23:50:45 +0000129332008-10-12 Aaron Bockover <abockover@novell.com>
12934
12935 Reviewed by Alp Toker.
12936
12937 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
12938 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
12939 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
12940
12941 * plugins/gtk/PluginPackageGtk.cpp:
12942
darin@apple.comee5d0dc2008-10-12 23:01:25 +0000129432008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
12944
12945 Reviewed by Oliver Hunt.
12946
12947 - https://bugs.webkit.org/show_bug.cgi?id=19331
12948 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
12949
12950 * page/DragController.cpp:
12951 (WebCore::DragController::startDrag): When a link is dragged without any
12952 text selected (note: for this to work, the EditableLinkBehavior setting must be
12953 set to 'live' or 'default') and then dropped into an editable html document it
12954 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
12955 is a selection. To prevent this, expand the selection to the enclosing anchor tag
12956 when the drag begins.
12957
darin@apple.com2ce65d52008-10-12 22:49:46 +0000129582008-10-12 Darin Adler <darin@apple.com>
12959
darin@apple.comb3de9be2008-10-12 22:53:15 +000012960 Reviewed by Mark Rowe.
12961
12962 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
12963 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
12964
12965 * rendering/RenderObject.cpp:
12966 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
12967 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
12968 as RenderObject::isText(), and this guarantees that the node can be cast to
12969 Element*, which is done just below. The reason this is hit is that RenderLayer
12970 can call getPseudoStyle on a RenderView, which has the document as its
12971 element() -- and a document is neither a Text node nor an Element. A loose
12972 end is that this seems to mean you can't style the scrollbar corner or the
12973 resizer on a RenderView. Hyatt may want to look into that later.
12974
129752008-10-12 Darin Adler <darin@apple.com>
12976
darin@apple.com2ce65d52008-10-12 22:49:46 +000012977 Reviewed by Sam Weinig.
12978
12979 - https://bugs.webkit.org/show_bug.cgi?id=21556
12980 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
12981
12982 Tests: fast/dom/HTMLFontElement/size-attribute.html
12983 fast/dom/HTMLInputElement/size-attribute.html
12984 fast/dom/HTMLTableElement/cellpadding-attribute.html
12985
12986 * html/HTMLFontElement.cpp:
12987 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
12988 Unicode::isDigit, since non-ASCII digits are not valid here.
12989 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
12990 the unneeded destructor declaration.
12991 * platform/text/String.cpp:
12992 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
12993 of Unicode::isDigit, since non-ASCII digits are not valid.
12994
darin@apple.com39669162008-10-12 22:38:23 +0000129952008-10-12 Jungshik Shin <jshin@chromium.org>
12996
12997 Reviewed by Darin Adler.
12998
12999 Treat x-user-defined as windows-1252 for html files with meta charset
13000 declaration to be compatible with Indian web sites.
13001 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
13002
13003 Test: fast/encoding/charset-xuser-defined.html
13004
13005 * loader/TextResourceDecoder.cpp:
13006 (WebCore::TextResourceDecoder::setEncoding):
13007
weinig@apple.com68017df2008-10-12 20:43:15 +0000130082008-10-12 Sam Weinig <sam@webkit.org>
13009
weinig@apple.com590ccdb2008-10-12 21:32:38 +000013010 Reviewed by Dan Bernstein.
13011
13012 Remove unneeded forward declaration.
13013
13014 * platform/graphics/ImageBuffer.h:
13015
130162008-10-12 Sam Weinig <sam@webkit.org>
13017
weinig@apple.com68017df2008-10-12 20:43:15 +000013018 Reviewed by Darin Adler.
13019
13020 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
13021 Layering violation: String should not be responsible for creating Lengths
13022
13023 It was a layering violation for String to know haw to parse
13024 into Lengths, LengthArrays, and CoordsArrays.
13025
13026 * GNUmakefile.am:
13027 * WebCore.pro:
13028 * WebCore.vcproj/WebCore.vcproj:
13029 * WebCore.xcodeproj/project.pbxproj:
13030 * WebCoreSources.bkl:
13031 * html/HTMLAreaElement.cpp:
13032 (WebCore::HTMLAreaElement::parseMappedAttribute):
13033 * html/HTMLFrameSetElement.cpp:
13034 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
13035 * platform/text/AtomicString.h:
13036 (WebCore::AtomicString::percentage):
13037 * platform/text/PlatformString.h:
13038 * platform/text/String.cpp:
13039 * platform/text/StringImpl.cpp:
13040 * platform/text/StringImpl.h:
13041 * rendering/Length.cpp: Added.
13042 (WebCore::parseLength):
13043 (WebCore::countCharacter):
13044 (WebCore::newCoordsArray):
13045 (WebCore::newLengthArray):
13046 * rendering/Length.h:
13047 (WebCore::LengthSize::LengthSize):
13048
darin@apple.com231607b2008-10-12 18:23:56 +0000130492008-10-12 Brad Garcia <bgarcia@google.com>
13050
13051 Reviewed by Darin Adler.
13052
13053 Interpret fractional percentage values for %MultiLength values.
13054 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
13055 Test: fast/frames/frame-length-fractional-percentage.html
13056
13057 * platform/text/StringImpl.cpp:
13058 (WebCore::parseLength):
13059
timothy@apple.combba898e2008-10-12 17:04:51 +0000130602008-10-12 Timothy Hatcher <timothy@apple.com>
13061
13062 Remember the expanded state of the rules in the Styles pane. So
13063 collapsing a rule will persist across all the elements that have
13064 that same rule. The same applies to Computed Style, so the Computed
13065 Style rule is now collapsed by default. This should help lessen the
13066 confusion on why Computed Style can't be edited (a common confusion.)
13067
13068 https://bugs.webkit.org/show_bug.cgi?id=21553
13069
13070 Reviewed by Darin Adler.
13071
13072 * inspector/front-end/PropertiesSection.js:
13073 (WebInspector.PropertiesSection): Set the _expanded property directly,
13074 instead of using the setter. Expanded is the default, so no work is needed.
13075 This prevents calling StylesSidebarPane.collapse before object initialization
13076 is complete.
13077 * inspector/front-end/StylesSidebarPane.js:
13078 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
13079 for the expanded state of the StylePropertiesSection. Collapse computed style
13080 by default and expand everything else.
13081 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
13082 when remembering expanded state.
13083 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
13084 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
13085 the state if the dontRememberState property is true.
13086 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
13087 to false for this identifier in Preferences.styleRulesExpandedState.
13088 * inspector/front-end/inspector.js:
13089 (Preferences.styleRulesExpandedState): Initialize to an empty object.
13090
jmalonzo@webkit.org1a75c1b2008-10-12 11:47:04 +0000130912008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
13092
13093 Reviewed by Alp Toker.
13094
13095 [Gtk] Remove libWebCoreJS.la when doing make clean
13096 https://bugs.webkit.org/show_bug.cgi?id=21544
13097
13098 Remove libWebCoreJS.la when doing a clean target
13099
13100 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
13101
alp@webkit.org85a7e4f2008-10-12 06:50:21 +0000131022008-10-11 Alp Toker <alp@nuanti.com>
13103
13104 Reviewed by Darin Adler.
13105
13106 https://bugs.webkit.org/show_bug.cgi?id=20592
13107 The focus ring is not shown while navigating on some pages
13108
13109 Fix drawFocusRing() so it doesn't depend on the current graphics
13110 state, thus matching other platforms which already work this way.
13111
13112 This patch provides two code paths: one using straight Cairo and
13113 one specialised for the GTK+ port with a more conventional appearance.
13114
13115 Also change focusRingColor() to return a null color, allowing the
13116 focus ring to pick up the style's current color if it isn't overridden
13117 with CSS.
13118
13119 * platform/graphics/cairo/GraphicsContextCairo.cpp:
13120 (WebCore::GraphicsContext::drawFocusRing):
13121 * platform/gtk/TemporaryLinkStubs.cpp:
13122 (WebCore::focusRingColor):
13123
mitz@apple.com7378cec2008-10-12 04:56:20 +0000131242008-10-11 Dan Bernstein <mitz@apple.com>
13125
13126 Rubber-stamped by Sam Weinig.
13127
13128 - change all internal callers to use Cache::evict() instead of remove()
13129
13130 * loader/Cache.cpp:
13131 (WebCore::Cache::revalidateResource):
13132 (WebCore::Cache::revalidationSucceeded):
13133 (WebCore::Cache::pruneDeadResources):
13134 (WebCore::Cache::setDisabled):
13135
hyatt@apple.com0578b132008-10-12 04:20:26 +0000131362008-10-11 David Hyatt <hyatt@apple.com>
13137
hyatt@apple.com668b6712008-10-12 04:26:47 +000013138 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
13139
13140 Reviewed by Tim Hatcher
13141
13142 * platform/ScrollbarThemeComposite.cpp:
13143 (WebCore::ScrollbarThemeComposite::invalidatePart):
13144
131452008-10-11 David Hyatt <hyatt@apple.com>
13146
hyatt@apple.com0578b132008-10-12 04:20:26 +000013147 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
13148
13149 Also fixed resizer positioning problems.
13150
13151 Reviewed by Tim Hatcher
13152
13153 * platform/ScrollbarThemeComposite.cpp:
13154 (WebCore::ScrollbarThemeComposite::splitTrack):
13155 (WebCore::ScrollbarThemeComposite::trackPosition):
13156 (WebCore::ScrollbarThemeComposite::trackLength):
13157 * platform/ScrollbarThemeComposite.h:
13158 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
13159 * rendering/RenderLayer.cpp:
13160 (WebCore::scrollCornerRect):
13161 (WebCore::RenderLayer::positionOverflowControls):
13162 (WebCore::RenderLayer::paintOverflowControls):
13163 (WebCore::RenderLayer::isPointInResizeControl):
13164 (WebCore::RenderLayer::hitTestOverflowControls):
13165 * rendering/RenderScrollbarTheme.cpp:
13166 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
13167 * rendering/RenderScrollbarTheme.h:
13168
alp@webkit.org9c37e8f2008-10-12 03:33:28 +0000131692008-10-11 Alp Toker <alp@nuanti.com>
13170
13171 Reviewed by David Hyatt.
13172
13173 Implement release/retain for Widget GTK+.
13174
13175 * platform/Widget.cpp:
13176 * platform/gtk/WidgetGtk.cpp:
13177 (WebCore::Widget::~Widget):
13178 (WebCore::Widget::releasePlatformWidget):
13179 (WebCore::Widget::retainPlatformWidget):
13180
mitz@apple.comf0f7ed82008-10-11 22:53:28 +0000131812008-10-11 Dan Bernstein <mitz@apple.com>
13182
13183 Reviewed by Sam Weinig.
13184
13185 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
13186 and add a corresponding getter; add the same functions on Windows
13187
13188 * WebCore.base.exp:
13189 * platform/graphics/Font.cpp:
13190 (WebCore::Font::setCodePath):
13191 (WebCore::codePath):
13192 (WebCore::Font::canUseGlyphCache):
13193 * platform/graphics/Font.h:
13194 * platform/mac/WebCoreTextRenderer.h:
13195 * platform/mac/WebCoreTextRenderer.mm:
13196 (WebCoreSetAlwaysUsesComplexTextCodePath):
13197 (WebCoreAlwaysUsesComplexTextCodePath):
13198 * platform/win/WebCoreTextRenderer.cpp:
13199 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
13200 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
13201 * platform/win/WebCoreTextRenderer.h:
13202
weinig@apple.comeb4243f2008-10-11 22:10:38 +0000132032008-10-11 Sam Weinig <sam@webkit.org>
13204
13205 Reviewed by Cameron Zwarich.
13206
weinig@apple.com5f7c6162008-10-11 22:20:09 +000013207 Stop leaking the event parameter names. The protected strings were showing up
13208 in the caches window after one use. No measurable performance loss.
13209
13210 * bindings/js/JSEventListener.cpp:
13211 (WebCore::eventParameterName):
13212
132132008-10-11 Sam Weinig <sam@webkit.org>
13214
13215 Reviewed by Cameron Zwarich.
13216
weinig@apple.comeb4243f2008-10-11 22:10:38 +000013217 Remove unused function getNodeEventListener.
13218
13219 * bindings/js/JSEventListener.cpp:
13220 * bindings/js/JSEventListener.h:
13221
hyatt@apple.comf2452672008-10-11 07:50:03 +0000132222008-10-11 David Hyatt <hyatt@apple.com>
13223
13224 Add support for both positive and negative margins to tracks and track pieces.
13225
13226 Reviewed by Tim Hatcher
13227
13228 * platform/ScrollbarThemeComposite.cpp:
13229 (WebCore::ScrollbarThemeComposite::paint):
13230 (WebCore::ScrollbarThemeComposite::hitTest):
13231 (WebCore::ScrollbarThemeComposite::splitTrack):
13232 (WebCore::ScrollbarThemeComposite::trackPieceRects):
13233 (WebCore::ScrollbarThemeComposite::trackPosition):
13234 (WebCore::ScrollbarThemeComposite::trackLength):
13235 * platform/ScrollbarThemeComposite.h:
13236 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
13237 * rendering/RenderScrollbar.cpp:
13238 (WebCore::RenderScrollbar::trackRect):
13239 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
13240 * rendering/RenderScrollbar.h:
13241 * rendering/RenderScrollbarPart.cpp:
13242 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
13243 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
13244 * rendering/RenderScrollbarTheme.cpp:
13245 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
13246 * rendering/RenderScrollbarTheme.h:
13247
hyatt@apple.com729214e2008-10-11 06:30:47 +0000132482008-10-10 David Hyatt <hyatt@apple.com>
13249
13250 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
13251 the scrollbar pseudo-elements anyway.
13252
13253 Reviewed by Tim Hatcher
13254
13255 * css/CSSSelector.cpp:
13256 (WebCore::CSSSelector::extractPseudoType):
13257 * css/CSSSelector.h:
13258 (WebCore::CSSSelector::):
13259 * css/CSSStyleSelector.cpp:
13260 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
13261
mitz@apple.comb5de9462008-10-11 06:26:59 +0000132622008-10-10 Dan Bernstein <mitz@apple.com>
13263
13264 Reviewed by Sam Weinig.
13265
13266 - separate Cache::remove() into a private method and a public interface,
13267 then make Cache::pruneDeadResources() use the private method.
13268
13269 * loader/Cache.cpp:
13270 (WebCore::Cache::pruneDeadResources):
13271 (WebCore::Cache::evict):
13272 * loader/Cache.h:
13273 (WebCore::Cache::remove):
13274
hyatt@apple.comd65740c2008-10-11 05:30:39 +0000132752008-10-10 David Hyatt <hyatt@apple.com>
13276
hyatt@apple.com739b8f02008-10-11 06:12:14 +000013277 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
13278 now that the track pieces meet under the thumb.
13279
13280 Reviewed by Tim Hatcher
13281
13282 * platform/ScrollbarThemeComposite.cpp:
13283 (WebCore::ScrollbarThemeComposite::paint):
13284 (WebCore::ScrollbarThemeComposite::splitTrack):
13285
132862008-10-10 David Hyatt <hyatt@apple.com>
13287
hyatt@apple.com4c767e22008-10-11 06:04:02 +000013288 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
13289
13290 Reviewed by Tim Hatcher
13291
13292 * platform/ScrollbarThemeComposite.cpp:
13293 (WebCore::ScrollbarThemeComposite::hitTest):
13294 (WebCore::ScrollbarThemeComposite::splitTrack):
13295
132962008-10-10 David Hyatt <hyatt@apple.com>
13297
hyatt@apple.come8609a22008-10-11 05:54:35 +000013298 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
13299
13300 Reviewed by Tim Hatcher
13301
13302 * rendering/RenderLayer.cpp:
13303 (WebCore::RenderLayer::createScrollbar):
13304 * rendering/RenderScrollbar.cpp:
13305 (WebCore::RenderScrollbar::createCustomScrollbar):
13306 (WebCore::RenderScrollbar::RenderScrollbar):
13307 (WebCore::RenderScrollbar::setParent):
13308 (WebCore::RenderScrollbar::updateScrollbarParts):
13309 (WebCore::RenderScrollbar::updateScrollbarPart):
13310 * rendering/RenderScrollbar.h:
13311 * rendering/style/RenderStyle.h:
13312 (WebCore::RenderStyle::):
13313
133142008-10-10 David Hyatt <hyatt@apple.com>
13315
hyatt@apple.comd65740c2008-10-11 05:30:39 +000013316 Make sure scrollbar background images cause proper part invalidation to occur.
13317
13318 Reviewed by Tim Hatcher
13319
13320 * rendering/RenderScrollbar.cpp:
13321 (WebCore::RenderScrollbar::setHoveredPart):
13322 (WebCore::RenderScrollbar::setPressedPart):
13323 * rendering/RenderScrollbarPart.cpp:
13324 (WebCore::RenderScrollbarPart::styleDidChange):
13325 (WebCore::RenderScrollbarPart::imageChanged):
13326 * rendering/RenderScrollbarPart.h:
13327
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +0000133282008-10-10 Simon Fraser <simon.fraser@apple.com>
13329
13330 Reviewed by Darin Adler
13331
simon.fraser@apple.com72df8f02008-10-11 00:35:23 +000013332 https://bugs.webkit.org/show_bug.cgi?id=21538
13333
13334 The blendFunc() for TransformOperations should never mess with the
13335 operation lists by replacing some ops with identity, otherwise the lists
13336 no longer match and transitions break.
13337
13338 Test: transitions/matched-transform-functions.html
13339
13340 * page/animation/AnimationBase.cpp:
13341 (WebCore::blendFunc):
13342
133432008-10-10 Simon Fraser <simon.fraser@apple.com>
13344
13345 Reviewed by Darin Adler
13346
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +000013347 https://bugs.webkit.org/show_bug.cgi?id=21537
13348
13349 Fix re-targetting a running transition; if the target property
13350 changes, we do need to make a new ImplicitAnimation.
13351
13352 Test: transitions/retargetted-transition.html
13353
13354 * page/animation/CompositeAnimation.cpp:
13355 (WebCore::CompositeAnimationPrivate::updateTransitions):
13356
oliver@apple.com7264bb52008-10-10 23:21:39 +0000133572008-10-10 Oliver Hunt <oliver@apple.com>
13358
13359 Reviewed by Cameron Zwarich.
13360
13361 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
13362
13363 When JS is terminated by the user choosing to stop a slow script
13364 the exception toString method throws, yet the console logger does
13365 not perform exception checks after logging. This leaves an
13366 exception on the Machine, which in turn results in an assertion
13367 failure next time we attempt to enter JS. The solution is just to
13368 clear the exception state after attempting to record the exception.
13369
13370 * page/Console.cpp:
13371 (WebCore::Console::reportException):
13372
hyatt@apple.comfca034d2008-10-10 21:05:07 +0000133732008-10-10 David Hyatt <hyatt@apple.com>
13374
hyatt@apple.com0f129042008-10-10 22:24:15 +000013375 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
13376 when looking for pseudo styles.
13377
13378 Reviewed by Tim Hatcher
13379
13380 * rendering/RenderLayer.cpp:
13381 (WebCore::RenderLayer::createScrollbar):
13382 (WebCore::RenderLayer::styleChanged):
13383
133842008-10-10 David Hyatt <hyatt@apple.com>
13385
hyatt@apple.comca798132008-10-10 22:16:24 +000013386 Add the ability to style the scroll corner and the resizer from CSS.
13387
13388 Reviewed by Tim Hatcher
13389
13390 * css/CSSSelector.cpp:
13391 (WebCore::CSSSelector::extractPseudoType):
13392 * css/CSSSelector.h:
13393 (WebCore::CSSSelector::):
13394 * css/CSSStyleSelector.cpp:
13395 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
13396 * rendering/RenderLayer.cpp:
13397 (WebCore::RenderLayer::RenderLayer):
13398 (WebCore::RenderLayer::~RenderLayer):
13399 (WebCore::RenderLayer::paintOverflowControls):
13400 (WebCore::RenderLayer::paintScrollCorner):
13401 (WebCore::RenderLayer::paintResizer):
13402 (WebCore::RenderLayer::styleChanged):
13403 * rendering/RenderLayer.h:
13404 * rendering/RenderScrollbar.cpp:
13405 (WebCore::RenderScrollbar::updateScrollbarPart):
13406 (WebCore::RenderScrollbar::paintPart):
13407 * rendering/RenderScrollbarPart.cpp:
13408 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
13409 (WebCore::RenderScrollbarPart::paintIntoRect):
13410 * rendering/RenderScrollbarPart.h:
13411 * rendering/style/RenderStyle.h:
13412 (WebCore::RenderStyle::):
13413
134142008-10-10 David Hyatt <hyatt@apple.com>
13415
hyatt@apple.comfca034d2008-10-10 21:05:07 +000013416 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
13417
13418 Reviewed by Sam Weinig
13419
13420 No test case possible, since the OS setting can vary.
13421
13422 * css/CSSSelector.cpp:
13423 (WebCore::CSSSelector::extractPseudoType):
13424 * css/CSSSelector.h:
13425 (WebCore::CSSSelector::):
13426 * css/CSSStyleSelector.cpp:
13427 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
13428 * platform/Scrollbar.h:
13429 (WebCore::Scrollbar::styleChanged):
13430 * platform/mac/ScrollbarThemeMac.mm:
13431 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
13432 (WebCore::ScrollbarThemeMac::preferencesChanged):
13433 * rendering/RenderLayer.cpp:
13434 (WebCore::RenderLayer::invalidateScrollbarRect):
13435 * rendering/RenderScrollbar.cpp:
13436 (WebCore::RenderScrollbar::styleChanged):
13437 (WebCore::RenderScrollbar::updateScrollbarPart):
13438 * rendering/RenderScrollbar.h:
13439 * rendering/RenderScrollbarTheme.h:
13440 (WebCore::RenderScrollbarTheme::buttonsPlacement):
13441
timothy@apple.comc1df5732008-10-10 20:27:51 +0000134422008-10-10 Timothy Hatcher <timothy@apple.com>
13443
13444 Fixes a regression with input search fields, where the placeholder text
13445 would not be updated when the value of the placeholder attribute changed.
13446
13447 https://bugs.webkit.org/show_bug.cgi?id=21521
13448
13449 Reviewed by Adele Peterson.
13450
13451 Test: fast/forms/search-placeholder-value-changed.html
13452
13453 * html/HTMLInputElement.cpp:
13454 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
13455 placeholderValueChanged parameter of updatePlaceholderVisibility.
13456 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
13457 for placeholderValueChanged that informs the method that the value changed.
13458 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
13459 updatePlaceholderVisibility method. Made it default to false.
13460
hyatt@apple.comf9e710b2008-10-10 19:32:52 +0000134612008-10-10 David Hyatt <hyatt@apple.com>
13462
hyatt@apple.comc92f8c22008-10-10 20:12:14 +000013463 Allow the track part to have negative margins so that it can slightly overlap buttons. This
13464 is necessary to emulate the Aqua look in CSS.
13465
13466 Reviewed by Sam Weinig
13467
13468 * platform/ScrollbarThemeComposite.cpp:
13469 (WebCore::ScrollbarThemeComposite::paint):
13470 (WebCore::ScrollbarThemeComposite::hitTest):
13471 * rendering/RenderScrollbar.cpp:
13472 (WebCore::RenderScrollbar::setHoveredPart):
13473 (WebCore::RenderScrollbar::trackRect):
13474 * rendering/RenderScrollbar.h:
13475 * rendering/RenderScrollbarPart.cpp:
13476 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
13477 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
13478 * rendering/RenderScrollbarTheme.cpp:
13479 (WebCore::RenderScrollbarTheme::backButtonRect):
13480 (WebCore::RenderScrollbarTheme::forwardButtonRect):
13481 (WebCore::RenderScrollbarTheme::trackRect):
13482
134832008-10-10 David Hyatt <hyatt@apple.com>
13484
hyatt@apple.comf9e710b2008-10-10 19:32:52 +000013485 https://bugs.webkit.org/show_bug.cgi?id=21527
13486
13487 Make CSS scrollbars support :not, :hover and :active.
13488
13489 Reviewed by Adam Roben
13490
13491 Added WebCore/manual-tests/scrollbar-hover-active.html
13492
13493 * css/CSSStyleSelector.cpp:
13494 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
13495 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
13496 * platform/Scrollbar.cpp:
13497 (WebCore::Scrollbar::autoscrollPressedPart):
13498 (WebCore::Scrollbar::startTimerIfNeeded):
13499 (WebCore::Scrollbar::setHoveredPart):
13500 (WebCore::Scrollbar::setPressedPart):
13501 (WebCore::Scrollbar::mouseMoved):
13502 (WebCore::Scrollbar::mouseExited):
13503 (WebCore::Scrollbar::mouseUp):
13504 (WebCore::Scrollbar::mouseDown):
13505 * platform/Scrollbar.h:
13506 * rendering/RenderScrollbar.cpp:
13507 (WebCore::RenderScrollbar::setHoveredPart):
13508 (WebCore::RenderScrollbar::setPressedPart):
13509 (WebCore::RenderScrollbar::updateScrollbarParts):
13510 (WebCore::pseudoForScrollbarPart):
13511 (WebCore::RenderScrollbar::updateScrollbarPart):
13512 * rendering/RenderScrollbar.h:
13513
cmarrin@apple.com274a8cf2008-10-10 18:43:47 +0000135142008-10-10 Chris Marrin <cmarrin@apple.com>
13515
13516 Reviewed by Dan Bernstein.
13517
13518 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
13519 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
13520
13521 Test: transitions/interrupt-zero-duration.html
13522
13523 * page/animation/CompositeAnimation.cpp:
13524 (WebCore::CompositeAnimation::updateTransitions):
13525
kevino@webkit.org0b227f82008-10-10 17:13:46 +0000135262008-10-10 Kevin Ollivier <kevino@theolliviers.com>
13527
13528 wx build fix. Add new scrollbar-related sources.
13529
13530 * WebCoreSources.bkl:
13531
hyatt@apple.com216ac3b2008-10-10 07:15:04 +0000135322008-10-10 David Hyatt <hyatt@apple.com>
13533
hyatt@apple.com676ab7f2008-10-10 16:59:20 +000013534 https://bugs.webkit.org/show_bug.cgi?id=21522
13535
13536 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
13537 created. (Just :hover/:active left to finish it up.)
13538
13539 Reviewed by Adam Roben
13540
13541 Added scrollbars/scrollbar-buttons.html
13542
13543 * css/CSSStyleSelector.cpp:
13544 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
13545
135462008-10-10 David Hyatt <hyatt@apple.com>
13547
hyatt@apple.com08425212008-10-10 16:40:26 +000013548 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
13549 back/forward to decrement/increment. Adding start/end pseudoclasses.
13550
13551 Reviewed by Eric Seidel
13552
13553 * css/CSSSelector.cpp:
13554 (WebCore::CSSSelector::extractPseudoType):
13555 * css/CSSSelector.h:
13556 (WebCore::CSSSelector::):
13557 * css/CSSStyleSelector.cpp:
13558 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
13559
135602008-10-10 David Hyatt <hyatt@apple.com>
13561
hyatt@apple.com216ac3b2008-10-10 07:15:04 +000013562 Switch window-active to window-inactive, since that will work better as far as degrading in other
13563 browsers.
13564
13565 Reviewed by Tim Hatcher
13566
13567 * css/CSSSelector.cpp:
13568 (WebCore::CSSSelector::extractPseudoType):
13569 * css/CSSSelector.h:
13570 (WebCore::CSSSelector::):
13571 * css/CSSStyleSelector.cpp:
13572 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
13573
cmarrin@apple.com1386c1c2008-10-10 18:04:20 +0000135742008-10-09 Chris Marrin <cmarrin@apple.com>
13575
13576 Reviewed by Dan Bernstein.
13577
13578 https://bugs.webkit.org/show_bug.cgi?id=21310
13579
13580 Redesigned how animation events are sent in order to get rid of
13581 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
13582 are now ref counted. While calling the event handler, I keep a
13583 reference to this class to avoid it getting destroyed out from under me.
13584
13585 I also moved most of the functionality of CompositeAnimation to
13586 and internal class (CompositeAnimationPrivate) to reduce the exposure
13587 of the internals of the various animation classes.
13588
13589 We have several transition and animation LayoutTests which verify that
13590 this fix works as expected and continues to avoid crashes.
13591
13592 * page/animation/AnimationBase.cpp:
13593 (WebCore::AnimationBase::AnimationBase):
13594 * page/animation/AnimationBase.h:
13595 (WebCore::AnimationBase::cancelTimers):
13596 (WebCore::AnimationBase::waitingForStyleAvailable):
13597 * page/animation/CompositeAnimation.cpp:
13598 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
13599 (WebCore::CompositeAnimationPrivate::suspended):
13600 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
13601 (WebCore::CompositeAnimationPrivate::updateTransitions):
13602 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
13603 (WebCore::CompositeAnimationPrivate::animate):
13604 (WebCore::CompositeAnimationPrivate::setAnimating):
13605 (WebCore::CompositeAnimationPrivate::animating):
13606 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
13607 (WebCore::CompositeAnimationPrivate::resetTransitions):
13608 (WebCore::CompositeAnimationPrivate::resetAnimations):
13609 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
13610 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
13611 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
13612 (WebCore::CompositeAnimationPrivate::suspendAnimations):
13613 (WebCore::CompositeAnimationPrivate::resumeAnimations):
13614 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
13615 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
13616 (WebCore::compareAnimationIndices):
13617 (WebCore::CompositeAnimationPrivate::styleAvailable):
13618 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
13619 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
13620 (WebCore::CompositeAnimation::CompositeAnimation):
13621 (WebCore::CompositeAnimation::~CompositeAnimation):
13622 (WebCore::CompositeAnimation::animate):
13623 (WebCore::CompositeAnimation::animating):
13624 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
13625 (WebCore::CompositeAnimation::resetTransitions):
13626 (WebCore::CompositeAnimation::suspendAnimations):
13627 (WebCore::CompositeAnimation::resumeAnimations):
13628 (WebCore::CompositeAnimation::suspended):
13629 (WebCore::CompositeAnimation::styleAvailable):
13630 (WebCore::CompositeAnimation::setAnimating):
13631 (WebCore::CompositeAnimation::isAnimatingProperty):
13632 (WebCore::CompositeAnimation::setAnimationStartTime):
13633 (WebCore::CompositeAnimation::setTransitionStartTime):
13634 (WebCore::CompositeAnimation::overrideImplicitAnimations):
13635 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
13636 * page/animation/CompositeAnimation.h:
13637 * page/animation/ImplicitAnimation.cpp:
13638 (WebCore::ImplicitAnimation::sendTransitionEvent):
13639 * page/animation/ImplicitAnimation.h:
13640 (WebCore::ImplicitAnimation::create):
13641 * page/animation/KeyframeAnimation.cpp:
13642 (WebCore::KeyframeAnimation::sendAnimationEvent):
13643 * page/animation/KeyframeAnimation.h:
13644 (WebCore::KeyframeAnimation::create):
13645
hyatt@apple.come784a792008-10-10 05:56:10 +0000136462008-10-09 David Hyatt <hyatt@apple.com>
13647
hyatt@apple.come3803262008-10-10 07:04:38 +000013648 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
13649 is active as well.
13650
13651 Reviewed by Tim Hatcher
13652
13653 Added scrollbars/scrollbar-orientation.html
13654
13655 * css/CSSSelector.cpp:
13656 (WebCore::CSSSelector::extractPseudoType):
13657 * css/CSSSelector.h:
13658 (WebCore::CSSSelector::):
13659 * css/CSSStyleSelector.cpp:
13660 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
13661 * platform/Scrollbar.cpp:
13662 (WebCore::Scrollbar::isWindowActive):
13663 * platform/Scrollbar.h:
13664 * rendering/RenderScrollbar.cpp:
13665 (WebCore::RenderScrollbar::paint):
13666 (WebCore::RenderScrollbar::partForStyleResolve):
13667 * rendering/RenderScrollbar.h:
13668
136692008-10-09 David Hyatt <hyatt@apple.com>
13670
hyatt@apple.come784a792008-10-10 05:56:10 +000013671 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
13672 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
13673
13674 Reviewed by Tim Hatcher
13675
13676 Added scrollbars/disabled-scrollbar.html
13677
13678 * css/CSSStyleSelector.cpp:
13679 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
13680 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
13681 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
13682 * css/CSSStyleSelector.h:
13683 * rendering/RenderObject.cpp:
13684 (WebCore::RenderObject::getPseudoStyle):
13685 * rendering/RenderObject.h:
13686 * rendering/RenderScrollbar.cpp:
13687 (WebCore::RenderScrollbar::setEnabled):
13688 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
13689 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
13690 (WebCore::RenderScrollbar::paintPart):
13691 * rendering/RenderScrollbar.h:
13692
eric.carlson@apple.com24750582008-10-10 04:04:15 +0000136932008-10-09 Eric Carlson <eric.carlson@apple.com>
13694
13695 Media controls should not show when element is not visible
13696
13697 https://bugs.webkit.org/show_bug.cgi?id=21155
13698
13699 Reviewed by Adele Peterson.
13700
13701 * html/HTMLMediaElement.cpp:
13702 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
13703 in sync with visibility changes
13704 * html/HTMLMediaElement.h:
13705 * rendering/RenderMedia.cpp:
13706 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
13707 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
13708 if element is visible or not. Don't animate controller visibility when change triggered by
13709 showing or hiding media element.
13710 * rendering/RenderMedia.h: declare m_previousVisible
13711
timothy@apple.com746258b2008-10-10 03:23:12 +0000137122008-10-09 Timothy Hatcher <timothy@apple.com>
13713
13714 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
13715 availability macros and version macros.
13716
13717 https://bugs.webkit.org/show_bug.cgi?id=21496
13718 rdar://problem/6259225
13719
13720 Reviewed by Sam Weinig.
13721
13722 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
13723 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
13724 and add an #if around the enum.
13725 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
13726 comment to match the other headers.
13727 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
13728 * bindings/objc/DOMObject.h: Add a version #if around class interface.
13729 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
13730 and add a version #if around the enum.
13731 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
13732 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
13733 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
13734 when they where added to WebKit. Also annotate individual methods that are
13735 deprecated or where added after the class was added to WebKit.
13736 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
13737 since this header is included by most DOM headers. Annotate the JSObject method.
13738
13739 * bindings/scripts/CodeGeneratorObjC.pm:
13740 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
13741 And parse out the availability version for the class/protocol. Default to
13742 WEBKIT_VERSION_LATEST if the class is new.
13743 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
13744 interface availability version check if the class has a required version. Create
13745 a public interface key (used to lookup in $publicInterfaces) and make a declaration
13746 suffix that includes the availability macro (if needed). Use the "available in 1.3
13747 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
13748 the default availability macro for old style methods. Tweak line breaks in the generated
13749 headers to look good and not have too many extra lines.
13750
simon.fraser@apple.coma89b8cd2008-10-10 03:15:31 +0000137512008-10-09 Simon Fraser <simon.fraser@apple.com>
13752
13753 Reviewed by Dave Hyatt
13754
13755 https://bugs.webkit.org/show_bug.cgi?id=20947
13756
13757 Refactor setStyle() methods into styleWillChange()
13758 and styleDidChange(), so most of the setStyle() overrides can
13759 be removed.
13760
13761 * rendering/RenderBR.cpp:
13762 (WebCore::RenderBR::styleDidChange):
13763 * rendering/RenderBR.h:
13764 * rendering/RenderBlock.cpp:
13765 (WebCore::RenderBlock::styleWillChange):
13766 (WebCore::RenderBlock::styleDidChange):
13767 * rendering/RenderBlock.h:
13768 * rendering/RenderBox.cpp:
13769 (WebCore::RenderBox::~RenderBox):
13770 (WebCore::RenderBox::destroy):
13771 (WebCore::RenderBox::styleWillChange):
13772 (WebCore::RenderBox::styleDidChange):
13773 * rendering/RenderBox.h:
13774 * rendering/RenderButton.cpp:
13775 (WebCore::RenderButton::styleWillChange):
13776 (WebCore::RenderButton::styleDidChange):
13777 * rendering/RenderButton.h:
13778 * rendering/RenderFieldset.cpp:
13779 (WebCore::RenderFieldset::styleDidChange):
13780 * rendering/RenderFieldset.h:
13781 * rendering/RenderFileUploadControl.cpp:
13782 (WebCore::RenderFileUploadControl::styleDidChange):
13783 * rendering/RenderFileUploadControl.h:
13784 * rendering/RenderInline.cpp:
13785 (WebCore::RenderInline::styleDidChange):
13786 * rendering/RenderInline.h:
13787 * rendering/RenderLayer.cpp:
13788 (WebCore::RenderLayer::styleChanged):
13789 * rendering/RenderLayer.h:
13790 * rendering/RenderListBox.cpp:
13791 (WebCore::RenderListBox::styleDidChange):
13792 * rendering/RenderListBox.h:
13793 * rendering/RenderListItem.cpp:
13794 (WebCore::RenderListItem::styleDidChange):
13795 * rendering/RenderListItem.h:
13796 * rendering/RenderListMarker.cpp:
13797 (WebCore::RenderListMarker::styleWillChange):
13798 (WebCore::RenderListMarker::styleDidChange):
13799 * rendering/RenderListMarker.h:
13800 * rendering/RenderMenuList.cpp:
13801 (WebCore::RenderMenuList::styleDidChange):
13802 * rendering/RenderMenuList.h:
13803 * rendering/RenderObject.cpp:
13804 (WebCore::RenderObject::setStyle):
13805 (WebCore::RenderObject::setStyleInternal):
13806 (WebCore::RenderObject::styleWillChange):
13807 (WebCore::RenderObject::styleDidChange):
13808 * rendering/RenderObject.h:
13809 * rendering/RenderReplaced.cpp:
13810 (WebCore::RenderReplaced::styleDidChange):
13811 * rendering/RenderReplaced.h:
13812 * rendering/RenderSVGGradientStop.cpp:
13813 (WebCore::RenderSVGGradientStop::styleDidChange):
13814 * rendering/RenderSVGGradientStop.h:
13815 * rendering/RenderScrollbarPart.cpp:
13816 (WebCore::RenderScrollbarPart::styleDidChange):
13817 * rendering/RenderScrollbarPart.h:
13818 * rendering/RenderSlider.cpp:
13819 (WebCore::RenderSlider::styleDidChange):
13820 * rendering/RenderSlider.h:
13821 * rendering/RenderTable.cpp:
13822 (WebCore::RenderTable::styleDidChange):
13823 * rendering/RenderTable.h:
13824 * rendering/RenderTableCell.cpp:
13825 (WebCore::RenderTableCell::styleWillChange):
13826 (WebCore::RenderTableCell::styleDidChange):
13827 * rendering/RenderTableCell.h:
13828 * rendering/RenderTableRow.cpp:
13829 (WebCore::RenderTableRow::styleWillChange):
13830 * rendering/RenderTableRow.h:
13831 * rendering/RenderText.cpp:
13832 (WebCore::RenderText::styleDidChange):
13833 * rendering/RenderText.h:
13834 * rendering/RenderTextControl.cpp:
13835 (WebCore::RenderTextControl::styleDidChange):
13836 * rendering/RenderTextControl.h:
13837 * rendering/RenderWidget.cpp:
13838 (WebCore::RenderWidget::styleDidChange):
13839 * rendering/RenderWidget.h:
13840
hyatt@apple.com2e4835d2008-10-10 02:33:16 +0000138412008-10-09 David Hyatt <hyatt@apple.com>
13842
hyatt@apple.com1d089852008-10-10 03:25:37 +000013843 Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away. When our widget
hyatt@apple.comb2063c12008-10-10 03:13:07 +000013844 parent is nulled out is a good time.
13845
13846 Reviewed by Oliver Hunt
13847
13848 * rendering/RenderScrollbar.cpp:
13849 (WebCore::RenderScrollbar::~RenderScrollbar):
13850 (WebCore::RenderScrollbar::setParent):
13851 (WebCore::RenderScrollbar::updateScrollbarPart):
13852 * rendering/RenderScrollbar.h:
13853
138542008-10-09 David Hyatt <hyatt@apple.com>
13855
hyatt@apple.com2e4835d2008-10-10 02:33:16 +000013856 https://bugs.webkit.org/show_bug.cgi?id=21446
13857
13858 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
13859 orientation and back vs. forward on the buttons, but it's a start.
13860
13861 Reviewed by Oliver Hunt
13862
13863 Added scrollbars/basic-scrollbar.html
13864
13865 * WebCore.xcodeproj/project.pbxproj:
13866 * css/CSSSelector.cpp:
13867 (WebCore::CSSSelector::extractPseudoType):
13868 * css/CSSSelector.h:
13869 (WebCore::CSSSelector::):
13870 * css/CSSStyleSelector.cpp:
13871 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
13872 * platform/ScrollTypes.h:
13873 (WebCore::):
13874 * platform/Scrollbar.h:
13875 (WebCore::Scrollbar::styleChanged):
13876 * platform/ScrollbarThemeComposite.cpp:
13877 (WebCore::ScrollbarThemeComposite::paint):
13878 (WebCore::ScrollbarThemeComposite::splitTrack):
13879 * platform/ScrollbarThemeComposite.h:
13880 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
13881 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
13882 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
13883 * platform/win/ScrollbarThemeSafari.cpp:
13884 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
13885 * platform/win/ScrollbarThemeSafari.h:
13886 * platform/win/ScrollbarThemeWin.cpp:
13887 (WebCore::ScrollbarThemeWin::paintTrack):
13888 * platform/win/ScrollbarThemeWin.h:
13889 * rendering/RenderLayer.cpp:
13890 (WebCore::RenderLayer::createScrollbar):
13891 (WebCore::RenderLayer::styleChanged):
13892 * rendering/RenderScrollbar.cpp: Added.
13893 (WebCore::RenderScrollbar::createCustomScrollbar):
13894 (WebCore::RenderScrollbar::RenderScrollbar):
13895 (WebCore::RenderScrollbar::~RenderScrollbar):
13896 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
13897 (WebCore::RenderScrollbar::updateScrollbarParts):
13898 (WebCore::RenderScrollbar::updateScrollbarPart):
13899 (WebCore::RenderScrollbar::paintPart):
13900 (WebCore::RenderScrollbar::buttonRect):
13901 (WebCore::RenderScrollbar::minimumThumbLength):
13902 * rendering/RenderScrollbar.h: Added.
13903 (WebCore::RenderScrollbar::styleChanged):
13904 (WebCore::RenderScrollbar::owningRenderer):
13905 * rendering/RenderScrollbarPart.cpp: Added.
13906 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
13907 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
13908 (WebCore::RenderScrollbarPart::layout):
13909 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
13910 (WebCore::RenderScrollbarPart::layoutVerticalPart):
13911 (WebCore::calcScrollbarThicknessUsing):
13912 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
13913 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
13914 (WebCore::RenderScrollbarPart::calcPrefWidths):
13915 (WebCore::RenderScrollbarPart::setStyle):
13916 * rendering/RenderScrollbarPart.h: Added.
13917 (WebCore::RenderScrollbarPart::renderName):
13918 (WebCore::RenderScrollbarPart::requiresLayer):
13919 * rendering/RenderScrollbarTheme.cpp: Added.
13920 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
13921 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
13922 (WebCore::RenderScrollbarTheme::hasButtons):
13923 (WebCore::RenderScrollbarTheme::hasThumb):
13924 (WebCore::RenderScrollbarTheme::minimumThumbLength):
13925 (WebCore::RenderScrollbarTheme::backButtonRect):
13926 (WebCore::RenderScrollbarTheme::forwardButtonRect):
13927 (WebCore::RenderScrollbarTheme::trackRect):
13928 (WebCore::RenderScrollbarTheme::paintScrollCorner):
13929 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
13930 (WebCore::RenderScrollbarTheme::paintTrackBackground):
13931 (WebCore::RenderScrollbarTheme::paintTrackPiece):
13932 (WebCore::RenderScrollbarTheme::paintButton):
13933 (WebCore::RenderScrollbarTheme::paintThumb):
13934 * rendering/RenderScrollbarTheme.h: Added.
13935 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
13936 (WebCore::RenderScrollbarTheme::scrollbarThickness):
13937 (WebCore::RenderScrollbarTheme::buttonsPlacement):
13938 (WebCore::RenderScrollbarTheme::supportsControlTints):
13939 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
13940 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
13941 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
13942 (WebCore::RenderScrollbarTheme::registerScrollbar):
13943 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
13944 * rendering/style/RenderStyle.h:
13945 (WebCore::RenderStyle::):
13946
eric@webkit.org3df115d2008-10-10 00:08:44 +0000139472008-10-09 Eric Seidel <eric@webkit.org>
13948
13949 Reviewed by Oliver Hunt.
eric@webkit.org25626592008-10-10 02:26:54 +000013950
13951 Fix Canvex DOOM Game
13952 Gradient clips were not getting cleared after filling the
13953 gradient, this was causing nothing to draw in Canvex
13954 https://bugs.webkit.org/show_bug.cgi?id=21498
13955
13956 Tests forthcoming.
13957
13958 * WebCore.xcodeproj/project.pbxproj:
13959 * platform/graphics/cg/GraphicsContextCG.cpp:
13960 (WebCore::GraphicsContext::fillPath):
13961 (WebCore::GraphicsContext::strokePath):
13962 (WebCore::GraphicsContext::fillRect):
13963
139642008-10-09 Eric Seidel <eric@webkit.org>
13965
13966 Reviewed by Oliver Hunt.
eric@webkit.org3df115d2008-10-10 00:08:44 +000013967
13968 Fix transformed patterns
13969 https://bugs.webkit.org/show_bug.cgi?id=21498
13970
13971 Test: fast/canvas/patternfill-repeat.html
13972
13973 * WebCore.xcodeproj/project.pbxproj:
13974 * platform/graphics/GraphicsContext.cpp:
13975 (WebCore::GraphicsContext::setStrokePattern):
13976 (WebCore::GraphicsContext::setFillPattern):
13977 (WebCore::GraphicsContext::setStrokeGradient):
13978 (WebCore::GraphicsContext::setFillGradient):
13979 * platform/graphics/GraphicsContext.h:
13980 * platform/graphics/cairo/GraphicsContextCairo.cpp:
13981 * platform/graphics/cg/GraphicsContextCG.cpp:
13982 (WebCore::applyStrokePattern):
13983 (WebCore::applyFillPattern):
13984 (WebCore::GraphicsContext::drawPath):
13985 (WebCore::GraphicsContext::fillPath):
13986 (WebCore::GraphicsContext::strokePath):
13987 (WebCore::GraphicsContext::fillRect):
13988 * platform/graphics/qt/GraphicsContextQt.cpp:
13989 * platform/graphics/wx/GraphicsContextWx.cpp:
13990
mrowe@apple.coma2e784f2008-10-12 01:38:08 +0000139912008-10-09 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org458871b2008-10-09 23:44:40 +000013992
13993 wx build fixes.
13994
13995 * platform/wx/WidgetWx.cpp:
13996 * plugins/wx/PluginViewWx.cpp:
13997 (WebCore::PluginView::invalidateRect):
13998 * webcore-base.bkl:
13999
cmarrin@apple.comfe914d22008-10-09 23:04:07 +0000140002008-10-09 Chris Marrin <cmarrin@apple.com>
14001
cmarrin@apple.com8a901162008-10-09 23:59:49 +000014002 Reviewed by Darin Adler.
14003
14004 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
14005 Animations assert when navigating from page
14006
14007 Changed assertions to test the right flag for the paused state
14008
14009 * page/animation/AnimationBase.cpp:
14010 (WebCore::AnimationBase::updateStateMachine):
14011
140122008-10-09 Chris Marrin <cmarrin@apple.com>
14013
cmarrin@apple.comfe914d22008-10-09 23:04:07 +000014014 Reviewed by Dan Bernstein.
14015
14016 Fixed > 180 degree rotation bug
14017 Ensure that validateTransformFunctionList() is called after updating keyframe styles
14018
14019 https://bugs.webkit.org/show_bug.cgi?id=21420
14020
14021 Test: animations/big-rotation.html
14022
14023 * page/animation/KeyframeAnimation.cpp:
14024 (WebCore::KeyframeAnimation::KeyframeAnimation):
14025
beidson@apple.comc90a4422008-10-09 20:43:24 +0000140262008-10-09 Brady Eidson <beidson@apple.com>
14027
14028 Reviewed by Anders
14029
14030 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
14031
14032 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
14033
14034 * loader/FrameLoader.cpp:
14035 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
14036 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
14037 so perform a second null check on the page. Bail if it has been cleared.
14038
alp@webkit.org81906422008-10-09 16:21:43 +0000140392008-10-09 Alp Toker <alp@nuanti.com>
14040
14041 Build fix for recent DOM generation Makefile changes when custom
14042 CFLAGS/CXXFLAGS are passed in.
14043
14044 * GNUmakefile.am:
14045
alp@webkit.orgbedd8d82008-10-09 16:13:53 +0000140462008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
14047
14048 Reviewed by Alp Toker.
14049
14050 https://bugs.webkit.org/show_bug.cgi?id=21390
14051 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
14052
14053 * platform/gtk/ScrollViewGtk.cpp:
14054 (WebCore::ScrollView::platformRemoveChild):
14055
darin@apple.com2d343692008-10-09 08:37:04 +0000140562008-10-09 Darin Adler <darin@apple.com>
14057
14058 - try to fix Qt build
14059
14060 * bridge/qt/qt_runtime.cpp:
14061 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
14062
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +0000140632008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
14064
zimmermann@webkit.orge8c220e2008-10-09 03:54:25 +000014065 Reviewed by Oliver Hunt & Sam Weinig.
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +000014066
14067 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
14068 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
14069 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
14070
14071 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
14072 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
14073 use tree is rebuild.
14074
14075 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
14076 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
14077 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
14078 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
14079 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
14080 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
14081 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
14082 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
14083
14084 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
14085 see resources/use-instanceRoot-event-bubbling.js for details.
14086
14087 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
14088 svg/custom/use-elementInstance-methods.svg (reenabled)
14089 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
14090 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
14091 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
14092 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
14093
14094 * DerivedSources.make:
14095 * GNUmakefile.am:
14096 * WebCore.pro:
14097 * WebCore.vcproj/WebCore.vcproj:
14098 * WebCore.xcodeproj/project.pbxproj:
14099 * bindings/js/JSEventListener.h:
14100 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
14101 * bindings/js/JSEventTarget.cpp:
14102 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
14103 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
14104 * bindings/js/JSSVGElementInstanceCustom.cpp:
14105 (WebCore::JSSVGElementInstance::addEventListener):
14106 (WebCore::JSSVGElementInstance::removeEventListener):
14107 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
14108 * bindings/scripts/CodeGeneratorJS.pm:
14109 * bindings/scripts/CodeGeneratorObjC.pm:
14110 * dom/EventListener.h:
14111 (WebCore::EventListener::wasCreatedFromMarkup):
14112 * dom/EventTargetNode.cpp:
14113 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
14114 (WebCore::EventTargetNode::addEventListener):
14115 (WebCore::EventTargetNode::removeEventListener):
14116 (WebCore::eventTargetAsSVGElementInstance):
14117 (WebCore::eventTargetRespectingSVGTargetRules):
14118 (WebCore::EventTargetNode::dispatchEvent):
14119 (WebCore::EventTargetNode::dispatchGenericEvent):
14120 (WebCore::EventTargetNode::removeEventListenerForType):
14121 * page/EventHandler.cpp:
14122 (WebCore::EventHandler::clear):
14123 (WebCore::instanceAssociatedWithShadowTreeElement):
14124 (WebCore::EventHandler::updateMouseEventTargetNode):
14125 * page/EventHandler.h:
14126 * svg/EventTargetSVGElementInstance.cpp: Removed.
14127 * svg/EventTargetSVGElementInstance.h: Removed.
14128 * svg/SVGElementInstance.cpp:
14129 (WebCore::SVGElementInstance::SVGElementInstance):
14130 (WebCore::SVGElementInstance::~SVGElementInstance):
14131 (WebCore::SVGElementInstance::childNodes):
14132 (WebCore::SVGElementInstance::setShadowTreeElement):
14133 (WebCore::SVGElementInstance::forgetWrapper):
14134 (WebCore::SVGElementInstance::appendChild):
14135 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
14136 (WebCore::SVGElementInstance::setNeedsUpdate):
14137 (WebCore::SVGElementInstance::associatedFrame):
14138 (WebCore::SVGElementInstance::addEventListener):
14139 (WebCore::SVGElementInstance::removeEventListener):
14140 (WebCore::SVGElementInstance::dispatchEvent):
14141 (WebCore::SVGElementInstance::onabort):
14142 (WebCore::SVGElementInstance::setOnabort):
14143 (WebCore::SVGElementInstance::onblur):
14144 (WebCore::SVGElementInstance::setOnblur):
14145 (WebCore::SVGElementInstance::onchange):
14146 (WebCore::SVGElementInstance::setOnchange):
14147 (WebCore::SVGElementInstance::onclick):
14148 (WebCore::SVGElementInstance::setOnclick):
14149 (WebCore::SVGElementInstance::oncontextmenu):
14150 (WebCore::SVGElementInstance::setOncontextmenu):
14151 (WebCore::SVGElementInstance::ondblclick):
14152 (WebCore::SVGElementInstance::setOndblclick):
14153 (WebCore::SVGElementInstance::onerror):
14154 (WebCore::SVGElementInstance::setOnerror):
14155 (WebCore::SVGElementInstance::onfocus):
14156 (WebCore::SVGElementInstance::setOnfocus):
14157 (WebCore::SVGElementInstance::oninput):
14158 (WebCore::SVGElementInstance::setOninput):
14159 (WebCore::SVGElementInstance::onkeydown):
14160 (WebCore::SVGElementInstance::setOnkeydown):
14161 (WebCore::SVGElementInstance::onkeypress):
14162 (WebCore::SVGElementInstance::setOnkeypress):
14163 (WebCore::SVGElementInstance::onkeyup):
14164 (WebCore::SVGElementInstance::setOnkeyup):
14165 (WebCore::SVGElementInstance::onload):
14166 (WebCore::SVGElementInstance::setOnload):
14167 (WebCore::SVGElementInstance::onmousedown):
14168 (WebCore::SVGElementInstance::setOnmousedown):
14169 (WebCore::SVGElementInstance::onmousemove):
14170 (WebCore::SVGElementInstance::setOnmousemove):
14171 (WebCore::SVGElementInstance::onmouseout):
14172 (WebCore::SVGElementInstance::setOnmouseout):
14173 (WebCore::SVGElementInstance::onmouseover):
14174 (WebCore::SVGElementInstance::setOnmouseover):
14175 (WebCore::SVGElementInstance::onmouseup):
14176 (WebCore::SVGElementInstance::setOnmouseup):
14177 (WebCore::SVGElementInstance::onmousewheel):
14178 (WebCore::SVGElementInstance::setOnmousewheel):
14179 (WebCore::SVGElementInstance::onbeforecut):
14180 (WebCore::SVGElementInstance::setOnbeforecut):
14181 (WebCore::SVGElementInstance::oncut):
14182 (WebCore::SVGElementInstance::setOncut):
14183 (WebCore::SVGElementInstance::onbeforecopy):
14184 (WebCore::SVGElementInstance::setOnbeforecopy):
14185 (WebCore::SVGElementInstance::oncopy):
14186 (WebCore::SVGElementInstance::setOncopy):
14187 (WebCore::SVGElementInstance::onbeforepaste):
14188 (WebCore::SVGElementInstance::setOnbeforepaste):
14189 (WebCore::SVGElementInstance::onpaste):
14190 (WebCore::SVGElementInstance::setOnpaste):
14191 (WebCore::SVGElementInstance::ondragenter):
14192 (WebCore::SVGElementInstance::setOndragenter):
14193 (WebCore::SVGElementInstance::ondragover):
14194 (WebCore::SVGElementInstance::setOndragover):
14195 (WebCore::SVGElementInstance::ondragleave):
14196 (WebCore::SVGElementInstance::setOndragleave):
14197 (WebCore::SVGElementInstance::ondrop):
14198 (WebCore::SVGElementInstance::setOndrop):
14199 (WebCore::SVGElementInstance::ondragstart):
14200 (WebCore::SVGElementInstance::setOndragstart):
14201 (WebCore::SVGElementInstance::ondrag):
14202 (WebCore::SVGElementInstance::setOndrag):
14203 (WebCore::SVGElementInstance::ondragend):
14204 (WebCore::SVGElementInstance::setOndragend):
14205 (WebCore::SVGElementInstance::onreset):
14206 (WebCore::SVGElementInstance::setOnreset):
14207 (WebCore::SVGElementInstance::onresize):
14208 (WebCore::SVGElementInstance::setOnresize):
14209 (WebCore::SVGElementInstance::onscroll):
14210 (WebCore::SVGElementInstance::setOnscroll):
14211 (WebCore::SVGElementInstance::onsearch):
14212 (WebCore::SVGElementInstance::setOnsearch):
14213 (WebCore::SVGElementInstance::onselect):
14214 (WebCore::SVGElementInstance::setOnselect):
14215 (WebCore::SVGElementInstance::onselectstart):
14216 (WebCore::SVGElementInstance::setOnselectstart):
14217 (WebCore::SVGElementInstance::onsubmit):
14218 (WebCore::SVGElementInstance::setOnsubmit):
14219 (WebCore::SVGElementInstance::onunload):
14220 (WebCore::SVGElementInstance::setOnunload):
14221 * svg/SVGElementInstance.h:
14222 (WebCore::SVGElementInstance::needsUpdate):
14223 (WebCore::SVGElementInstance::toNode):
14224 (WebCore::SVGElementInstance::toSVGElementInstance):
14225 (WebCore::SVGElementInstance::correspondingElement):
14226 (WebCore::SVGElementInstance::correspondingUseElement):
14227 (WebCore::SVGElementInstance::shadowTreeElement):
14228 (WebCore::SVGElementInstance::parentNode):
14229 (WebCore::SVGElementInstance::previousSibling):
14230 (WebCore::SVGElementInstance::nextSibling):
14231 (WebCore::SVGElementInstance::firstChild):
14232 (WebCore::SVGElementInstance::lastChild):
14233 (WebCore::SVGElementInstance::ownerDocument):
14234 (WebCore::SVGElementInstance::hasChildNodes):
14235 (WebCore::SVGElementInstance::setFirstChild):
14236 (WebCore::SVGElementInstance::setLastChild):
14237 (WebCore::SVGElementInstance::setNextSibling):
14238 (WebCore::SVGElementInstance::setPreviousSibling):
14239 (WebCore::SVGElementInstance::refEventTarget):
14240 (WebCore::SVGElementInstance::derefEventTarget):
14241 * svg/SVGElementInstance.idl:
14242 * svg/SVGStyledElement.cpp:
14243 (WebCore::SVGStyledElement::svgAttributeChanged):
14244 (WebCore::SVGStyledElement::childrenChanged):
14245 * svg/SVGUseElement.cpp:
14246 (WebCore::SVGUseElement::svgAttributeChanged):
14247 (WebCore::shadowTreeContainsChangedNodes):
14248 (WebCore::SVGUseElement::recalcStyle):
14249 (WebCore::dumpInstanceTree):
14250 (WebCore::SVGUseElement::buildPendingResource):
14251 (WebCore::SVGUseElement::buildInstanceTree):
14252 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
14253 * svg/SVGUseElement.h:
14254
weinig@apple.com25cef102008-10-09 00:14:50 +0000142552008-10-08 Sam Weinig <sam@webkit.org>
14256
14257 Reviewed by Cameron Zwarich.
14258
14259 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
14260 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
14261
14262 Update JSRGBColor to use the new static function per getter approach.
14263
14264 Test: fast/dom/css-RGBValue.html
14265
14266 * bindings/js/JSRGBColor.cpp:
14267 (WebCore::):
14268 (jsRGBColorRed):
14269 (jsRGBColorGreen):
14270 (jsRGBColorBlue):
14271 * bindings/js/JSRGBColor.h:
14272
eric@webkit.org4966e4a2008-10-08 22:48:55 +0000142732008-10-08 Eric Seidel <eric@webkit.org>
14274
14275 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
14276
14277 svgElement.className.baseValue = "foo" does not work
14278 https://bugs.webkit.org/show_bug.cgi?id=20651
14279
14280 * dom/StyledElement.cpp:
14281 (WebCore::StyledElement::classAttributeChanged):
14282 (WebCore::StyledElement::parseMappedAttribute):
14283 * dom/StyledElement.h:
14284 * svg/SVGStyledElement.cpp:
14285 (WebCore::SVGStyledElement::svgAttributeChanged):
14286
timothy@apple.com08664892008-10-08 16:41:15 +0000142872008-10-08 Anthony Ricaud <rik24d@gmail.com>
14288
14289 Make the toolbar label text-shadow not disappear when clicking on the
14290 search result count or around the search field.
14291
14292 Reviewed by Timothy Hatcher.
14293
14294 * inspector/front-end/inspector.css:
14295 (.toolbar-item:active .toolbar-label): Make this rule also require the
14296 toggleable class with the toolbar-item class.
14297
hausmann@webkit.orgd6d65cb2008-10-08 13:13:24 +0000142982008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
14299
14300 Reviewed by Simon.
14301
14302 Updated the qrc file for the Web Inspector to contain the current set
14303 of images.
14304
14305 * inspector/front-end/WebKit.qrc:
14306
hausmann@webkit.org49650de2008-10-08 12:43:13 +0000143072008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
14308
14309 Reviewed by Simon.
14310
14311 Fix the linking of applications against WebKit on Qt/Windows.
14312
14313 The prl files that qmake creates are buggy on Unix, but we they're
14314 fine on Windows and we have to have them there in order to get the
14315 dependencies correct.
14316
14317 * WebCore.pro:
14318
hausmann@webkit.org96f013f2008-10-08 12:11:44 +0000143192008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
14320
14321 Reviewed by Simon.
14322
14323 Speed up rectangle filling by not re-creating a QBrush all the time.
14324
14325 This triggers faster path in QPainter where the brush is reused.
14326
14327 * platform/graphics/qt/GraphicsContextQt.cpp:
14328 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
14329 (WebCore::GraphicsContext::fillRect):
14330
hausmann@webkit.orgaf2f03e2008-10-08 09:10:44 +0000143312008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
14332
14333 Reviewed by Simon.
14334
14335 Fixes: Encoding of Qt URLs
14336
14337 This encoding was added by Simon and I because QUrl's
14338 tolerant parser wasn't tolerant enough. Now it is, so we don't need
14339 this anymore.
14340
14341 * platform/qt/KURLQt.cpp:
14342 (WebCore::KURL::operator QUrl):
14343
hausmann@webkit.orgc4b79f02008-10-08 09:10:32 +0000143442008-10-08 Marius Storm-Olsen <marius@trolltech.com>
14345
14346 Reviewed by Simon.
14347
14348 Fixes dependencies in qmake generated visual studio projects.
14349
14350 Only add debug lib name if we're in the debug build_pass, else the release version.
14351 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
14352
14353 * WebCore.pro:
14354
hausmann@webkit.org40df3c32008-10-08 09:10:04 +0000143552008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
14356
14357 Reviewed by Simon.
14358
14359 Fix compilation errors on VS2008 64Bit
14360
14361 * platform/text/TextStream.cpp:
14362 (WebCore::TextStream::operator<<):
14363 * platform/text/TextStream.h:
14364 * plugins/win/PluginViewWin.cpp:
14365 (WebCore::PluginView::init):
14366
alp@webkit.org76e7f9a2008-10-08 00:42:37 +0000143672008-10-07 Alp Toker <alp@nuanti.com>
14368
14369 GTK+ build fix for older automake versions (1.7). Discussed in bug
14370 #21392.
14371
14372 * GNUmakefile.am:
14373
andersca@apple.comdca58502008-10-07 23:31:34 +0000143742008-10-07 Anders Carlsson <andersca@apple.com>
14375
14376 Reviewed by Antti Koivisto.
14377
14378 <rdar://problem/6273887> Crash in ApplicationCacheGroup
14379
14380 Make sure to stop loading even before a cache update is in progress so that the
14381 manifest load will be stopped.
14382
14383 * loader/appcache/ApplicationCacheGroup.cpp:
14384 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
14385 (WebCore::ApplicationCacheGroup::stopLoading):
14386 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
14387
timothy@apple.com59a87132008-10-07 21:49:43 +0000143882008-10-07 Timothy Hatcher <timothy@apple.com>
14389
timothy@apple.com754474e2008-10-07 21:49:55 +000014390 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
14391
14392 https://bugs.webkit.org/show_bug.cgi?id=21433
14393
14394 Reviewed by Sam Weinig.
14395
14396 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
14397 * bindings/objc/DOM.mm: Remove previous category implementations
14398 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
14399 moves ObjCNodeFilterCondition to its own file.
14400 * bindings/objc/DOMTraversal.h: Remove the category methods that added
14401 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
14402 to do since DOmDocument.h is included still, and has these methods.
14403 * bindings/objc/DOMUtility.mm:
14404 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
14405 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
14406 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
14407 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
14408 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
14409 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
14410 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
14411 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
14412 createTreeWalker: methods to DOMDocument.
14413 * bindings/scripts/CodeGeneratorObjC.pm:
14414 (GetObjCTypeGetter): Add a case for NodeFilter.
14415 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
14416 (GenerateImplementation): Remove existing NodeFilter special case that
14417 used the m_filter member variable. Add a new special getter for protocol
14418 types that aren't EventTarget, so the right class is used for NodeFilter.
14419 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
14420 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
14421 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
14422 Rename the entityReferenceExpansion parameter to expandEntityReferences to
14423 match the previous ObjC API.
14424 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
14425 m_filter member variable was never used in practice, it was always nil!
14426 We can remove it and not pad the object because this can't be subclassed.
14427 * dom/TreeWalker.idl: Ditto.
14428
144292008-10-07 Timothy Hatcher <timothy@apple.com>
14430
timothy@apple.com59a87132008-10-07 21:49:43 +000014431 Auto-generate the DOMEventTarget protocol implementation for
14432 DOMNode and DOMSVGElementInstance.
14433
14434 https://bugs.webkit.org/show_bug.cgi?id=21432
14435
14436 Reviewed by Darin Adler.
14437
14438 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
14439 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
14440 ObjCEventListener to it's own file. Remove the manual impelmentations
14441 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
14442 * bindings/objc/DOMEvents.h: Remove the categories that defined
14443 DOMEventTarget for DOMNode and DOMSVGElementInstance.
14444 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
14445 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
14446 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
14447 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
14448 callers from doing a manual deref.
14449 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
14450 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
14451 * bindings/scripts/CodeGeneratorObjC.pm:
14452 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
14453 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
14454 And include EventTargetSVGElementInstance.h for SVGElementInstance.
14455 (GenerateHeader): Remove the check for multiple parents.
14456 (GenerateImplementation): Remove the check for multiple parents. Remove
14457 the @deprecatedFunctions array since deprecated methods get generated
14458 into the main @interface now to work with protocols. Add support
14459 for the EventTargetNodeCast extended attribute. Add support for
14460 EventListener parameters.
14461 * dom/Node.idl: Define superclasses for ObjC so the implementation
14462 and interface implement the DOMEventTarget protocol. Explicitly
14463 specify Object as a superclass to use DOMEventTarget. Object will turn
14464 into DOMObject. This is needed to take the code generator down the right
14465 path of multiple super-classes as protocols. It is ObjC only for legacy
14466 reasons. The event target methods are normally on NodeEventTarget, a
14467 subclass of Node. But the ObjC API has never has this subclass and
14468 they are on DOMNode.
14469 * svg/SVGElementInstance.idl: Ditto.
14470
hyatt@apple.com5c9a9f72008-10-07 21:36:39 +0000144712008-10-07 David Hyatt <hyatt@apple.com>
14472
14473 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
14474
14475 The new pseudo-elements are:
14476 scrollbar
14477 scrollbar-button
14478 scrollbar-corner
14479 scrollbar-thumb
14480 scrollbar-track
14481
14482 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
14483 the following new pseudo-classes:
14484 scrollbar-active
14485 scrollbar-back
14486 scrollbar-forward
14487 scrollbar-horizontal
14488 scrollbar-vertical
14489
14490 Reviewed by Adele
14491
14492 * css/CSSSelector.cpp:
14493 (WebCore::CSSSelector::extractPseudoType):
14494 * css/CSSSelector.h:
14495 (WebCore::CSSSelector::):
14496
timothy@apple.com920feccc2008-10-07 21:08:29 +0000144972008-10-06 Timothy Hatcher <timothy@apple.com>
14498
14499 Add support to the Resources panel for queries like "#123", "foo #123",
14500 "line: 123" and "foo line: 123". These will match the query limiting
14501 the search only to the line specified. If only a line is specified,
14502 the whole line is matched.
14503
14504 https://bugs.webkit.org/show_bug.cgi?id=21422
14505
14506 Reviewed by Darin Adler.
14507
14508 * inspector/front-end/SourceFrame.js:
14509 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
14510 row if the index is greater than the rows collection. Let it return
14511 undefined by indexing out-of-bounds.
14512 * inspector/front-end/SourceView.js:
14513 (WebInspector.SourceView.prototype.performSearch): Add support for
14514 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
14515 Also match the whole query to the whole document in case there are
14516 colors like "#333".
14517
alp@webkit.orge1244662008-10-07 18:28:43 +0000145182008-10-07 Alp Toker <alp@nuanti.com>
14519
14520 Reviewed by Mark Rowe.
14521
14522 https://bugs.webkit.org/show_bug.cgi?id=21392
14523 [GTK] Auto-generate JS DOM binding sources list
14524
14525 Remove the huge lists of generated DOM binding sources and headers in
14526 the build system. These are difficult to maintain and can be derived
14527 automatically.
14528
14529 The new strategy is to re-use the existing lists of IDL sources (which
14530 are needed for dist support anyway). This will also ease the addition
14531 of new language bindings.
14532
14533 * GNUmakefile.am:
14534
vestbo@webkit.org0bed2b22008-10-07 16:30:40 +0000145352008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
14536
14537 Reviewed by Simon.
14538
14539 Don't attempt to paint when updating control tints
14540
14541 We don't have a valid PlatformGraphicsContext so schedule
14542 the dirty scrollbar/scrollview area for repaint instead.
14543
14544 * platform/qt/ScrollbarThemeQt.cpp:
14545 (WebCore::ScrollbarThemeQt::paint):
14546 (WebCore::ScrollbarThemeQt::paintScrollCorner):
14547
zecke@webkit.org270bdd02008-10-07 07:54:06 +0000145482008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
14549
14550 [qt] Build fix after Scrollbar.h and Widget.h changes.
14551
14552 * plugins/qt/PluginViewQt.cpp:
14553 (WebCore::PluginView::getValue):
14554 (WebCore::PluginView::init):
14555
hyatt@apple.com3cb50a82008-10-07 06:58:08 +0000145562008-10-06 David Hyatt <hyatt@apple.com>
14557
14558 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
14559
14560 Reviewed by Sam Weinig
14561
14562 * WebCore.base.exp:
14563 * WebCore.xcodeproj/project.pbxproj:
14564 * loader/EmptyClients.h:
14565 (WebCore::EmptyFrameLoaderClient::hasWebView):
14566 * loader/FrameLoader.cpp:
14567 (WebCore::FrameLoader::loadWithDocumentLoader):
14568 (WebCore::FrameLoader::transitionToCommitted):
14569 * loader/FrameLoaderClient.h:
14570 * page/FocusController.cpp:
14571 (WebCore::FocusController::setActive):
14572 * page/FrameView.cpp:
14573 (WebCore::FrameView::FrameView):
14574 (WebCore::FrameView::init):
14575 (WebCore::FrameView::layoutIfNeededRecursive):
14576 * page/FrameView.h:
14577
mitz@apple.com869c6692b2008-10-07 04:42:51 +0000145782008-10-06 Dan Bernstein <mitz@apple.com>
14579
14580 - build fix
14581
14582 * bindings/objc/DOMEvents.h:
14583
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +0000145842008-10-06 Mark Mentovai <mark@moxienet.com>
14585
eric@webkit.org9e0b3b52008-10-07 01:14:05 +000014586 Reviewed by Tim Hatcher.
14587
14588 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
14589 Platform.h is not available, in preference to #ifdef ENABLE_feature.
14590 #ifdef is wrong now that features are disabled by #defining
14591 ENABLE_feature to 0.
14592
14593 https://bugs.webkit.org/show_bug.cgi?id=21338
14594
14595 * bindings/objc/DOMEvents.h:
14596 * bindings/objc/PublicDOMInterfaces.h:
14597 * dom/Document.idl:
14598 * page/DOMWindow.idl:
14599 * svg/svgtags.in:
14600
146012008-10-06 Mark Mentovai <mark@moxienet.com>
14602
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +000014603 Reviewed by Sam Weinig.
14604
14605 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
14606 to get the declaration for isMainThread().
14607
eric@webkit.org569e8092008-10-07 01:05:34 +0000146082008-10-06 Jeremy Moskovich <jeremy@chromium.org>
14609
eric@webkit.orge8585df2008-10-07 01:09:23 +000014610 Reviewed by Tim Hatcher.
14611
14612 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
14613 to reflect that.
14614
14615 * WebCore.xcodeproj/project.pbxproj:
14616 * platform/mac/WebCoreObjCExtras.c: Removed.
14617 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
14618
146192008-10-06 Jeremy Moskovich <jeremy@chromium.org>
14620
eric@webkit.org569e8092008-10-07 01:05:34 +000014621 Reviewed by Dan Bernstein.
14622
14623 Added C++ forward declaration for the NSURLAuthenticationChallenge class
14624 so that the m_currentMacChallenge variable doesn't cause a
14625 compilation error when ResourceHandleInternal.h is included from a C++ file.
14626 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
14627
14628 * platform/network/ResourceHandleInternal.h:
14629
sfalken@apple.com01dbee12008-10-06 23:47:08 +0000146302008-10-06 Steve Falkenburg <sfalken@apple.com>
14631
sfalken@apple.come897fd92008-10-07 00:17:26 +000014632 Windows build fix.
14633
14634 * WebCore.vcproj/WebCore.vcproj:
14635
146362008-10-06 Steve Falkenburg <sfalken@apple.com>
14637
sfalken@apple.com01dbee12008-10-06 23:47:08 +000014638 https://bugs.webkit.org/show_bug.cgi?id=21416
14639 Add missing null checks identified by Application Verifier.
14640
14641 Reviewed by Darin Adler.
14642
14643 * platform/win/SharedTimerWin.cpp:
14644 (WebCore::clearTimer):
14645
kmccullough@apple.com45a36da2008-10-06 23:08:16 +0000146462008-10-06 Kevin McCullough <kmccullough@apple.com>
14647
kmccullough@apple.com3094b9b2008-10-06 23:15:11 +000014648 Reviewed by Tim Hatcher.
14649
14650 Removed accidentally left in debugging statement.
14651
14652 * inspector/front-end/inspector.js:
14653
146542008-10-06 Kevin McCullough <kmccullough@apple.com>
14655
kmccullough@apple.com47002eb2008-10-06 23:10:09 +000014656 Reviewed by Tim Hatcher and Oliver Hunt.
kmccullough@apple.com45a36da2008-10-06 23:08:16 +000014657
14658 https://bugs.webkit.org/show_bug.cgi?id=21412
14659 Bug 21412: Refactor user initiated profile count to be more stable
14660
14661 * inspector/InspectorController.cpp: Keep track of the user-initiated
14662 profiles here now.
14663 (WebCore::InspectorController::InspectorController):
14664 (WebCore::InspectorController::startUserInitiatedProfiling):
14665 (WebCore::InspectorController::stopUserInitiatedProfiling):
14666 * inspector/InspectorController.h:
14667 The front end will now need to check for the existence of the user-
14668 initiated profile title and use its count instead of keeping its own.
14669 * inspector/front-end/ProfilesPanel.js:
14670
mitz@apple.com1d60e5c2008-10-06 20:25:46 +0000146712008-10-06 Dan Bernstein <mitz@apple.com>
14672
14673 Reviewed by Sam Weinig.
14674
14675 - separate GDI text drawing into its own function
14676
14677 * platform/graphics/win/FontCGWin.cpp:
14678 (WebCore::drawGDIGlyphs):
14679 (WebCore::Font::drawGlyphs):
14680
sfalken@apple.com593331e2008-10-06 19:55:09 +0000146812008-10-03 Steve Falkenburg <sfalken@apple.com>
14682
14683 <rdar://problem/6249833> Fix default button appearance
14684
14685 Reviewed by Adele Peterson.
14686
14687 * rendering/RenderThemeWin.cpp:
14688 (WebCore::RenderThemeWin::supportsFocus):
14689 (WebCore::RenderThemeWin::determineClassicState):
14690 (WebCore::RenderThemeWin::determineButtonState):
14691 (WebCore::RenderThemeWin::getClassicThemeData):
14692 (WebCore::RenderThemeWin::getThemeData):
14693 (WebCore::drawControl):
14694 * rendering/RenderThemeWin.h:
14695
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +0000146962008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
14697
14698 Reviewed by Simon.
14699
vestbo@webkit.orgc5067902008-10-06 18:11:31 +000014700 Add native virtual keycode to PlatformKeyboardEvent
14701
14702 * platform/PlatformKeyboardEvent.h:
14703 * platform/gtk/KeyEventGtk.cpp:
14704 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
14705 * platform/mac/KeyEventMac.mm:
14706 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
14707 * platform/qt/PlatformKeyboardEventQt.cpp:
14708 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
14709 * platform/win/KeyEventWin.cpp:
14710 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
14711 * platform/wx/KeyboardEventWx.cpp:
14712 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
14713
147142008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
14715
14716 Reviewed by Simon.
14717
vestbo@webkit.org89d13712008-10-06 17:51:39 +000014718 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
14719
14720 * platform/text/PlatformString.h:
14721 * platform/text/StringImpl.h:
14722 * platform/text/cf/StringCF.cpp:
14723 * platform/text/cf/StringImplCF.cpp:
14724
147252008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
14726
14727 Reviewed by Simon.
14728
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +000014729 Use bundles on QtWebKit/Mac for platform modules
14730
14731 * platform/FileSystem.h:
14732 * platform/qt/FileSystemQt.cpp:
14733 (WebCore::unloadModule):
14734
hausmann@webkit.org33791a82008-10-06 17:00:48 +0000147352008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
14736
14737 Reviewed by Simon.
14738
14739 Build fix for MinGW.
14740
14741 * platform/win/SystemTimeWin.cpp:
14742 * plugins/win/PluginViewWin.cpp:
14743 (WebCore::PluginView::invalidateRect):
14744
aroben@apple.com5613e512008-10-06 15:39:39 +0000147452008-10-06 Adam Roben <aroben@apple.com>
14746
aroben@apple.combf38ff12008-10-06 15:44:16 +000014747 Mimic the inspector/ directory structure in WebCore.vcproj
14748
14749 * WebCore.vcproj/WebCore.vcproj:
14750
147512008-10-06 Adam Roben <aroben@apple.com>
14752
aroben@apple.com5613e512008-10-06 15:39:39 +000014753 Windows build fix
14754
14755 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
14756 configurations to include WebCore/inspector.
14757
eric@webkit.org15e92962008-10-06 08:23:37 +0000147582008-10-04 Eric Seidel <eric@webkit.org>
14759
14760 Reviewed by Darin Adler.
14761
14762 SVG should support ascent and descent properties <font-face> instead of <font>!
14763 https://bugs.webkit.org/show_bug.cgi?id=21365
14764
14765 Tested by many many existing SVG tests.
14766
14767 * svg/SVGFontFaceElement.cpp:
14768 (WebCore::SVGFontFaceElement::ascent):
14769 (WebCore::SVGFontFaceElement::descent):
14770
mjs@apple.com64662c82008-10-06 06:44:03 +0000147712008-10-05 Darin Fisher <darin@chromium.org>
14772
14773 Reviewed by Eric Seidel.
14774
14775 REGRESSION: crash in ScriptElement::notifyFinished
14776 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
14777
14778 * dom/ScriptElement.cpp:
14779 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
14780 ensure that the ScriptElementData object is not destroyed prematurely.
14781
jmalonzo@webkit.org7cfb4ca2008-10-06 01:43:07 +0000147822008-10-05 Chris Lord <chris@openedhand.com>
14783
14784 Reviewed by Alp Toker. Landed by Jan Alonzo.
14785
14786 https://bugs.webkit.org/show_bug.cgi?id=20624
14787 WebKit-gtk uses deprecated GtkType/GtkObject
14788
14789 * plugins/gtk/gtk2xtbin.c:
14790 (gtk_xtbin_get_type):
14791 * plugins/gtk/gtk2xtbin.h:
14792
jmalonzo@webkit.org1285b2a2008-10-05 21:57:05 +0000147932008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
14794
14795 Reviewed by David Hyatt.
14796
14797 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
14798 https://bugs.webkit.org/show_bug.cgi?id=20725
14799
14800 Updated to ToT by Jan Alonzo.
14801
14802 * plugins/gtk/PluginViewGtk.cpp:
14803 (WebCore::PluginView::getValue):
14804
jmalonzo@webkit.org2b465832008-10-05 21:50:12 +0000148052008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
14806
14807 Reviewed by Darin Adler.
14808
14809 Invalid cast from GdkWindow to GtkWidget
14810 https://bugs.webkit.org/show_bug.cgi?id=21391
14811
14812 Fix a misplaced closing parenthesis to actually cast the widget, not the window
14813
14814 * platform/gtk/PlatformScreenGtk.cpp:
14815 (WebCore::screenDepth):
14816
abarth@webkit.orgfb074382008-10-05 19:12:30 +0000148172008-10-05 Adam Barth <abarth@webkit.org>
14818
14819 Reviewed by Darin Alder.
14820
14821 Attach the Origin header to POST requests to help defend against
14822 cross-site request forgery.
14823
14824 https://bugs.webkit.org/show_bug.cgi?id=20792
14825
14826 Collin Jackson <collinj@webkit.org> also contributed to this patch.
14827
14828 Tests: http/tests/security/originHeader/origin-header-for-data.html
14829 http/tests/security/originHeader/origin-header-for-empty.html
14830 http/tests/security/originHeader/origin-header-for-get.html
14831 http/tests/security/originHeader/origin-header-for-https.html
14832 http/tests/security/originHeader/origin-header-for-post.html
14833
14834 * bindings/js/JSDOMWindowBase.cpp:
14835 (WebCore::createWindow):
14836 * loader/FrameLoader.cpp:
14837 (WebCore::FrameLoader::createWindow):
14838 (WebCore::FrameLoader::urlSelected):
14839 (WebCore::FrameLoader::submitForm):
14840 (WebCore::FrameLoader::outgoingOrigin):
14841 (WebCore::FrameLoader::loadURL):
14842 (WebCore::FrameLoader::addExtraFieldsToRequest):
14843 (WebCore::FrameLoader::loadPostRequest):
14844 (WebCore::FrameLoader::loadResourceSynchronously):
14845 (WebCore::FrameLoader::loadItem):
14846 * loader/FrameLoader.h:
14847 * loader/SubresourceLoader.cpp:
14848 (WebCore::SubresourceLoader::create):
14849 * loader/loader.cpp:
14850 (WebCore::Loader::Host::servePendingRequests):
14851 * platform/SecurityOrigin.cpp:
14852 (WebCore::SecurityOrigin::toHTTPOrigin):
14853 * platform/SecurityOrigin.h:
14854 * platform/network/ResourceRequestBase.h:
14855 (WebCore::ResourceRequestBase::httpOrigin):
14856 (WebCore::ResourceRequestBase::setHTTPOrigin):
14857 (WebCore::ResourceRequestBase::clearHTTPOrigin):
14858 * xml/XMLHttpRequest.cpp:
14859 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
14860 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
14861 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
14862 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
14863
oliver@apple.com12c92c92008-10-05 08:28:51 +0000148642008-10-04 Oliver Hunt <oliver@apple.com>
14865
14866 Reviewed by Tim Hatcher.
14867
14868 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
14869 <https://bugs.webkit.org/show_bug.cgi?id=21381>
14870
14871 If we hit a parsing boundary (end of a packet, etc) in the middle of a
14872 <script> element when we are doing an incremental parse, we exit the
14873 parser, and reenter later when more data is available. During this
14874 reentry we incorrectly reset the scriptStartLineno to the current line
14875 in the parser, which is now part way through the script element.
14876
14877 The solution is to track whether we are entering or reentering the parsing
14878 of a script element. We do this simply by 0 checking scriptStartLineno,
14879 and resetting it after we complete parsing of each script element.
14880
14881 Test: http/tests/incremental/pause-in-script-element.pl
14882
14883 * ChangeLog:
14884 * html/HTMLTokenizer.cpp:
14885 (WebCore::HTMLTokenizer::parseSpecial):
14886 (WebCore::HTMLTokenizer::scriptHandler):
14887
jmalonzo@webkit.orgcc0c46e2008-10-05 06:13:28 +0000148882008-10-04 Alp Toker <alp@nuanti.com>
14889
14890 Reviewed by David Hyatt. Landed by Jan Alonzo.
14891
14892 https://bugs.webkit.org/show_bug.cgi?id=20924
14893 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
14894
14895 https://bugs.webkit.org/show_bug.cgi?id=19578
14896 [CURL] problem in parseDataUrl
14897
14898 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
14899 This patch also fixes encoding support in escaped (non-Base64) data
14900 URLs. All manual data URL tests now pass in both GLib and non-GLib
14901 code paths.
14902
14903 * platform/network/curl/ResourceHandleManager.cpp:
14904 (WebCore::parseDataUrl):
14905
timothy@apple.com5c58fb12008-10-05 04:12:40 +0000149062008-10-04 Timothy Hatcher <timothy@apple.com>
14907
14908 Makes breakpoints and debugging code during page load work in the
14909 Web Inspector's debugger. Specifically, this makes the source
14910 code for loading resources show up in the Scripts panel.
14911
14912 https://bugs.webkit.org/show_bug.cgi?id=19053
14913 rdar://problem/5933408
14914
14915 Reviewed by Mark Rowe.
14916
14917 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
14918 not using tabs and a tab width of 8.
14919 * inspector/InspectorController.cpp:
14920 (WebCore::addResourceSourceToFrame): Return a bool to report if the
14921 source was added successfully or not.
14922 (WebCore::addSourceToFrame): Ditto.
14923 * inspector/front-end/ScriptView.js:
14924 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
14925 Return early if the InspectorController.addSourceToFrame fails.
14926 Moved the delete of the _frameNeedsSetup property after that call so
14927 if the source wasn't added it will be attempted again.
14928 * inspector/front-end/SourceView.js:
14929 (WebInspector.SourceView.prototype.detach): Move a comment.
14930 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
14931 Don't check if the resource is finished or failed, just attempt
14932 to add the source to the frame. WebCore has the source, but the
14933 finished property hasn't been set yet. Return early if the
14934 InspectorController.addSourceToFrame fails. Moved the delete
14935 of the _frameNeedsSetup property after that call so if the source
14936 wasn't added it will be attempted again.
14937 (WebInspector.SourceView.prototype._resourceLoadingFinished):
14938 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
14939 the source frame will we populated again now that the resource
14940 load has finished.
14941 * manual-tests/inspector/debugger-pause-during-load.html: Added.
14942
mrowe@apple.comb3214652008-10-05 03:04:18 +0000149432008-10-04 Mark Rowe <mrowe@apple.com>
14944
14945 Reviewed by Tim Hatcher.
14946
14947 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
14948
14949 * WebCore.xcodeproj/project.pbxproj:
14950
hyatt@apple.coma4a9e252008-10-05 00:55:01 +0000149512008-10-04 David Hyatt <hyatt@apple.com>
14952
14953 https://bugs.webkit.org/show_bug.cgi?id=21373
14954
14955 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
14956 is still present.
14957
14958 Reviewed by Mark Rowe
14959
14960 * page/FrameView.cpp:
14961 (WebCore::FrameView::~FrameView):
14962
weinig@apple.com3b7e4b12008-10-04 22:52:19 +0000149632008-10-04 Sam Weinig <sam@webkit.org>
14964
14965 Reviewed by Dan Bernstein.
14966
14967 Avoid copying a Vector when using getSupportedKeySizes.
14968
14969 * html/HTMLKeygenElement.cpp:
14970 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
14971 * platform/SSLKeyGenerator.h:
14972 * platform/gtk/TemporaryLinkStubs.cpp:
14973 (WebCore::getSupportedKeySizes):
14974 * platform/mac/SSLKeyGeneratorMac.mm:
14975 (WebCore::getSupportedKeySizes):
14976 * platform/qt/TemporaryLinkStubs.cpp:
14977 (WebCore::getSupportedKeySizes):
14978 * platform/win/TemporaryLinkStubs.cpp:
14979 (WebCore::getSupportedKeySizes):
14980 * platform/wx/TemporaryLinkStubs.cpp:
14981 (WebCore::getSupportedKeySizes):
14982
darin@apple.com28f84fc2008-10-04 21:10:00 +0000149832008-10-04 Darin Adler <darin@apple.com>
14984
14985 Reviewed by Cameron Zwarich.
14986
14987 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
14988 Bug 21295: Replace ExecState with a call frame Register pointer
14989
14990 * bindings/js/JSQuarantinedObjectWrapper.cpp:
14991 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
14992 Remove bogus "const".
14993 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
14994
hyatt@apple.comb17c7752008-10-04 21:03:11 +0000149952008-10-04 David Hyatt <hyatt@apple.com>
14996
14997 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
14998
14999 Reviewed by Darin Adler
15000
15001 * WebCore.xcodeproj/project.pbxproj:
15002 * platform/PopupMenuClient.h:
15003 * platform/gtk/PopupMenuGtk.cpp:
15004 (WebCore::PopupMenu::show):
15005 * platform/mac/PopupMenuMac.mm:
15006 (WebCore::PopupMenu::populate):
15007 (WebCore::PopupMenu::show):
15008 * platform/qt/PopupMenuQt.cpp:
15009 (WebCore::PopupMenu::populate):
15010 * platform/win/PopupMenuWin.cpp:
15011 (WebCore::PopupMenu::calculatePositionAndSize):
15012 (WebCore::PopupMenu::paint):
15013 (WebCore::PopupWndProc):
15014 * rendering/RenderMenuList.cpp:
15015 (WebCore::RenderMenuList::itemStyle):
15016 (WebCore::RenderMenuList::menuStyle):
15017 (WebCore::RenderMenuList::hostWindow):
15018 * rendering/RenderMenuList.h:
15019 * rendering/RenderTextControl.cpp:
15020 (WebCore::RenderTextControl::itemStyle):
15021 (WebCore::RenderTextControl::menuStyle):
15022 (WebCore::RenderTextControl::hostWindow):
15023 * rendering/RenderTextControl.h:
15024
pewtermoose@webkit.orgd75c0152008-10-04 18:41:03 +0000150252008-10-04 Matt Lilek <webkit@mattlilek.com>
15026
15027 Build fix - restore Private role to headers that had it before the move.
15028
15029 * WebCore.xcodeproj/project.pbxproj:
15030
darin@apple.com2f394342008-10-04 18:37:11 +0000150312008-10-04 Darin Adler <darin@apple.com>
15032
15033 - try to fix build
15034
15035 * DerivedSources.make: Add new inspector directory to VPATH.
darin@apple.com35f35322008-10-04 18:37:22 +000015036 * GNUmakefile.am: Add new inspector directory to includes.
15037 Re-sort the IDL_BINDINGS list. Add new inspector directory
15038 to VPATH.
darin@apple.com2f394342008-10-04 18:37:11 +000015039
pewtermoose@webkit.org54177d02008-10-04 17:28:44 +0000150402008-10-04 Matt Lilek <webkit@mattlilek.com>
15041
15042 Not reviewed, attempt to fix Gtk build.
15043
15044 * GNUmakefile.am:
15045
timothy@apple.comf51a3aa2008-10-04 08:09:41 +0000150462008-10-03 Timothy Hatcher <timothy@apple.com>
15047
timothy@apple.com9c94f6b2008-10-04 08:10:54 +000015048 Move the Web Inspector files into a top-level "inspector" folder.
15049
15050 https://bugs.webkit.org/show_bug.cgi?id=21359
15051
15052 Reviewed by Dave Hyatt.
15053
15054 * GNUmakefile.am:
15055 * WebCore.pro:
15056 * WebCore.vcproj/WebCore.vcproj:
15057 * WebCore.xcodeproj/project.pbxproj:
15058 * WebCoreSources.bkl:
15059 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
15060 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
15061 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
15062 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
15063 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
15064 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
15065 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
15066 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
15067 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
15068 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
15069 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
15070 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
15071 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
15072 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
15073 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
15074 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
15075 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
15076 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
15077 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
15078 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
15079 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
15080 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
15081 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
15082 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
15083 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
15084 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
15085 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
15086 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
15087 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
15088 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
15089 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
15090 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
15091 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
15092 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
15093 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
15094 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
15095 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
15096 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
15097 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
15098 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
15099 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
15100 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
15101 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
15102 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
15103 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
15104 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
15105 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
15106 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
15107 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
15108 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
15109 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
15110 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
15111 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
15112 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
15113 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
15114 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
15115 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
15116 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
15117 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
15118 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
15119 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
15120 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
15121 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
15122 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
15123 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
15124 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
15125 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
15126 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
15127 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
15128 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
15129 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
15130 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
15131 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
15132 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
15133 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
15134 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
15135 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
15136 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
15137 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
15138 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
15139 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
15140 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
15141 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
15142 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
15143 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
15144 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
15145 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
15146 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
15147 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
15148 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
15149 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
15150 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
15151 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
15152 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
15153 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
15154 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
15155 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
15156 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
15157 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
15158 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
15159 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
15160 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
15161 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
15162 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
15163 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
15164 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
15165 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
15166 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
15167 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
15168 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
15169 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
15170 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
15171 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
15172 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
15173 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
15174 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
15175 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
15176 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
15177 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
15178 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
15179 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
15180 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
15181 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
15182 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
15183 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
15184 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
15185 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
15186 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
15187 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
15188 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
15189 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
15190 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
15191 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
15192 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
15193 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
15194 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
15195 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
15196 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
15197 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
15198 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
15199 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
15200 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
15201 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
15202 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
15203 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
15204 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
15205 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
15206 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
15207 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
15208 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
15209 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
15210 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
15211 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
15212 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
15213 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
15214 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
15215
152162008-10-03 Timothy Hatcher <timothy@apple.com>
15217
timothy@apple.com11eb1a32008-10-04 08:09:52 +000015218 Adds support to the Web Inspector's Elements panel for fast tag name,
15219 class name, id and attribute name searching. The panel first tries
15220 using getElementById, getElementsByClassName and getElementsByTagName
15221 with the search query. Then does a slower search using XPath for partial
15222 matches, text and comment matches.
15223
15224 Adds support for search queries like "<div>", "<h" and "frame>".
15225 These forms limit the search to tag names, text and comment matches.
15226
15227 https://bugs.webkit.org/show_bug.cgi?id=21353
15228
15229 Reviewed by Maciej Stachowiak.
15230
15231 * page/inspector/ElementsPanel.js:
15232 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
15233 support. Add new search functions that try exact matches first.
15234
152352008-10-03 Timothy Hatcher <timothy@apple.com>
15236
timothy@apple.comf51a3aa2008-10-04 08:09:41 +000015237 Changes how searching works in the Web Inspector's Elements
15238 panel. The search tasks are divided into chunks that are small
15239 units of work that are performed at a time interval. This
15240 change also prevents queries that will select all elements,
15241 since that isn't useful.
15242
15243 https://bugs.webkit.org/show_bug.cgi?id=21285
15244
15245 Reviewed by Oliver Hunt.
15246
15247 * page/inspector/ElementsPanel.js:
15248 (WebInspector.ElementsPanel.prototype.searchCancled):
15249 Remove the searchResultsProperty form results since there might
15250 be an unfinished search.
15251 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
15252 documents and search functions into chunks that are performed on
15253 a interval of 25ms. Prevent searches for "//*" and "*".
15254
mjs@apple.com8b246d62008-10-04 07:15:33 +0000152552008-10-03 Maciej Stachowiak <mjs@apple.com>
15256
15257 Reviewed by Cameron Zwarich.
15258
15259 - "this" object in methods called on primitives should be wrapper object
15260 https://bugs.webkit.org/show_bug.cgi?id=21362
15261
15262 Updated so toThis conversion for the split window is handled properly.
15263
15264 * bindings/scripts/CodeGeneratorJS.pm:
15265
weinig@apple.com1b4545c2008-10-04 05:16:40 +0000152662008-10-03 Sam Weinig <sam@webkit.org>
15267
15268 Reviewed by David "The Motivator" Hyatt.
15269
15270 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
15271 Move SecurityOrigin out of platform/ to page/.
15272
15273 It was a layering violation for SecurityOrigin to be in platform
15274 as it depended on FrameLoader.
15275
15276 * GNUmakefile.am:
15277 * WebCore.pro:
15278 * WebCore.vcproj/WebCore.vcproj:
15279 * WebCore.xcodeproj/project.pbxproj:
15280 * WebCoreSources.bkl:
15281 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
15282 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
15283 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
15284 * platform/SecurityOrigin.cpp: Removed.
15285 * platform/SecurityOrigin.h: Removed.
15286 * platform/SecurityOriginHash.h: Removed.
15287
jmalonzo@webkit.org22d7ed12008-10-04 04:24:23 +0000152882008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
15289
15290 Reviewed by Alp Toker.
15291
15292 http://bugs.webkit.org/show_bug.cgi?id=18832
15293 [curl] file upload does not work
15294
15295 The curl_off_t integer type has a different size depending if large
15296 file support is enabled or not. There is no different public API for
15297 the two cases, so the same function accepts a different type based on
15298 a compilation option the could be different in WebKit and libcurl.
15299 To fix the bug we query libcurl at runtime for large file support and
15300 pass the right type based on that.
15301
15302 * platform/network/curl/ResourceHandleManager.cpp:
15303 (WebCore::ResourceHandleManager::setupPOST):
15304
jmalonzo@webkit.org047c3402008-10-04 04:02:30 +0000153052008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
15306
15307 Reviewed by David Hyatt.
15308
15309 Gtk build fixes.
15310
15311 * platform/gtk/FileChooserGtk.cpp:
15312 (WebCore::FileChooser::openFileChooser):
15313 * platform/gtk/PlatformScreenGtk.cpp:
15314 (WebCore::screenDepth):
15315 (WebCore::screenDepthPerComponent):
15316 (WebCore::screenAvailableRect):
15317 * platform/gtk/PopupMenuGtk.cpp:
15318 (WebCore::PopupMenu::show):
15319 * platform/gtk/ScrollViewGtk.cpp:
15320 (WebCore::ScrollView::platformAddChild):
15321 (WebCore::ScrollView::platformRemoveChild):
15322 * platform/gtk/WidgetGtk.cpp:
15323 (WebCore::Widget::setCursor):
15324 * plugins/gtk/PluginViewGtk.cpp:
15325 (WebCore::PluginView::getValue):
15326 (WebCore::PluginView::forceRedraw):
15327 (WebCore::PluginView::init):
15328
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +0000153292008-10-03 David Hyatt <hyatt@apple.com>
15330
hyatt@apple.com55377bb2008-10-04 01:09:37 +000015331 Fix Qt bustage from missing include.
15332
15333 * platform/qt/PlatformScreenQt.cpp:
15334
153352008-10-03 David Hyatt <hyatt@apple.com>
15336
hyatt@apple.comeff53462008-10-04 01:08:35 +000015337 Fix Windows scrollbar bustage in popup menus.
15338
15339 * platform/win/PopupMenuWin.cpp:
15340 (WebCore::PopupWndProc):
15341
153422008-10-03 David Hyatt <hyatt@apple.com>
15343
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +000015344 Fix Windows bustage.
15345
15346 * platform/win/FileChooserWin.cpp:
15347 (WebCore::FileChooser::openFileChooser):
15348 * platform/win/PlatformScreenWin.cpp:
15349 (WebCore::monitorInfoForWidget):
15350 * platform/win/WidgetWin.cpp:
15351 * plugins/win/PluginViewWin.cpp:
15352 (WebCore::PluginView::getValue):
15353 (WebCore::PluginView::forceRedraw):
15354 (WebCore::PluginView::init):
15355
darin@apple.com3d73fee2008-10-03 21:39:16 +0000153562008-10-03 Darin Adler <darin@apple.com>
15357
darin@apple.comc1e2d312008-10-03 22:55:04 +000015358 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
15359 seen on some machines but not others by adding an include.
15360
153612008-10-03 Darin Adler <darin@apple.com>
15362
darin@apple.com682a07e2008-10-03 22:41:30 +000015363 - Qt build fix
15364
15365 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
15366 execute functions. Declarations for these relied on the CodeType
15367 enumeration, which used to be in ExecState.h; but the functions
15368 aren't needed at all.
15369 * bridge/qt/qt_runtime.h: Ditto.
15370
153712008-10-03 Darin Adler <darin@apple.com>
15372
darin@apple.com3d73fee2008-10-03 21:39:16 +000015373 Reviewed by Geoff Garen.
15374
15375 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
15376 Turn ExecState into a call frame pointer.
15377
15378 Remove m_globalObject and m_globalData from ExecState.
15379
15380 * bindings/js/JSDOMWindowBase.cpp:
15381 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
15382 Removed an argument now that JSGlobalObject doesn't need it any more.
15383 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
15384 the JSDOMWindowBaseData constructor, and added the this argument to the
15385 JSGlobalObject constructor. This is because a couple key bits of
15386 initialization moved from the data constructor to the JSGlobalObject
15387 constructor.
15388 * bindings/js/JSDOMWindowBase.h: Ditto.
15389
15390 * bridge/qt/qt_runtime.cpp:
15391 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
15392 * bridge/runtime_method.cpp:
15393 (JSC::RuntimeMethod::RuntimeMethod):
15394 Pass JSGlobalData* instead of ExecState* to the InternalFunction
15395 constructor.
15396
hyatt@apple.com0e7921d2008-10-03 21:16:13 +0000153972008-10-03 David Hyatt <hyatt@apple.com>
15398
15399 Fix Windows/Qt build bustage.
15400
15401 Reviewed by ggaren
15402
15403 * loader/EmptyClients.h:
15404 (WebCore::EmptyChromeClient::platformWindow):
15405 * page/Chrome.cpp:
15406 (WebCore::Chrome::platformWindow):
15407 * page/Chrome.h:
15408 * page/ChromeClient.h:
15409 * platform/HostWindow.h:
15410 * platform/qt/PlatformScreenQt.cpp:
15411 (WebCore::screenDepth):
15412 (WebCore::screenDepthPerComponent):
15413 (WebCore::screenIsMonochrome):
15414 (WebCore::screenRect):
15415 (WebCore::screenAvailableRect):
15416 * platform/qt/PopupMenuQt.cpp:
15417 (WebCore::PopupMenu::show):
15418 * platform/win/PopupMenuWin.cpp:
15419 (WebCore::PopupMenu::show):
15420 (WebCore::PopupMenu::calculatePositionAndSize):
15421 (WebCore::PopupWndProc):
15422
simon.fraser@apple.comed87cd22008-10-03 20:20:01 +0000154232008-10-03 Simon Fraser <simon.fraser@apple.com>
15424
15425 Reviewed by Dave Hyatt
15426
15427 Make setStyle() take a const RenderStyle, to ensure that an
15428 earlier RenderStyle::diff() remains valid.
15429
15430 * rendering/RenderBR.cpp:
15431 * rendering/RenderBR.h:
15432 * rendering/RenderBlock.cpp:
15433 * rendering/RenderBlock.h:
15434 * rendering/RenderBox.cpp:
15435 * rendering/RenderBox.h:
15436 * rendering/RenderButton.cpp:
15437 * rendering/RenderButton.h:
15438 * rendering/RenderFieldset.cpp:
15439 * rendering/RenderFieldset.h:
15440 * rendering/RenderFileUploadControl.cpp:
15441 * rendering/RenderFileUploadControl.h:
15442 * rendering/RenderInline.cpp:
15443 * rendering/RenderInline.h:
15444 * rendering/RenderListBox.cpp:
15445 * rendering/RenderListBox.h:
15446 * rendering/RenderListItem.cpp:
15447 * rendering/RenderListItem.h:
15448 * rendering/RenderListMarker.cpp:
15449 * rendering/RenderListMarker.h:
15450 * rendering/RenderMenuList.cpp:
15451 * rendering/RenderMenuList.h:
15452 * rendering/RenderObject.cpp:
15453 (WebCore::RenderObject::setStyle):
15454 * rendering/RenderObject.h:
15455 * rendering/RenderReplaced.cpp:
15456 * rendering/RenderReplaced.h:
15457 * rendering/RenderSVGBlock.cpp:
15458 (WebCore::RenderSVGBlock::setStyle):
15459 * rendering/RenderSVGBlock.h:
15460 * rendering/RenderSVGGradientStop.cpp:
15461 * rendering/RenderSVGGradientStop.h:
15462 * rendering/RenderSlider.cpp:
15463 * rendering/RenderSlider.h:
15464 * rendering/RenderTable.cpp:
15465 * rendering/RenderTable.h:
15466 * rendering/RenderTableCell.cpp:
15467 * rendering/RenderTableCell.h:
15468 * rendering/RenderTableRow.cpp:
15469 * rendering/RenderTableRow.h:
15470 * rendering/RenderText.cpp:
15471 * rendering/RenderText.h:
15472 * rendering/RenderTextControl.cpp:
15473 * rendering/RenderTextControl.h:
15474 * rendering/RenderWidget.cpp:
15475 * rendering/RenderWidget.h:
15476 * rendering/style/RenderStyle.h:
15477 (WebCore::RenderStyle::isDisplayReplacedType):
15478 (WebCore::RenderStyle::isDisplayInlineType):
15479
hyatt@apple.com1ae34462008-10-03 19:17:35 +0000154802008-10-03 David Hyatt <hyatt@apple.com>
15481
hyatt@apple.com938a55f2008-10-03 20:10:32 +000015482 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
15483 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
15484 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
15485 that will work properly for hit testing. This patch just stubs out that method to return the same
15486 event untransformed.
15487
15488 Reviewed by Darin Adler
15489
15490 * page/EventHandler.cpp:
15491 (WebCore::EventHandler::handleMouseDoubleClickEvent):
15492 (WebCore::EventHandler::handleMouseMoveEvent):
15493 (WebCore::EventHandler::handleMouseReleaseEvent):
15494 (WebCore::EventHandler::passMousePressEventToScrollbar):
15495 * page/gtk/EventHandlerGtk.cpp:
15496 * page/mac/EventHandlerMac.mm:
15497 * page/qt/EventHandlerQt.cpp:
15498 * page/win/EventHandlerWin.cpp:
15499 * page/wx/EventHandlerWx.cpp:
15500 * platform/Scrollbar.cpp:
15501 (WebCore::Scrollbar::mouseMoved):
15502 (WebCore::Scrollbar::mouseExited):
15503 (WebCore::Scrollbar::mouseUp):
15504 (WebCore::Scrollbar::mouseDown):
15505 (WebCore::Scrollbar::transformEvent):
15506 * platform/Scrollbar.h:
15507
155082008-10-03 David Hyatt <hyatt@apple.com>
15509
hyatt@apple.com1ae34462008-10-03 19:17:35 +000015510 https://bugs.webkit.org/show_bug.cgi?id=21340
15511
15512 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
15513
15514 Reviewed by Dan Bernstein & Darin Adler
15515
15516 * platform/ScrollView.cpp:
15517 (WebCore::ScrollView::addChild):
15518 * platform/Widget.cpp:
15519 (WebCore::Widget::init):
15520 * platform/Widget.h:
15521 * platform/mac/WidgetMac.mm:
15522 * platform/win/PopupMenuWin.cpp:
15523 (WebCore::PopupMenu::show):
15524
adele@apple.come31aa912008-10-03 19:06:28 +0000155252008-10-03 Adele Peterson <adele@apple.com>
15526
15527 Reviewed by Sam Weinig.
15528
15529 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
15530 Return early if settings is nil.
15531
rwlbuis@webkit.orgeba93012008-10-03 19:00:22 +0000155322008-10-03 Rob Buis <buis@kde.org>
15533
15534 Reviewed by Darin.
15535
15536 https://bugs.webkit.org/show_bug.cgi?id=20134
15537 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
15538
15539 Make sure the input element gets the right default value when no value is set.
15540
15541 Test: fast/forms/range-default-value.html
15542
15543 * rendering/RenderSlider.cpp:
15544 (WebCore::RenderSlider::setPositionFromValue):
15545
hyatt@apple.com8de3eb72008-10-03 18:29:28 +0000155462008-10-03 David Hyatt <hyatt@apple.com>
15547
15548 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
15549 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
15550 platform-specific init/destroy methods.
15551
15552 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
15553
15554 Reviewed by Darin Adler
15555
15556 * WebCore.vcproj/WebCore.vcproj:
15557 * platform/ScrollView.cpp:
15558 (WebCore::ScrollView::ScrollView):
15559 (WebCore::ScrollView::~ScrollView):
15560 (WebCore::ScrollView::platformInit):
15561 (WebCore::ScrollView::platformDestroy):
15562 (WebCore::ScrollView::platformAddChild):
15563 (WebCore::ScrollView::platformRemoveChild):
15564 * platform/ScrollView.h:
15565 * platform/gtk/ScrollViewGtk.cpp:
15566 (WebCore::ScrollView::platformInit):
15567 (WebCore::ScrollView::platformDestroy):
15568 * platform/mac/ScrollViewMac.mm:
15569 * platform/qt/ScrollViewQt.cpp:
15570 (WebCore::ScrollView::platformInit):
15571 (WebCore::ScrollView::platformDestroy):
15572 * platform/win/ScrollViewWin.cpp: Removed.
15573 * platform/wx/ScrollViewWx.cpp:
15574 (WebCore::ScrollView::platformInit):
15575 (WebCore::ScrollView::platformDestroy):
15576 (WebCore::ScrollView::setPlatformWidget):
15577
adele@apple.comb1dd0a62008-10-03 18:13:28 +0000155782008-10-03 Adele Peterson <adele@apple.com>
15579
15580 Reviewed by Dan Bernstein.
15581
15582 Fix for <rdar://problem/6012018>
15583 https://bugs.webkit.org/show_bug.cgi?id=21335
15584 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
15585
15586 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
15587
hausmann@webkit.org2497ae82008-10-03 16:02:54 +0000155882008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
15589
15590 Build fix.
15591
15592 * platform/qt/WidgetQt.cpp:
15593 (WebCore::Widget::invalidateRect):
15594
alp@webkit.org2122a042008-10-03 12:38:12 +0000155952008-10-03 Alp Toker <alp@nuanti.com>
15596
alp@webkit.orgabc5b712008-10-03 13:36:23 +000015597 Remove some left-over GTK+ includes. No change in functionality.
15598
15599 * platform/Cursor.h:
15600 * platform/graphics/Icon.h:
15601 * platform/gtk/RenderThemeGtk.h:
15602
156032008-10-03 Alp Toker <alp@nuanti.com>
15604
alp@webkit.org2122a042008-10-03 12:38:12 +000015605 Build fix for trailing comment after #endif
15606
15607 * dom/ElementRareData.h:
15608
hyatt@apple.comd664bd52008-10-03 09:03:43 +0000156092008-10-03 David Hyatt <hyatt@apple.com>
15610
15611 Remove addToDirtyRegion.
15612
15613 Reviewed by Oliver Hunt
15614
15615 * page/Chrome.cpp:
15616 * page/Chrome.h:
15617 * page/ChromeClient.h:
15618 * platform/ScrollView.h:
15619 * platform/gtk/ScrollViewGtk.cpp:
15620 * platform/qt/ScrollViewQt.cpp:
15621 * platform/win/ScrollViewWin.cpp:
15622
mitz@apple.com810de662008-10-03 09:00:08 +0000156232008-10-03 Dan Bernstein <mitz@apple.com>
15624
15625 Reviewed by Maciej Stachowiak.
15626
15627 - fix a CachedResource leak introduced in r37176
15628
15629 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
15630 afterwards bail out of the outer pruneDeadResources().
15631
15632 * loader/Cache.cpp:
15633 (WebCore::Cache::Cache):
15634 (WebCore::Cache::pruneDeadResources):
15635 (WebCore::Cache::remove):
15636 * loader/Cache.h:
15637
hyatt@apple.com38d8a8a2008-10-03 08:50:33 +0000156382008-10-03 David Hyatt <hyatt@apple.com>
15639
15640 https://bugs.webkit.org/show_bug.cgi?id=21330
15641
15642 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
15643 scrollbars.
15644
15645 Reviewed by Oliver Hunt
15646
15647 * platform/ScrollView.cpp:
15648 (WebCore::ScrollView::setHasHorizontalScrollbar):
15649 (WebCore::ScrollView::setHasVerticalScrollbar):
15650 (WebCore::ScrollView::platformHasHorizontalAdjustment):
15651 (WebCore::ScrollView::platformHasVerticalAdjustment):
15652 * platform/ScrollView.h:
15653 * platform/gtk/ScrollViewGtk.cpp:
15654 (WebCore::ScrollView::adjustmentChanged):
15655 (WebCore::ScrollView::ScrollView):
15656 (WebCore::ScrollView::~ScrollView):
15657 (WebCore::ScrollView::setGtkAdjustments):
15658 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
15659 (WebCore::ScrollView::platformHandleVerticalAdjustment):
15660
jchaffraix@webkit.org8241c5e2008-10-03 08:15:36 +0000156612008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
15662
15663 Reviewed by Maciej Stachowiak.
15664
15665 Bug 21106: .in format discussed changes
15666 https://bugs.webkit.org/show_bug.cgi?id=21106
15667
15668 Change "upperCase" to "interfaceName" per-tag parameter as
15669 discussed on the mailing list. Removed the per-attribute version
15670 as it was not used.
15671
15672 Also add the "Element" suffix to all interfaceName parameter to match
15673 the class name (and thus remove it from make_names.pl).
15674
15675 * dom/make_names.pl:
15676 * html/HTMLTagNames.in:
15677 * svg/svgtags.in:
15678
hyatt@apple.comf0a13272008-10-03 07:38:27 +0000156792008-10-03 David Hyatt <hyatt@apple.com>
15680
15681 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
15682 Hopefully this is a temporary hack that could eventually be removed.
15683
15684 Reviewed by Sam Weinig
15685
15686 * platform/ScrollView.cpp:
15687 (WebCore::ScrollView::scrollContents):
15688 * platform/ScrollView.h:
15689 (WebCore::ScrollView::rootPreventsBlitting):
15690 * platform/qt/ScrollViewQt.cpp:
15691 (WebCore::ScrollView::ScrollView):
15692 (WebCore::ScrollView::~ScrollView):
15693 (WebCore::ScrollView::platformAddChild):
15694 (WebCore::ScrollView::platformRemoveChild):
15695
hyatt@apple.com6fa40c52008-10-03 07:06:28 +0000156962008-10-02 David Hyatt <hyatt@apple.com>
15697
15698 https://bugs.webkit.org/show_bug.cgi?id=21328
15699
15700 Make widget invalidation more cross-platform.
15701
15702 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
15703
15704 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
15705 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
15706
15707 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
15708
15709 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
15710
15711 Reviewed by Sam Weinig
15712
15713 * WebCore.base.exp:
15714 * page/FrameView.cpp:
15715 (WebCore::FrameView::invalidateRect):
15716 (WebCore::FrameView::invalidateScrollbarRect):
15717 * page/FrameView.h:
15718 * platform/PopupMenu.h:
15719 * platform/ScrollView.cpp:
15720 (WebCore::ScrollView::scrollContents):
15721 * platform/ScrollView.h:
15722 * platform/Scrollbar.cpp:
15723 (WebCore::Scrollbar::setEnabled):
15724 (WebCore::Scrollbar::invalidateRect):
15725 * platform/Scrollbar.h:
15726 * platform/ScrollbarClient.h:
15727 * platform/Widget.h:
15728 * platform/gtk/WidgetGtk.cpp:
15729 * platform/mac/WidgetMac.mm:
15730 * platform/win/PopupMenuWin.cpp:
15731 (WebCore::PopupMenu::invalidateScrollbarRect):
15732 * platform/win/WidgetWin.cpp:
15733 * plugins/PluginView.cpp:
15734 (WebCore::PluginView::invalidateTimerFired):
15735 (WebCore::PluginView::invalidateWindowlessPluginRect):
15736 * plugins/PluginView.h:
15737 * plugins/gtk/PluginViewGtk.cpp:
15738 (WebCore::PluginView::invalidateRect):
15739 * plugins/qt/PluginViewQt.cpp:
15740 (WebCore::PluginView::invalidateRect):
15741 * plugins/win/PluginViewWin.cpp:
15742 (WebCore::PluginView::invalidateRect):
15743 (WebCore::PluginView::invalidateRegion):
15744 * rendering/RenderLayer.cpp:
15745 (WebCore::RenderLayer::invalidateScrollbarRect):
15746 * rendering/RenderLayer.h:
15747 * rendering/RenderListBox.cpp:
15748 (WebCore::RenderListBox::paintObject):
15749 (WebCore::RenderListBox::paintScrollbar):
15750 (WebCore::RenderListBox::invalidateScrollbarRect):
15751 * rendering/RenderListBox.h:
15752
mitz@apple.com0203bbe2008-10-03 06:20:41 +0000157532008-10-02 Dan Bernstein <mitz@apple.com>
15754
15755 Reviewed by Geoffrey Garen and Sam Weinig.
15756
15757 - fix SVGFontFaceElement leaks seen in Acid3
15758 - make font-face elements take effect only when they are in the document tree
15759
15760 Test: svg/custom/font-face-not-in-document.svg
15761
15762 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
15763 RefPtr to a plain pointer to break a ref cycle.
15764 (WebCore::SVGFontData::svgFontFaceElement):
15765
15766 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
15767 @font-face rule from the document's mapped element sheet when the
15768 element is inserted and removed from the document, and to update it
15769 only when the element is in the document.
15770 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
15771 (WebCore::SVGFontFaceElement::parseMappedAttribute):
15772 (WebCore::SVGFontFaceElement::rebuildFontFace):
15773 (WebCore::SVGFontFaceElement::insertedIntoDocument):
15774 (WebCore::SVGFontFaceElement::removedFromDocument):
15775 (WebCore::SVGFontFaceElement::childrenChanged):
15776 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
15777 * svg/SVGFontFaceElement.h:
15778
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +0000157792008-10-01 Simon Fraser <simon.fraser@apple.com>
15780
15781 Reviewed by Dave Hyatt
15782
simon.fraser@apple.com397ffb032008-10-03 00:43:39 +000015783 Fix RenderFileUploadControl::setStyle() and
15784 RenderMenuList::setStyle() to not touch the style; replace
15785 with html4.css and CSSStyleSelector changes.
15786
15787 https://bugs.webkit.org/show_bug.cgi?id=21287
15788
15789 * css/CSSStyleSelector.cpp:
15790 (WebCore::CSSStyleSelector::adjustRenderStyle):
15791 * css/html4.css:
15792 * rendering/RenderBlock.cpp:
15793 (WebCore::RenderBlock::setStyle):
15794 * rendering/RenderFileUploadControl.cpp:
15795 * rendering/RenderMenuList.cpp:
15796 (WebCore::RenderMenuList::setStyle):
15797
157982008-10-01 Simon Fraser <simon.fraser@apple.com>
15799
15800 Reviewed by Dave Hyatt
15801
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +000015802 Clean up code that changes the RenderStyle passed in to
15803 table renderer setStyle() methods.
15804
15805 https://bugs.webkit.org/show_bug.cgi?id=21287
15806
15807 Tests: fast/table/floating-th.html
15808 fast/table/table-display-types-strict.html
15809 fast/table/table-display-types.html
15810
15811 * css/CSSStyleSelector.cpp:
15812 (WebCore::CSSStyleSelector::adjustRenderStyle):
15813 * rendering/RenderTableCell.cpp:
15814 (WebCore::RenderTableCell::setStyle):
15815 * rendering/RenderTableRow.cpp:
15816 (WebCore::RenderTableRow::setStyle):
15817 * rendering/RenderTableSection.cpp:
15818 (WebCore::RenderTableSection::setStyle):
15819
darin@apple.comcb1ab082008-10-03 00:28:54 +0000158202008-10-02 Darin Adler <darin@apple.com>
15821
15822 - fix build
15823
15824 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
15825 Not just locally in my generated file!
15826
adele@apple.comf0225902008-10-03 00:25:37 +0000158272008-10-02 Adele Peterson <adele@apple.com>
15828
15829 Reviewed by Dan Bernstein.
15830
15831 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
15832 REGRESSION: <input> color specified in inline style applies to placeholder
15833
15834 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
15835 is more appropriate. This change adds "-webkit-input-placeholder".
15836
15837 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
15838 Added definition for "-webkit-input-placeholder" pseudo element.
15839 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
15840 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
15841 Added case for PseudoInputPlaceholder.
15842 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
15843 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
15844
15845 * html/HTMLInputElement.cpp:
15846 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
15847 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
15848 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
15849 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
15850 * rendering/RenderTextControl.cpp:
15851 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
15852 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
15853 the text will be updated correctly.
15854 * rendering/RenderTextControl.h:
15855
cfleizach@apple.comd6bc1e72008-10-02 23:59:49 +0000158562008-10-02 Chris Fleizach <cfleizach@apple.com>
15857
15858 Reviewed by Darin Adler.
15859
15860 https://bugs.webkit.org/show_bug.cgi?id=21280
15861 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
15862
15863 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
15864 to ensure that there is more than one valid table cell, and that at least half of the cells
15865 have borders or have specific background colors. Modified the table detection layout test
15866 to test for the tables mentioned in the bug
15867
15868 * page/AccessibilityTable.cpp:
15869 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
15870
darin@apple.comb6295d42008-10-02 23:48:47 +0000158712008-10-02 Darin Adler <darin@apple.com>
15872
15873 Reviewed by Geoff Garen.
15874
15875 - https://bugs.webkit.org/show_bug.cgi?id=21321
15876 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
15877
15878 * bindings/js/GCController.cpp:
15879 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
15880 (WebCore::GCController::gcTimerFired): Ditto.
15881 (WebCore::GCController::garbageCollectNow): Ditto.
15882 * bindings/js/JSDOMWindowShell.cpp:
15883 (WebCore::JSDOMWindowShell::operator new): Ditto.
15884 * storage/Database.cpp:
15885 (WebCore::Database::Database): Ditto.
15886
mitz@apple.com833a6e72008-10-02 20:46:35 +0000158872008-10-02 Dan Bernstein <mitz@apple.com>
15888
15889 Reviewed by Alexey Proskuryakov.
15890
15891 - fix a Database leak that resulted in Document leaks
15892
15893 * storage/Database.cpp:
15894 (WebCore::Database::openDatabase): Account for the fact that RefCounted
15895 objects start out with a ref count of 1.
15896
weinig@apple.com77b7a0a2008-10-02 20:29:19 +0000158972008-10-02 Sam Weinig <sam@webkit.org>
15898
15899 Reviewed by Mr. Geoffrey Garen.
15900
15901 Always mark your parent before marking members.
15902
15903 * bindings/js/JSDOMWindowCustom.cpp:
15904 (WebCore::JSDOMWindow::mark):
15905
hyatt@apple.com98682b32008-10-02 20:17:08 +0000159062008-10-02 David Hyatt <hyatt@apple.com>
15907
15908 https://bugs.webkit.org/show_bug.cgi?id=21314
15909
15910 Make scrollBackingStore cross-platform.
15911
15912 Reviewed by Sam Weinig
15913
15914 * loader/EmptyClients.h:
15915 (WebCore::EmptyChromeClient::repaint):
15916 (WebCore::EmptyChromeClient::scroll):
15917 * page/Chrome.cpp:
15918 (WebCore::Chrome::repaint):
15919 (WebCore::Chrome::scroll):
15920 * page/Chrome.h:
15921 * page/ChromeClient.h:
15922 * page/EventHandler.cpp:
15923 (WebCore::EventHandler::handleAutoscroll):
15924 * platform/HostWindow.h:
15925 * platform/ScrollView.cpp:
15926 (WebCore::ScrollView::scrollContents):
15927 (WebCore::ScrollView::addPanScrollIcon):
15928 (WebCore::ScrollView::removePanScrollIcon):
15929 * platform/ScrollView.h:
15930 * platform/gtk/ScrollViewGtk.cpp:
15931 * platform/qt/ScrollViewQt.cpp:
15932 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
15933 (WebCore::ScrollView::~ScrollView):
15934 * platform/win/ScrollViewWin.cpp:
15935 (WebCore::ScrollView::ScrollView):
15936 (WebCore::ScrollView::~ScrollView):
15937
kevino@webkit.org8ca54f22008-10-02 19:59:35 +0000159382008-10-02 Kevin Ollivier <kevino@theolliviers.com>
15939
15940 wx build fixes after Frame/ScrollView changes.
15941
15942 * WebCoreSources.bkl:
15943 * platform/wx/ScrollViewWx.cpp:
15944 (WebCore::ScrollView::platformContentsToScreen):
15945 (WebCore::ScrollView::platformScreenToContents):
15946 (WebCore::ScrollView::platformIsOffscreen):
15947
brettw@chromium.org83eadcc2008-10-02 19:33:42 +0000159482008-10-02 Brett Wilson <brettw@chromium.org>
15949
15950 Reviewed by Sam Weinig
15951
15952 https://bugs.webkit.org/show_bug.cgi?id=21292
15953
15954 Revert the changes to enclosingIntRect made in r12530 since the new code
15955 doesn't round correctly.
15956
15957 * ChangeLog:
15958 * platform/graphics/FloatRect.cpp:
15959 (WebCore::enclosingIntRect):
15960
mitz@apple.com92dc01a2008-10-02 18:48:33 +0000159612008-10-02 Dan Bernstein <mitz@apple.com>
15962
15963 Reviewed by Anders Carlsson and Eric Seidel.
15964
15965 - fix HTMLCanvaseElement leak from -webkit-canvas() values
15966
15967 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
15968 pointer, as the document owns the canvas elements. Added code to release
15969 those elements in Document::removedLastRef() because they reference
15970 the document.
15971
15972 * css/CSSCanvasValue.cpp:
15973 (WebCore::CSSCanvasValue::element):
15974 * css/CSSCanvasValue.h:
15975 (WebCore::CSSCanvasValue::CSSCanvasValue):
15976 * dom/Document.cpp:
15977 (WebCore::Document::removedLastRef):
15978
ap@webkit.org44e40e42008-10-02 18:39:34 +0000159792008-10-02 Alexey Proskuryakov <ap@webkit.org>
15980
15981 Reviewed by Maciej Stachowiak.
15982
ap@webkit.orgdffca802008-10-02 18:40:40 +000015983 Build fix for platforms that don't implement WTF::ThreadSpecific.
ap@webkit.org44e40e42008-10-02 18:39:34 +000015984
15985 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
15986 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
15987 code is only needed for JS bindings in worker threads.
15988
hyatt@apple.comf1ffabf2008-10-02 18:23:32 +0000159892008-10-01 David Hyatt <hyatt@apple.com>
15990
15991 https://bugs.webkit.org/show_bug.cgi?id=21298
15992
15993 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
15994 will make that cross-platform.
15995
15996 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
15997 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
15998 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
15999
16000 Reviewed by Sam Weinig
16001
16002 * page/FrameView.cpp:
16003 (WebCore::FrameView::windowClipRect):
16004 (WebCore::FrameView::isActive):
16005 * page/FrameView.h:
16006 (WebCore::FrameView::visibleContentsResized):
16007 * platform/PopupMenu.h:
16008 * platform/ScrollView.cpp:
16009 (WebCore::ScrollView::init):
16010 (WebCore::ScrollView::destroy):
16011 (WebCore::ScrollView::setHasHorizontalScrollbar):
16012 (WebCore::ScrollView::setHasVerticalScrollbar):
16013 (WebCore::ScrollView::valueChanged):
16014 (WebCore::ScrollView::updateScrollbars):
16015 (WebCore::ScrollView::scrollContents):
16016 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
16017 (WebCore::ScrollView::platformHandleVerticalAdjustment):
16018 * platform/ScrollView.h:
16019 * platform/Scrollbar.cpp:
16020 (WebCore::Scrollbar::windowClipRect):
16021 * platform/ScrollbarClient.h:
16022 * platform/gtk/ScrollViewGtk.cpp:
16023 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
16024 (WebCore::ScrollView::platformHandleVerticalAdjustment):
16025 * platform/qt/ScrollViewQt.cpp:
16026 (WebCore::ScrollView::scrollContents):
16027 * platform/win/PopupMenuWin.cpp:
16028 (WebCore::PopupMenu::windowClipRect):
16029 * platform/win/ScrollViewWin.cpp:
16030 (WebCore::ScrollView::scrollContents):
16031 * rendering/RenderLayer.cpp:
16032 (WebCore::RenderLayer::windowClipRect):
16033 * rendering/RenderLayer.h:
16034 * rendering/RenderListBox.cpp:
16035 (WebCore::RenderListBox::panScroll):
16036 (WebCore::RenderListBox::windowClipRect):
16037 * rendering/RenderListBox.h:
16038
ap@webkit.org03710832008-10-02 16:18:56 +0000160392008-10-02 Alexey Proskuryakov <ap@webkit.org>
16040
16041 Reviewed by Darin Adler.
16042
16043 https://bugs.webkit.org/show_bug.cgi?id=21304
16044 Stop using a static wrapper map for WebCore JS bindings
16045
16046 The static domObjects map was not thread safe.
16047
16048 * dom/Document.h:
16049 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
16050 ports.
16051 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
16052
16053 * dom/Document.cpp:
16054 (WebCore::Document::createdXMLHttpRequest):
16055 (WebCore::Document::destroyedXMLHttpRequest):
16056 Moved XMLHttpRequest tracking from a global map to Document.
16057
16058 * GNUmakefile.am:
16059 * WebCore.pro:
16060 * WebCore.vcproj/WebCore.vcproj:
16061 * WebCore.xcodeproj/project.pbxproj:
16062 * WebCoreSources.bkl:
16063 * webcore-base.bkl:
16064 * bindings/DOMProtect.cpp: Removed.
16065 * bindings/DOMProtect.h: Removed.
16066 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
16067 so they can no longer protect bindings objects.
16068
16069 * dom/MessagePort.cpp:
16070 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
16071 (WebCore::CloseMessagePortTimer::fired):
16072 (WebCore::MessagePort::MessagePort):
16073 (WebCore::MessagePort::queueCloseEvent):
16074 (WebCore::MessagePort::setPendingActivity):
16075 (WebCore::MessagePort::unsetPendingActivity):
16076 * dom/MessagePort.h:
16077 (WebCore::MessagePort::hasPendingActivity):
16078 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
16079 to protect it.
16080
16081 * xml/XMLHttpRequest.h:
16082 (WebCore::XMLHttpRequest::hasPendingActivity):
16083 * xml/XMLHttpRequest.cpp:
16084 (WebCore::XMLHttpRequest::XMLHttpRequest):
16085 (WebCore::XMLHttpRequest::~XMLHttpRequest):
16086 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
16087 (WebCore::XMLHttpRequest::dropProtection):
16088 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
16089 (WebCore::XMLHttpRequest::cancelRequests):
16090 (WebCore::XMLHttpRequest::detachRequests):
16091 (WebCore::XMLHttpRequest::setPendingActivity):
16092 (WebCore::XMLHttpRequest::unsetPendingActivity):
16093 Moved XMLHttpRequest tracking from a global map to Document.
16094
16095 * bindings/js/JSDOMBinding.cpp:
16096 (WebCore::wrapperSet):
16097 (WebCore::DOMObjectWrapperMap::mapFor):
16098 (WebCore::DOMObjectWrapperMap::get):
16099 (WebCore::DOMObjectWrapperMap::set):
16100 (WebCore::DOMObjectWrapperMap::remove):
16101 (WebCore::getCachedDOMObjectWrapper):
16102 (WebCore::cacheDOMObjectWrapper):
16103 (WebCore::forgetDOMObject):
16104 (WebCore::getCachedDOMNodeWrapper):
16105 (WebCore::forgetDOMNode):
16106 (WebCore::cacheDOMNodeWrapper):
16107 (WebCore::markActiveObjectsForDocument):
16108 * bindings/js/JSDOMBinding.h:
16109 (WebCore::createDOMObjectWrapper):
16110 (WebCore::getDOMObjectWrapper):
16111 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
16112 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
16113 WebCore objects can never migrate between threads.
16114
16115 * bindings/js/JSDocumentCustom.cpp:
16116 (WebCore::JSDocument::mark):
16117 Call markActiveObjectsForDocument() from JSDOMBinding.
16118
16119 * bindings/js/JSCSSRuleCustom.cpp:
16120 (WebCore::toJS):
16121 * bindings/js/JSCSSValueCustom.cpp:
16122 (WebCore::toJS):
16123 * bindings/js/JSDOMWindowCustom.cpp:
16124 (WebCore::markDOMObjectWrapper):
16125 (WebCore::JSDOMWindow::mark):
16126 * bindings/js/JSEventCustom.cpp:
16127 (WebCore::toJS):
16128 * bindings/js/JSEventTarget.cpp:
16129 (WebCore::toJS):
16130 * bindings/js/JSHTMLCollectionCustom.cpp:
16131 (WebCore::toJS):
16132 * bindings/js/JSImageDataCustom.cpp:
16133 (WebCore::toJS):
16134 * bindings/js/JSMessageChannelCustom.cpp:
16135 (WebCore::JSMessageChannel::mark):
16136 * bindings/js/JSMessagePortCustom.cpp:
16137 (WebCore::JSMessagePort::mark):
16138 * bindings/js/JSNodeCustom.cpp:
16139 (WebCore::JSNode::mark):
16140 * bindings/js/JSSVGPathSegCustom.cpp:
16141 (WebCore::toJS):
16142 * bindings/js/JSStyleSheetCustom.cpp:
16143 (WebCore::toJS):
16144 * bindings/js/JSXMLHttpRequestCustom.cpp:
16145 (WebCore::JSXMLHttpRequest::mark):
16146 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
16147 (WebCore::JSXMLHttpRequestUpload::mark):
16148 * bindings/js/ScriptController.cpp:
16149 (WebCore::ScriptController::finishedWithEvent):
16150 * bindings/scripts/CodeGeneratorJS.pm:
16151 Pass a JSGlobalData reference to functions that track JS wrapper objects.
16152
mitz@apple.coma2b6b112008-10-02 07:52:29 +0000161532008-10-02 Dan Bernstein <mitz@apple.com>
16154
16155 - build fix
16156
16157 * page/JavaScriptCallFrame.idl:
16158
oliver@apple.com619d60b92008-10-02 07:35:21 +0000161592008-10-02 Oliver Hunt <oliver@apple.com>
16160
16161 Reviewed by NOBODY (Build fix).
16162
16163 Add new file to project files
16164
16165 * GNUmakefile.am:
16166 * WebCore.pro:
16167 * WebCore.vcproj/WebCore.vcproj:
16168
ggaren@apple.comdf2fda82008-10-02 07:13:43 +0000161692008-10-02 Geoffrey Garen <ggaren@apple.com>
16170
16171 Not reviewed.
ggaren@apple.com14a8dbd2008-10-02 07:15:12 +000016172
16173 Try to fix some more builds.
16174
16175 * GNUmakefile.am:
16176 * WebCore.pro:
16177
161782008-10-02 Geoffrey Garen <ggaren@apple.com>
16179
16180 Not reviewed.
ggaren@apple.comdf2fda82008-10-02 07:13:43 +000016181
16182 Try to fix Windows build.
16183
16184 * WebCore.vcproj/WebCore.vcproj:
16185
ggaren@apple.com69e9ccf2008-10-02 06:44:37 +0000161862008-10-01 Geoffrey Garen <ggaren@apple.com>
16187
16188 Reviewed by Darin Adler and Cameron Zwarich.
16189
16190 Updated for JavaScriptCore API changes: use a SourceCode instead of
16191 broken out parameters; treat sourceId as intptr_t.
16192
16193 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
16194 * bindings/js/JSXMLHttpRequestCustom.cpp:
16195 (WebCore::JSXMLHttpRequest::send):
16196 * bindings/js/ScriptController.cpp:
16197 (WebCore::ScriptController::evaluate):
16198 * bindings/js/StringSourceProvider.h:
16199 (WebCore::StringSourceProvider::create):
16200 (WebCore::StringSourceProvider::StringSourceProvider):
16201
16202 (WebCore::makeSource): Added a makeSource function for convenience.
16203
16204 * bindings/objc/WebScriptObject.mm:
16205 (-[WebScriptObject evaluateWebScript:]):
16206 * bridge/NP_jsobject.cpp:
16207 (_NPN_Evaluate):
16208 * bridge/jni/jni_jsobject.mm:
16209 (JavaJSObject::call):
16210 (JavaJSObject::eval):
16211 (JavaJSObject::getMember):
16212 (JavaJSObject::setMember):
16213 (JavaJSObject::removeMember):
16214
16215 * bridge/jni/jni_runtime.h:
16216 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
16217 ustring() function with an implicit operator because this class already
16218 holds a UString::rep.
16219
16220 * page/Console.cpp:
16221 (WebCore::retrieveLastCaller):
16222 (WebCore::Console::trace):
16223 * page/InspectorController.cpp:
16224 (WebCore::jsStringRef):
16225 (WebCore::InspectorController::addBreakpoint):
16226 (WebCore::InspectorController::removeBreakpoint):
16227 (WebCore::InspectorController::didParseSource):
16228 (WebCore::InspectorController::failedToParseSource):
16229 * page/InspectorController.h:
16230 * page/JavaScriptCallFrame.cpp:
16231 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
16232 * page/JavaScriptCallFrame.h:
16233 (WebCore::JavaScriptCallFrame::create):
16234 (WebCore::JavaScriptCallFrame::sourceIdentifier):
16235 (WebCore::JavaScriptCallFrame::update):
16236 * page/JavaScriptDebugListener.h:
16237 * page/JavaScriptDebugServer.cpp:
16238 (WebCore::JavaScriptDebugServer::addBreakpoint):
16239 (WebCore::JavaScriptDebugServer::removeBreakpoint):
16240 (WebCore::JavaScriptDebugServer::hasBreakpoint):
16241 (WebCore::dispatchDidParseSource):
16242 (WebCore::dispatchFailedToParseSource):
16243 (WebCore::JavaScriptDebugServer::sourceParsed):
16244 (WebCore::JavaScriptDebugServer::callEvent):
16245 (WebCore::JavaScriptDebugServer::atStatement):
16246 (WebCore::JavaScriptDebugServer::returnEvent):
16247 (WebCore::JavaScriptDebugServer::exception):
16248 (WebCore::JavaScriptDebugServer::willExecuteProgram):
16249 (WebCore::JavaScriptDebugServer::didExecuteProgram):
16250 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
16251 * page/JavaScriptDebugServer.h:
16252 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
16253 sourceIdentifier to sourceID.
16254
mitz@apple.com7a7f3142008-10-02 06:08:15 +0000162552008-10-01 Dan Bernstein <mitz@apple.com>
16256
16257 Reviewed by Geoffrey Garen.
16258
16259 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
16260
16261 Broke a ref cycle by changing the m_svgFontFaceElement members of
16262 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
16263 pointers. Also made sure that the @font-face rule added by
16264 SVGFontFaceElement to the document's mapped element sheet is removed
16265 when the font-face element is deleted or moved to another document.
16266
16267 * css/CSSFontFaceSource.cpp:
16268 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
16269 (WebCore::CSSFontFaceSource::getFontData):
16270 * css/CSSFontFaceSource.h:
16271 (WebCore::CSSFontFaceSource::svgFontFaceElement):
16272 * css/CSSFontFaceSrcValue.h:
16273 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
16274 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
16275 * svg/SVGFontFaceElement.cpp:
16276 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
16277 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
16278 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
16279 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
16280 * svg/SVGFontFaceElement.h:
16281
oliver@apple.comd3de8f32008-10-02 05:02:00 +0000162822008-10-01 Oliver Hunt <oliver@apple.com>
16283
16284 Reviewed by Maciej Stachowiak.
16285
16286 Bug 20315: Memory leak with Canvas getImageData
16287 <https://bugs.webkit.org/show_bug.cgi?id=20315>
16288
16289 This wasn't a leak, the issue was that we were reporting the cost
16290 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
16291 and we should have been reporting the cost when we create the
16292 JSImageData wrapper.
16293
16294 * WebCore.xcodeproj/project.pbxproj:
16295 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
16296 This was only needed to report the extra memory cost
16297 of the CPA.
16298 * bindings/js/JSImageDataCustom.cpp:
16299 (WebCore::toJS):
16300 We need a custom toJS function now so that we can report
16301 the extra memory cost.
16302 * bindings/scripts/CodeGeneratorJS.pm:
16303 Need to replace the reference to CanvasPixelArray with ImageData
16304 to be able to create the custom toJS implementation.
16305 * html/CanvasPixelArray.idl:
16306 * html/ImageData.idl:
16307
mitz@apple.come0642ce2008-10-02 04:54:06 +0000163082008-10-01 Dan Bernstein <mitz@apple.com>
16309
16310 Reviewed by Mark Rowe.
16311
16312 - https://bugs.webkit.org/show_bug.cgi?id=21293
16313 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
16314
16315 * svg/SVGMarkerElement.cpp:
16316 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
16317 that renderer destruction happens before the SVGMarkerElement is
16318 destroyed.
16319 * svg/SVGSVGElement.cpp:
16320 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
16321
eric@webkit.orgbe40b812008-10-02 01:43:16 +0000163222008-10-01 Evan Martin <evan@chromium.org>
16323
16324 Reviewed by Eric Seidel.
eric@webkit.org194cb362008-10-02 01:47:44 +000016325
16326 https://bugs.webkit.org/show_bug.cgi?id=20669
16327
16328 * css/makeprop.pl:
16329 Die if gperf fails.
16330
163312008-10-01 Evan Martin <evan@chromium.org>
16332
16333 Reviewed by Eric Seidel.
eric@webkit.orgbe40b812008-10-02 01:43:16 +000016334
16335 * loader/icon/IconDatabase.h:
16336 IconDatabase uses HashMap, so it needs to #include the header.
16337
mitz@apple.com0ff2a012008-10-02 00:48:54 +0000163382008-10-01 Dan Bernstein <mitz@apple.com>
16339
16340 Reviewed by Mark Rowe.
16341
mitz@apple.comca0080b2008-10-02 01:35:05 +000016342 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
16343
16344 * loader/Cache.cpp:
16345 (WebCore::Cache::remove): Disable pruning temporarily during
16346 CachedResource deletion.
16347
163482008-10-01 Dan Bernstein <mitz@apple.com>
16349
16350 Reviewed by Mark Rowe.
16351
mitz@apple.com0ff2a012008-10-02 00:48:54 +000016352 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
16353
16354 * svg/SVGFontFaceElement.cpp:
16355 (WebCore::SVGFontFaceElement::rebuildFontFace):
16356 * svg/SVGFontFaceElement.h:
16357 (WebCore::SVGFontFaceElement::associatedFontElement):
16358
brettw@chromium.org87b0e122008-10-01 22:34:16 +0000163592008-10-01 Brett Wilson <brettw@chromium.org>
16360
16361 Reviewed by Maciej Stachowiak.
16362
16363 Document the rounding behavior of the mapRect(IntRect) function in
16364 AffineTransform.h.
16365
16366 * platform/graphics/AffineTransform.h:
16367
hyatt@apple.comdeb39ee2008-10-01 22:30:56 +0000163682008-10-01 David Hyatt <hyatt@apple.com>
16369
16370 Move prohibitsScrolling from the Frame to the ScrollView.
16371
16372 Reviewed by Sam Weinig
16373
16374 * WebCore.base.exp:
16375 * page/Frame.cpp:
16376 (WebCore::FramePrivate::FramePrivate):
16377 * page/Frame.h:
16378 * page/FramePrivate.h:
16379 * page/FrameView.cpp:
16380 (WebCore::FrameView::scrollRectIntoViewRecursively):
16381 (WebCore::FrameView::setScrollPosition):
16382 * platform/ScrollView.cpp:
16383 (WebCore::ScrollView::init):
16384 (WebCore::ScrollView::scrollRectIntoViewRecursively):
16385 (WebCore::ScrollView::setScrollPosition):
16386 * platform/ScrollView.h:
16387 (WebCore::ScrollView::setProhibitsScrolling):
16388 (WebCore::ScrollView::prohibitsScrolling):
16389 * platform/gtk/ScrollViewGtk.cpp:
16390 (WebCore::ScrollView::updateScrollbars):
16391 * platform/qt/ScrollViewQt.cpp:
16392 (WebCore::ScrollView::updateScrollbars):
16393 * platform/win/ScrollViewWin.cpp:
16394 (WebCore::ScrollView::updateScrollbars):
16395
mrowe@apple.combffe15d2008-10-01 22:24:37 +0000163962008-10-01 Mark Rowe <mrowe@apple.com>
16397
16398 Reviewed by Geoff Garen.
16399
16400 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
16401
16402 * xml/XMLHttpRequest.cpp:
16403 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
16404 that we do during the loadRequestAsynchronously of the preflight request with a deref and
16405 GC unprotect.
16406
hyatt@apple.com2f029122008-10-01 22:12:23 +0000164072008-10-01 David Hyatt <hyatt@apple.com>
16408
16409 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
16410 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
16411
16412 Reviewed by Tim Hatcher
16413
16414 * WebCore.base.exp:
16415 * page/FrameView.cpp:
16416 (WebCore::FrameView::setCanHaveScrollbars):
16417 * page/FrameView.h:
16418 * platform/ScrollView.cpp:
16419 (WebCore::ScrollView::setCanHaveScrollbars):
16420 (WebCore::ScrollView::wheelEvent):
16421 * platform/ScrollView.h:
16422 (WebCore::ScrollView::canHaveScrollbars):
16423
mitz@apple.combebfaae2008-10-01 21:19:41 +0000164242008-10-01 Dan Bernstein <mitz@apple.com>
16425
16426 Reviewed by Mark Rowe.
16427
16428 - fix some CachedResource leaks seen on buildbot
16429
16430 The issue here was that emptying the cache was a no-op when it only
16431 contained resources with no data. Changed to go after those
16432 resources when the desired cache capacity is zero.
16433
16434 * loader/Cache.cpp:
16435 (WebCore::Cache::pruneLiveResources):
16436 (WebCore::Cache::pruneDeadResources):
16437 * loader/Cache.h:
16438 (WebCore::Cache::prune):
16439
hyatt@apple.come72b16e2008-10-01 20:58:19 +0000164402008-10-01 David Hyatt <hyatt@apple.com>
16441
hyatt@apple.com08ef1ea2008-10-01 21:11:07 +000016442 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
16443 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
16444
16445 Reviewed by Adam Roben
16446
16447 * platform/ScrollView.cpp:
16448 (WebCore::ScrollView::isOffscreen):
16449 (WebCore::ScrollView::platformIsOffscreen):
16450 * platform/ScrollView.h:
16451 * platform/gtk/ScrollViewGtk.cpp:
16452 * platform/mac/ScrollViewMac.mm:
16453 (WebCore::ScrollView::platformIsOffscreen):
16454 * platform/qt/ScrollViewQt.cpp:
16455 * platform/wx/ScrollViewWx.cpp:
16456
164572008-10-01 David Hyatt <hyatt@apple.com>
16458
hyatt@apple.come72b16e2008-10-01 20:58:19 +000016459 Make show/hide/setParentVisible cross-platform on ScrollView.
16460
16461 Reviewed by Adam Roben
16462
16463 * platform/ScrollView.cpp:
16464 (WebCore::ScrollView::setParentVisible):
16465 (WebCore::ScrollView::show):
16466 (WebCore::ScrollView::hide):
16467 * platform/ScrollView.h:
16468 * platform/win/ScrollViewWin.cpp:
16469
kmccullough@apple.com5e00f5c2008-10-01 20:41:56 +0000164702008-10-01 Kevin McCullough <kmccullough@apple.com>
16471
16472 Reviewed by Dan Bernstein.
16473
16474 https://bugs.webkit.org/show_bug.cgi?id=21284
16475 Bug 21284: Max height affects max width
16476 - Looks like a cut and paste bug
16477 - Added layout test fast/css/max-height-and-max-width.html
16478
16479 * css/CSSComputedStyleDeclaration.cpp:
16480 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
16481
hyatt@apple.comfe9c1302008-10-01 20:34:07 +0000164822008-10-01 David Hyatt <hyatt@apple.com>
16483
16484 https://bugs.webkit.org/show_bug.cgi?id=21282
16485
16486 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
16487
16488 Reviewed by Adam Roben
16489
16490 * loader/EmptyClients.h:
16491 (WebCore::EmptyChromeClient::screenToWindow):
16492 (WebCore::EmptyChromeClient::windowToScreen):
16493 * page/Chrome.cpp:
16494 (WebCore::Chrome::screenToWindow):
16495 (WebCore::Chrome::windowToScreen):
16496 * page/Chrome.h:
16497 * page/ChromeClient.h:
16498 * platform/HostWindow.h:
16499 * platform/ScrollView.cpp:
16500 (WebCore::ScrollView::contentsToScreen):
16501 (WebCore::ScrollView::screenToContents):
16502 (WebCore::ScrollView::platformContentsToScreen):
16503 (WebCore::ScrollView::platformScreenToContents):
16504 * platform/ScrollView.h:
16505 * platform/mac/ScrollViewMac.mm:
16506 (WebCore::ScrollView::platformContentsToScreen):
16507 (WebCore::ScrollView::platformScreenToContents):
16508 * platform/win/ScrollViewWin.cpp:
16509
mitz@apple.comf2ee2052008-10-01 20:31:19 +0000165102008-10-01 Dan Bernstein <mitz@apple.com>
16511
16512 Reviewed by Darin Adler.
16513
16514 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
16515
16516 Test: fast/parser/residual-style-close-across-removed-block.html
16517
16518 * html/HTMLParser.cpp:
16519 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
16520 an assertion that turned out to be wrong in this case, and changed to
16521 terminate the algorithm at the first empty block.
16522
hyatt@apple.comc5a54f42008-10-01 19:23:05 +0000165232008-10-01 David Hyatt <hyatt@apple.com>
16524
16525 Make setFrameRect on ScrollView cross-platform.
16526
16527 Reviewed by Sam Weinig
16528
16529 * page/FrameView.h:
16530 (WebCore::FrameView::contentsResized):
16531 * platform/ScrollView.cpp:
16532 (WebCore::ScrollView::setFrameRect):
16533 * platform/ScrollView.h:
16534 * platform/gtk/ScrollViewGtk.cpp:
16535 * platform/qt/ScrollViewQt.cpp:
16536 * platform/win/ScrollViewWin.cpp:
16537
weinig@apple.comab5c0172008-10-01 19:17:01 +0000165382008-10-01 Sam Weinig <sam@webkit.org>
16539
16540 Reviewed by Adele Peterson.
16541
16542 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
16543 to JSDOMWindow from JSDOMWindowBase.
16544
16545 * WebCore.xcodeproj/project.pbxproj:
16546 * bindings/js/JSDOMWindowBase.cpp:
16547 (WebCore::JSDOMWindowBase::removeTimeout):
16548 * bindings/js/JSDOMWindowBase.h:
16549 * bindings/js/JSDOMWindowCustom.cpp:
16550 (WebCore::setTimeoutOrInterval):
16551 (WebCore::JSDOMWindow::setTimeout):
16552 (WebCore::JSDOMWindow::clearTimeout):
16553 (WebCore::JSDOMWindow::setInterval):
16554 (WebCore::JSDOMWindow::clearInterval):
16555 (WebCore::JSDOMWindow::atob):
16556 (WebCore::JSDOMWindow::btoa):
16557 * page/DOMWindow.idl:
16558
mitz@apple.comd9e6f4e2008-10-01 18:12:45 +0000165592008-10-01 Dan Bernstein <mitz@apple.com>
16560
16561 - Mac build fix
16562
16563 * WebCore.base.exp:
16564
timothy@apple.comd2bf1cb2008-10-01 17:33:37 +0000165652008-10-01 Timothy Hatcher <timothy@apple.com>
16566
16567 Prevent stealing focus from the search field when focusing a DOM node.
16568
16569 https://bugs.webkit.org/show_bug.cgi?id=21275
16570
16571 Reviewed by Kevin McCullough.
16572
16573 * page/inspector/ElementsPanel.js:
16574 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
16575 Don't steal focus if the current focus element is the search field.
16576
weinig@apple.com841594d2008-10-01 07:27:49 +0000165772008-09-30 Sam Weinig <sam@webkit.org>
16578
16579 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
16580
16581 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
16582 Autogenerate JS event listeners
16583
16584 - Generate getting/setting of EventListeners.
16585
16586 - Adding a new named EventListener now has the same process as adding any other DOM
16587 attribute. (Add a method with the same name in the c++ file).
16588
16589 (The EventListeners for MessagePort have been intentionally left custom so that we
16590 can continue to experiment with making those EventListeners work in a frame-less world.)
16591
16592 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
16593 * bindings/js/JSDOMWindowCustom.cpp: ditto.
16594 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
16595 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
16596 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
16597 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
16598 getter/setters
16599 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
16600 * dom/EventTargetNode.h: ditto.
16601 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
16602 will use JSEventListerner instead of JSUnprotectedEventListener.
16603 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
16604 * page/DOMWindow.cpp: Add getter/setters for named EventListener
16605 * page/DOMWindow.h: ditto.
16606 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
16607 will use JSEventListerner instead of JSUnprotectedEventListener.
16608 * xml/XMLHttpRequest.idl: Remove custom attributes.
16609 * xml/XMLHttpRequestUpload.idl: ditto.
16610
mrowe@apple.comfed78312008-10-01 06:53:49 +0000166112008-09-30 Mark Rowe <mrowe@apple.com>
16612
16613 Reviewed by Dan Bernstein.
16614
16615 Add a leak counter for CachedResources since we've had two recent leaks involving them.
16616
16617 * loader/CachedResource.cpp:
16618 (WebCore::CachedResource::CachedResource):
16619 (WebCore::CachedResource::~CachedResource):
16620
mitz@apple.com19b93112008-10-01 06:25:17 +0000166212008-09-30 Dan Bernstein <mitz@apple.com>
16622
16623 Reviewed by Dave Hyatt.
16624
16625 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
16626 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
16627
16628 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
16629 the font name in memory.
16630
16631 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
16632 OpenTypeUtilities.*.
16633
16634 * platform/graphics/win/FontCustomPlatformData.cpp:
16635 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
16636 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
16637 used.
16638 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
16639 for fonts loaded using AddFontMemResourceEx.
16640 (WebCore::createFontCustomPlatformData): Added a call to
16641 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
16642 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
16643 fontPlatformData() will retrieve the name from the font reference.
16644
16645 * platform/graphics/win/FontCustomPlatformData.h:
16646 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
16647 font name member.
16648
16649 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
16650 * platform/graphics/win/GetEOTHeader.h: Renamed.
16651
16652 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
16653 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
16654 (WebCore::BigEndianULong::BigEndianULong): Ditto.
16655 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
16656 the font data and modifies it to have the given name, then activates
16657 it using AddFontMemResourceEx.
16658
16659 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
16660
mrowe@apple.com12cb8c22008-10-01 06:09:28 +0000166612008-09-30 Mark Rowe <mrowe@apple.com>
16662
16663 Reviewed by Dan Bernstein.
16664
16665 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
16666
16667 * rendering/RenderObject.cpp:
16668 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
16669 with calls to removeClient when we're being destroyed.
16670
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +0000166712008-09-30 Eric Carlson <eric.carlson@apple.com>
16672
mrowe@apple.com12cb8c22008-10-01 06:09:28 +000016673 Reviewed by Antti Koivisto.
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +000016674
16675 https://bugs.webkit.org/show_bug.cgi?id=21243
16676
16677 Fix loopstart and loopend default values.
16678
16679 Tests: media/loopend-limits.html
16680 media/loopstart-limits.html
16681
16682 * html/HTMLMediaElement.cpp:
16683 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
16684 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
16685
kevino@webkit.orgbfd4cab2008-10-01 05:04:18 +0000166862008-09-30 Kevin Ollivier <kevino@theolliviers.com>
16687
16688 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
16689
16690 * WebCoreSources.bkl:
16691 * platform/wx/ScrollViewWx.cpp:
16692 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
16693
mitz@apple.com17145582008-10-01 04:43:07 +0000166942008-09-30 Dan Bernstein <mitz@apple.com>
16695
16696 Reviewed by Sam Weinig.
16697
16698 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
16699 was fixed in r17249 and re-introduced in r31435.
16700
16701 * html/HTMLViewSourceDocument.cpp:
16702 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
16703 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
16704 (WebCore::HTMLViewSourceDocument::addLine):
16705 (WebCore::HTMLViewSourceDocument::addLink):
16706 * html/HTMLViewSourceDocument.h:
16707
weinig@apple.com42d87a62008-10-01 00:39:19 +0000167082008-09-30 Sam Weinig <sam@webkit.org>
16709
16710 Reviewed by Eric Seidel.
16711
16712 More for https://bugs.webkit.org/show_bug.cgi?id=21122
16713 Autogenerate JS event listeners
16714
16715 - Make EventListener getter/setters names in c++ files match those in
16716 JS (ie. onLoadListener -> onload).
16717 - Add standard way to access the frame associated with the EventTarget
16718 for EventListener lookup.
16719 - Autogenerate dispatchEvent, it wasn't doing anything custom.
16720
16721 * bindings/js/JSDOMApplicationCacheCustom.cpp:
16722 (WebCore::JSDOMApplicationCache::mark):
16723 (WebCore::JSDOMApplicationCache::addEventListener):
16724 (WebCore::JSDOMApplicationCache::removeEventListener):
16725 (WebCore::JSDOMApplicationCache::setOnchecking):
16726 (WebCore::JSDOMApplicationCache::onchecking):
16727 (WebCore::JSDOMApplicationCache::setOnerror):
16728 (WebCore::JSDOMApplicationCache::onerror):
16729 (WebCore::JSDOMApplicationCache::setOnnoupdate):
16730 (WebCore::JSDOMApplicationCache::onnoupdate):
16731 (WebCore::JSDOMApplicationCache::setOndownloading):
16732 (WebCore::JSDOMApplicationCache::ondownloading):
16733 (WebCore::JSDOMApplicationCache::setOnprogress):
16734 (WebCore::JSDOMApplicationCache::onprogress):
16735 (WebCore::JSDOMApplicationCache::setOnupdateready):
16736 (WebCore::JSDOMApplicationCache::onupdateready):
16737 (WebCore::JSDOMApplicationCache::setOncached):
16738 (WebCore::JSDOMApplicationCache::oncached):
16739 * bindings/js/JSEventTargetNodeCustom.cpp:
16740 (WebCore::JSEventTargetNode::addEventListener):
16741 (WebCore::JSEventTargetNode::removeEventListener):
16742 (WebCore::JSEventTargetNode::getListener):
16743 (WebCore::JSEventTargetNode::setListener):
16744 * bindings/js/JSMessagePortCustom.cpp:
16745 (WebCore::JSMessagePort::mark):
16746 (WebCore::JSMessagePort::addEventListener):
16747 (WebCore::JSMessagePort::removeEventListener):
16748 (WebCore::JSMessagePort::setOnmessage):
16749 (WebCore::JSMessagePort::onmessage):
16750 (WebCore::JSMessagePort::setOnclose):
16751 (WebCore::JSMessagePort::onclose):
16752 * bindings/js/JSXMLHttpRequestCustom.cpp:
16753 (WebCore::JSXMLHttpRequest::mark):
16754 (WebCore::JSXMLHttpRequest::onreadystatechange):
16755 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
16756 (WebCore::JSXMLHttpRequest::onabort):
16757 (WebCore::JSXMLHttpRequest::setOnabort):
16758 (WebCore::JSXMLHttpRequest::onerror):
16759 (WebCore::JSXMLHttpRequest::setOnerror):
16760 (WebCore::JSXMLHttpRequest::onload):
16761 (WebCore::JSXMLHttpRequest::setOnload):
16762 (WebCore::JSXMLHttpRequest::onloadstart):
16763 (WebCore::JSXMLHttpRequest::setOnloadstart):
16764 (WebCore::JSXMLHttpRequest::onprogress):
16765 (WebCore::JSXMLHttpRequest::setOnprogress):
16766 (WebCore::JSXMLHttpRequest::addEventListener):
16767 (WebCore::JSXMLHttpRequest::removeEventListener):
16768 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
16769 (WebCore::JSXMLHttpRequestUpload::mark):
16770 (WebCore::JSXMLHttpRequestUpload::onabort):
16771 (WebCore::JSXMLHttpRequestUpload::setOnabort):
16772 (WebCore::JSXMLHttpRequestUpload::onerror):
16773 (WebCore::JSXMLHttpRequestUpload::setOnerror):
16774 (WebCore::JSXMLHttpRequestUpload::onload):
16775 (WebCore::JSXMLHttpRequestUpload::setOnload):
16776 (WebCore::JSXMLHttpRequestUpload::onloadstart):
16777 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
16778 (WebCore::JSXMLHttpRequestUpload::onprogress):
16779 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
16780 (WebCore::JSXMLHttpRequestUpload::addEventListener):
16781 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
16782 * bindings/scripts/CodeGeneratorJS.pm:
16783 * dom/EventTarget.h:
16784 * dom/EventTargetNode.cpp:
16785 (WebCore::EventTargetNode::associatedFrame):
16786 * dom/EventTargetNode.h:
16787 * dom/EventTargetNode.idl:
16788 * dom/MessagePort.cpp:
16789 (WebCore::MessagePort::associatedFrame):
16790 * dom/MessagePort.h:
16791 (WebCore::MessagePort::setOnmessage):
16792 (WebCore::MessagePort::onmessage):
16793 (WebCore::MessagePort::setOnclose):
16794 (WebCore::MessagePort::onclose):
16795 * dom/MessagePort.idl:
16796 * loader/appcache/DOMApplicationCache.h:
16797 (WebCore::DOMApplicationCache::setOnchecking):
16798 (WebCore::DOMApplicationCache::onchecking):
16799 (WebCore::DOMApplicationCache::setOnerror):
16800 (WebCore::DOMApplicationCache::onerror):
16801 (WebCore::DOMApplicationCache::setOnnoupdate):
16802 (WebCore::DOMApplicationCache::onnoupdate):
16803 (WebCore::DOMApplicationCache::setOndownloading):
16804 (WebCore::DOMApplicationCache::ondownloading):
16805 (WebCore::DOMApplicationCache::setOnprogress):
16806 (WebCore::DOMApplicationCache::onprogress):
16807 (WebCore::DOMApplicationCache::setOnupdateready):
16808 (WebCore::DOMApplicationCache::onupdateready):
16809 (WebCore::DOMApplicationCache::setOncached):
16810 (WebCore::DOMApplicationCache::oncached):
16811 (WebCore::DOMApplicationCache::associatedFrame):
16812 * loader/appcache/DOMApplicationCache.idl:
16813 * svg/EventTargetSVGElementInstance.cpp:
16814 (WebCore::EventTargetSVGElementInstance::associatedFrame):
16815 (WebCore::EventTargetSVGElementInstance::addEventListener):
16816 (WebCore::EventTargetSVGElementInstance::removeEventListener):
16817 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
16818 * svg/EventTargetSVGElementInstance.h:
16819 * xml/XMLHttpRequest.cpp:
16820 (WebCore::XMLHttpRequest::associatedFrame):
16821 * xml/XMLHttpRequest.h:
16822 (WebCore::XMLHttpRequest::setOnreadystatechange):
16823 (WebCore::XMLHttpRequest::onreadystatechange):
16824 (WebCore::XMLHttpRequest::setOnabort):
16825 (WebCore::XMLHttpRequest::onabort):
16826 (WebCore::XMLHttpRequest::setOnerror):
16827 (WebCore::XMLHttpRequest::onerror):
16828 (WebCore::XMLHttpRequest::setOnload):
16829 (WebCore::XMLHttpRequest::onload):
16830 (WebCore::XMLHttpRequest::setOnloadstart):
16831 (WebCore::XMLHttpRequest::onloadstart):
16832 (WebCore::XMLHttpRequest::setOnprogress):
16833 (WebCore::XMLHttpRequest::onprogress):
16834 * xml/XMLHttpRequest.idl:
16835 * xml/XMLHttpRequestUpload.cpp:
16836 (WebCore::XMLHttpRequestUpload::associatedFrame):
16837 * xml/XMLHttpRequestUpload.h:
16838 (WebCore::XMLHttpRequestUpload::setOnabort):
16839 (WebCore::XMLHttpRequestUpload::onabort):
16840 (WebCore::XMLHttpRequestUpload::setOnerror):
16841 (WebCore::XMLHttpRequestUpload::onerror):
16842 (WebCore::XMLHttpRequestUpload::setOnload):
16843 (WebCore::XMLHttpRequestUpload::onload):
16844 (WebCore::XMLHttpRequestUpload::setOnloadstart):
16845 (WebCore::XMLHttpRequestUpload::onloadstart):
16846 (WebCore::XMLHttpRequestUpload::setOnprogress):
16847 (WebCore::XMLHttpRequestUpload::onprogress):
16848 * xml/XMLHttpRequestUpload.idl:
16849
darin@apple.com9451b7f2008-10-01 00:38:06 +0000168502008-09-30 Darin Adler <darin@apple.com>
16851
16852 - roll out assertion breaking regression tests
16853
16854 * platform/ScrollView.cpp:
16855 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
16856 that fires in regression tests. Hyatt can add it back later. The assertion
16857 fires in the regression test because of layout that triggers repaint occuring
16858 during the process of removing a frame.
16859
adele@apple.comed74a6e2008-09-30 23:21:50 +0000168602008-09-30 Adele Peterson <adele@apple.com>
16861
16862 Reviewed by Darin Adler.
16863
16864 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
16865 <rdar://problem/6222134> add a way to set color for input placeholder text
16866
16867 Test: fast/forms/placeholder-pseudo-style.html
16868
16869 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
16870 input elements when they are displaying the placeholder text.
16871
16872 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
16873 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
16874 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
16875 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
16876 * css/html4.css: Add rule to make placeholder text default to darkGray.
16877
16878 * html/HTMLInputElement.cpp:
16879 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
16880 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
16881 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
16882 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
16883 (WebCore::HTMLInputElement::setValue): ditto.
16884 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
16885 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
16886 This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the
16887 renderer will just ask the node if it should draw the placeholder.
16888 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
16889
16890 * rendering/RenderTextControl.cpp:
16891 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
16892 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
16893 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
16894 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
16895 This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which
16896 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
16897 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
16898 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
16899 * rendering/RenderTextControl.h:
16900
bdakin@apple.com31845c52008-09-30 23:19:53 +0000169012008-09-30 Beth Dakin <bdakin@apple.com>
16902
16903 Reviewed by Darin Adler.
16904
16905 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
16906 by failed allocation due to invalid counter/attr
16907 and corresponding: <rdar://problem/6152371>
16908
16909 * css/CSSParser.cpp:
16910 (WebCore::CSSParser::parseCounterContent): The spec indicates that
16911 only identifiers should be accepted here.
16912
kmccullough@apple.com86834eb2008-09-30 22:31:46 +0000169132008-09-30 Kevin McCullough <kmccullough@apple.com>
16914
kmccullough@apple.com88219342008-09-30 22:33:30 +000016915 Reviewed by Oliver Hunt.
16916
16917 Bug 21255: console.profileEnd() without a console.profile() crashes the
16918 web inspector
16919
16920 * page/Console.cpp:
16921 (WebCore::Console::profileEnd):
16922
169232008-09-30 Kevin McCullough <kmccullough@apple.com>
16924
kmccullough@apple.com86834eb2008-09-30 22:31:46 +000016925 Reviewed by Tim Hatcher.
16926
16927 Bug 21252: calling console.profile() with a title that is 2 chars or
16928 shorter does not linkify it
16929
16930 - Previously we tried to not linkify very short URLs but since profile
16931 titles can be any length this is not always true.
16932
16933 * page/inspector/inspector.js:
16934
hyatt@apple.comda9b3072008-09-30 21:30:56 +0000169352008-09-30 Dave Hyatt <hyatt@apple.com>
16936
16937 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
16938 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
16939 (1) Not used on Mac
16940 (2) Used on Windows
16941 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
16942 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
16943 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
16944
16945 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
16946 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
16947 With the changes to this method, the new behavior is as follows:
16948 (1) Not used on Mac
16949 (2) Used on Windows
16950 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
16951 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
16952 (5) Not used on wx
16953
16954 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
16955 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
16956
16957 Reviewed by Sam Weinig
16958
16959 * ChangeLog:
16960 * dom/Document.cpp:
16961 (WebCore::Document::implicitClose):
16962 * platform/HostWindow.h:
16963 (WebCore::HostWindow::paint):
16964 * platform/ScrollView.h:
16965 * platform/gtk/ScrollViewGtk.cpp:
16966 * platform/mac/ScrollViewMac.mm:
16967 * platform/qt/ScrollViewQt.cpp:
16968 * platform/win/ScrollViewWin.cpp:
16969 * platform/wx/ScrollViewWx.cpp:
16970
timothy@apple.com92560da2008-09-30 20:57:49 +0000169712008-09-30 Timothy Hatcher <timothy@apple.com>
16972
timothy@apple.com26fefbf2008-09-30 20:57:55 +000016973 Focus the DOM tree in the Web Inspector when a node is inspected.
16974 So when the search field has focus, the focus moves to the tree,
16975 allowing the arrow keys work. This can happen when using the new
16976 find in page feature.
16977
16978 https://bugs.webkit.org/show_bug.cgi?id=21251
16979
16980 Reviewed by Geoff Garen.
16981
16982 * page/inspector/ElementsPanel.js:
16983 (WebInspector.ElementsPanel): Set currentFocusElement to
16984 the main-panels element if the panel is visible.
16985 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
16986 Remove a set of currentFocusElement since this moved.
16987 * page/inspector/inspector.js:
16988 (WebInspector.set currentFocusElement): Always focus the element.
16989 This ensures that when focus changes in the page and we don't
16990 catch it, we will still focus the elements even if we think it
16991 was already focused.
16992
169932008-09-30 Timothy Hatcher <timothy@apple.com>
16994
timothy@apple.com92560da2008-09-30 20:57:49 +000016995 Make the Web Inspector's toolbar icons darker when the mouse is
16996 pressed on them. This matches the standard NSToolbar look.
16997
16998 https://bugs.webkit.org/show_bug.cgi?id=21249
16999 rdar://problem/6033752
17000
17001 Reviewed by Adam Roben.
17002
17003 * page/inspector/Images/databasesIcon.png:
17004 * page/inspector/Images/elementsIcon.png:
17005 * page/inspector/Images/profilesIcon.png:
17006 * page/inspector/Images/resourcesIcon.png:
17007 * page/inspector/Images/scriptsIcon.png:
17008 * page/inspector/Panel.js:
17009 * page/inspector/inspector.css:
17010
kmccullough@apple.com622724e2008-09-30 20:26:29 +0000170112008-09-30 Kevin McCullough <kmccullough@apple.com>
17012
17013 Reviewed by Tim Hatcher.
17014
17015 Bug 21139: Profiler log message is wrong
17016 - Correctly fix =(
17017 Don't call _format twice.
17018
17019 * page/Page.h:
17020 * page/inspector/Console.js:
17021 * page/inspector/ProfilesPanel.js:
17022 * page/inspector/inspector.js:
17023
hyatt@apple.com70936b52008-09-30 20:09:42 +0000170242008-09-30 Dave Hyatt <hyatt@apple.com>
17025
17026 http://bugs.webkit.org/show_bug.cgi?id=21250
17027
17028 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
17029 repaints up through the ChromeClient.
17030
17031 Reviewed by Darin Adler
17032
17033 * loader/EmptyClients.h:
17034 (WebCore::EmptyChromeClient::repaint):
17035 * page/Chrome.cpp:
17036 (WebCore::Chrome::repaint):
17037 * page/Chrome.h:
17038 * page/ChromeClient.h:
17039 * page/FrameView.cpp:
17040 (WebCore::FrameView::hostWindow):
17041 (WebCore::FrameView::repaintContentRectangle):
17042 * page/FrameView.h:
17043 * platform/HostWindow.h:
17044 * platform/ScrollView.cpp:
17045 (WebCore::ScrollView::repaintContentRectangle):
17046 (WebCore::ScrollView::platformRepaintContentRectangle):
17047 * platform/ScrollView.h:
17048 * platform/gtk/ScrollViewGtk.cpp:
17049 * platform/mac/ScrollViewMac.mm:
17050 (WebCore::ScrollView::platformRepaintContentRectangle):
17051 * platform/qt/ScrollViewQt.cpp:
17052 * platform/win/ScrollViewWin.cpp:
17053 * platform/wx/ScrollViewWx.cpp:
17054 (WebCore::ScrollView::platformRepaintContentRectangle):
17055
ap@webkit.org8b67da02008-09-30 17:58:10 +0000170562008-09-30 Alexey Proskuryakov <ap@webkit.org>
17057
17058 Non-Mac build fixes.
17059
17060 * GNUmakefile.am:
17061 * WebCore.pro:
17062 * WebCore.vcproj/WebCore.vcproj:
17063 * WebCoreSources.bkl:
17064 * webcore-base.bkl:
17065 Added DOMProtect.{cpp,h}.
17066
kdecker@apple.comdafe5102008-09-30 17:40:02 +0000170672008-09-39 Kevin Decker <kdecker@apple.com>
17068
17069 Reviewed by John Sullivan.
17070
17071 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
17072 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
17073
jchaffraix@webkit.org70abf6f2008-09-30 17:05:20 +0000170742008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
17075
17076 Reviewed by Maciej Stachowiak.
17077
17078 Bug 21106: .in format discussed changes
17079 https://bugs.webkit.org/show_bug.cgi?id=21106
17080
17081 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
17082 is the only namespace used.
17083
17084 - Removed "generateFactory" and "generateWrapperFactory" parameters and
17085 re-introduced the command line options.
17086
17087 - Cleaned up the output of make_names.pl (removed unneeded new line).
17088
17089 * DerivedSources.make: Added factories command line options.
17090 * GNUmakefile.am: Ditto.
17091 * WebCore.pro: Ditto and removed some arguments that were migrated to
17092 the .in files.
17093
17094 * dom/make_names.pl: Clean up (see above).
17095
17096 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
17097 and "generateWrapperFactory" occurences.
17098 * html/HTMLTagNames.in: Ditto.
17099 * svg/svgattrs.in: Ditto.
17100 * svg/svgtags.in: Ditto.
17101 * svg/xlinkattrs.in: Ditto.
17102 * xml/xmlattrs.in: Ditto.
17103
cfleizach@apple.com576ca0a2008-09-30 16:19:01 +0000171042008-09-29 Chris Fleizach <cfleizach@apple.com>
17105
17106 Reviewed by John Sullivan.
17107
17108 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
17109 Make sure that certain types of elements do not return children and, moreover, do not waste their
17110 energy trying to return children
17111
17112 Test: accessibility/nochildren-elements.html
17113
17114 * page/AccessibilityObject.h:
17115 (WebCore::AccessibilityObject::canHaveChildren):
17116 * page/AccessibilityRenderObject.cpp:
17117 (WebCore::AccessibilityRenderObject::canHaveChildren):
17118 (WebCore::AccessibilityRenderObject::addChildren):
17119 * page/AccessibilityRenderObject.h:
17120
ap@webkit.orga0c037c2008-09-30 15:52:06 +0000171212008-09-30 Alexey Proskuryakov <ap@webkit.org>
17122
17123 Reviewed by Sam Weinig.
17124
17125 https://bugs.webkit.org/show_bug.cgi?id=21213
17126 MessagePort crash when GC collects an object with a pending close event
17127
17128 Test: fast/events/message-channel-gc-2.html
17129 fast/events/message-channel-listener-circular-ownership.html
17130
17131 * bindings/DOMProtect.cpp: Added.
17132 (WebCore::gcProtectDOMObject):
17133 (WebCore::gcUnprotectDOMObject):
17134 * bindings/DOMProtect.h: Added.
17135 Added an abstraction for GC protection to avoid the need to call JS bindings code from
17136 DOM objects directly.
17137
17138 * dom/MessagePort.cpp:
17139 (WebCore::CloseMessagePortTimer::fired):
17140 (WebCore::MessagePort::queueCloseEvent):
17141 GC protect MessagePort wrapper while there is a pending close event.
17142 This may be necessary for message events, too, but that case is not a crasher, and actually
17143 behaves to the letter of the current HTML5 text, so I'll consider it later.
17144
17145 * xml/XMLHttpRequest.cpp:
17146 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
17147 (WebCore::XMLHttpRequest::dropProtection):
17148 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
17149
17150 * bindings/js/JSMessagePortCustom.cpp:
17151 (WebCore::JSMessagePort::addEventListener):
17152 (WebCore::JSMessagePort::removeEventListener):
17153 (WebCore::JSMessagePort::setOnmessage):
17154 (WebCore::JSMessagePort::setOnclose):
17155 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
17156 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
17157
17158 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
17159 (WebCore::JSXMLHttpRequestUpload::mark):
17160 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
17161 from XMLHttpRequest.
17162
aroben@apple.comd2272012008-09-30 14:17:28 +0000171632008-09-30 Adam Roben <aroben@apple.com>
17164
17165 Windows build fix
17166
17167 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
17168
weinig@apple.comd516a572008-09-30 07:01:45 +0000171692008-09-29 Sam Weinig <sam@webkit.org>
17170
17171 Reviewed by Tim Hatcher.
17172
17173 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
17174 Autogenerate JS event listeners
17175
17176 - Generate EventTargetNode.
17177
17178 * DerivedSources.make:
17179 * GNUmakefile.am:
17180 * WebCore.pro:
17181 * WebCore.vcproj/WebCore.vcproj:
17182 * WebCore.xcodeproj/project.pbxproj:
17183 * WebCoreSources.bkl:
17184 * bindings/js/JSEventListener.cpp:
17185 * bindings/js/JSEventTarget.cpp: Added.
17186 (WebCore::toJS):
17187 * bindings/js/JSEventTarget.h: Added.
17188 * bindings/js/JSEventTargetBase.cpp: Removed.
17189 * bindings/js/JSEventTargetBase.h:
17190 * bindings/js/JSEventTargetNode.cpp: Removed.
17191 * bindings/js/JSEventTargetNode.h: Removed.
17192 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
17193 (WebCore::JSEventTargetNode::addEventListener):
17194 (WebCore::JSEventTargetNode::removeEventListener):
17195 (WebCore::JSEventTargetNode::dispatchEvent):
17196 (WebCore::JSEventTargetNode::getListener):
17197 (WebCore::JSEventTargetNode::setListener):
17198 (WebCore::JSEventTargetNode::pushEventHandlerScope):
17199 * bindings/js/JSEventTargetSVGElementInstance.cpp:
17200 (WebCore::):
17201 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
17202 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
17203 (jsEventTargetAddEventListener):
17204 (jsEventTargetRemoveEventListener):
17205 (jsEventTargetDispatchEvent):
17206 * bindings/js/JSEventTargetSVGElementInstance.h:
17207 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
17208 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
17209 * bindings/scripts/CodeGeneratorJS.pm:
17210 * dom/EventTargetNode.idl: Added.
17211
darin@apple.com8d35fe02008-09-30 01:14:26 +0000172122008-09-29 Darin Adler <darin@apple.com>
17213
17214 Reviewed by Sam Weinig.
17215
17216 - https://bugs.webkit.org/show_bug.cgi?id=21214
17217 work on getting rid of ExecState
17218
17219 * bindings/js/JSDOMWindowBase.cpp:
17220 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
17221 for base class constructor.
17222
hyatt@apple.com4ba85692008-09-30 00:42:25 +0000172232008-09-29 David Hyatt <hyatt@apple.com>
17224
17225 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
17226 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
17227 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
17228 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
17229
17230 Reviewed by Sam Weinig
17231
17232 * WebCore.xcodeproj/project.pbxproj:
17233 * page/Chrome.h:
17234 * platform/HostWindow.h: Added.
17235 (WebCore::HostWindow::HostWindow):
17236 (WebCore::HostWindow::~HostWindow):
17237
kdecker@apple.com0a129d72008-09-30 00:17:15 +0000172382008-09-29 Kevin Decker <kdecker@apple.com>
17239
17240 Reviewed by Anders Carlsson.
17241
17242 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
17243 2000.
17244
mitz@apple.comd58d8382008-09-29 23:42:38 +0000172452008-09-29 Dan Bernstein <mitz@apple.com>
17246
17247 Reviewed by Adam Roben.
17248
17249 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
17250
17251 * rendering/RenderThemeWin.cpp:
17252 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
17253 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
17254 unloaded, to avoid calling uxtheme.dll functions after that library has
17255 been unloaded.
17256 * rendering/RenderThemeWin.h:
17257
cfleizach@apple.comb136d2c2008-09-29 23:10:03 +0000172582008-09-29 Chris Fleizach <cfleizach@apple.com>
17259
17260 Reviewed by John Sullivan
17261
17262 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
17263
17264 Sends AXLoadComplete only when the top level web area is finished loading
17265
17266 * dom/Document.cpp:
17267 (WebCore::Document::implicitClose):
17268
timothy@apple.com96fff242008-09-29 22:34:10 +0000172692008-09-29 Timothy Hatcher <timothy@apple.com>
17270
17271 Makes the node highlight always show up when hovering a node in
17272 the Web Inspector now that the highlight does not scroll to reveal
17273 the node. Also adds a hover effect in the inspector when hovering
17274 causes a highlight in the page. This ties the user hovering action
17275 to the highlight so it is clear what causes the highlight to appear.
17276
17277 Also the highlight now temporarily shows up for 2 seconds after
17278 selecting a node in the DOM tree. So arrowing around in the tree
17279 will show the node on the page, providing feedback to the user.
17280
17281 Plus fixes an issue where quickly moving away from hovering
17282 a node would keep showing the page highlight. This was happening
17283 in breadcrumbs and the DOM tree.
17284
17285 https://bugs.webkit.org/show_bug.cgi?id=21220
17286
17287 Reviewed by Kevin McCullough.
17288
17289 * page/inspector/Console.js:
17290 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
17291 hovering DOM nodes in the console.
17292 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
17293 (WebInspector.Console.prototype._formatnode): Use the new event
17294 listeners and add a class name to the anchor element.
17295 * page/inspector/ElementsPanel.js:
17296 (WebInspector.ElementsPanel): Add new event listeners to the
17297 crumbs element to do the node hovering highlight.
17298 (WebInspector.ElementsPanel.prototype.hide):
17299 (WebInspector.ElementsPanel.prototype.reset):
17300 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
17301 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
17302 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
17303 * page/inspector/ElementsTreeOutline.js:
17304 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
17305 Show the node hishlight for 2 seconds then restore the highlight
17306 to the current hovered node.
17307 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
17308 hovered node and set the hovered state on the tree element.
17309 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
17310 hovered node to null and removed the hovered state from the previous
17311 hovered tree element.
17312 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
17313 the hovered class to the list item.
17314 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
17315 * page/inspector/inspector.css:
17316 * page/inspector/inspector.js:
17317 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
17318 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
17319 causes the highlight to change sooner if there is one already showing
17320 and appear later if there isn't one showing. This is like tooltips,
17321 hovering a node for 500ms will cause highlight then mousing between nodes
17322 will keep the highlight and change to the new node.
17323 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
17324 always reset the timeout so continuous mousing does not keep flasshing
17325 the highlight on the screen.
17326 (WebInspector._updateHoverHighlight): Removed the alt key check and added
17327 the showingDOMNodeHighlight property.
17328 (WebInspector.documentKeyDown): Removed the alt key check.
17329 (WebInspector.documentKeyUp): Ditto.
17330 (WebInspector.reset): Clear the hoveredDOMNode.
17331
simon.fraser@apple.com8a565532008-09-29 22:04:38 +0000173322008-09-29 Simon Fraser <simon.fraser@apple.com>
17333
17334 Reviewed by Anders Carlsson
17335
17336 Fix RenderStyle leak in animation code, and assert that
17337 keyframe resolution in CSSStyleSelector is not going to clobber
17338 m_style.
17339
17340 * css/CSSStyleSelector.cpp:
17341 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
17342 * page/animation/KeyframeAnimation.cpp:
17343 (WebCore::KeyframeAnimation::~KeyframeAnimation):
17344
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +0000173452008-09-29 Chris Marrin <cmarrin@apple.com>
17346
simon.fraser@apple.come979de02008-09-29 21:31:26 +000017347 Reviewed by Dave Hyatt
17348
17349 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
17350 Rewrite keyframe resolution to be like styleForElement()
17351
17352 Test: animations/lineheight-animation.html
17353
17354 * css/CSSStyleSelector.cpp:
17355 (WebCore::CSSStyleSelector::addKeyframeStyle):
17356 (WebCore::CSSStyleSelector::~CSSStyleSelector):
17357 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
17358 (WebCore::CSSRuleSet::addRulesFromSheet):
17359 (WebCore::CSSStyleSelector::mapAnimationName):
17360 * css/CSSStyleSelector.h:
17361 * page/animation/CompositeAnimation.cpp:
17362 (WebCore::CompositeAnimation::updateKeyframeAnimations):
17363 * page/animation/KeyframeAnimation.cpp:
17364 (WebCore::KeyframeAnimation::KeyframeAnimation):
17365 (WebCore::KeyframeAnimation::animate):
17366 (WebCore::KeyframeAnimation::hasAnimationForProperty):
17367 (WebCore::KeyframeAnimation::sendAnimationEvent):
17368 (WebCore::KeyframeAnimation::overrideAnimations):
17369 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
17370 (WebCore::KeyframeAnimation::affectsProperty):
17371 (WebCore::KeyframeAnimation::validateTransformFunctionList):
17372 * page/animation/KeyframeAnimation.h:
17373 * rendering/style/Animation.cpp:
17374 (WebCore::Animation::animationsMatch):
17375 * rendering/style/Animation.h:
17376 * rendering/style/KeyframeList.cpp:
17377 (WebCore::KeyframeList::~KeyframeList):
17378 (WebCore::KeyframeList::clear):
17379 (WebCore::KeyframeList::insert):
17380 * rendering/style/KeyframeList.h:
17381 (WebCore::KeyframeValue::KeyframeValue):
17382 (WebCore::KeyframeList::KeyframeList):
17383 (WebCore::KeyframeList::operator!=):
17384 (WebCore::KeyframeList::animationName):
17385 (WebCore::KeyframeList::addProperty):
17386 (WebCore::KeyframeList::containsProperty):
17387 (WebCore::KeyframeList::beginProperties):
17388 (WebCore::KeyframeList::endProperties):
17389 (WebCore::KeyframeList::isEmpty):
17390 (WebCore::KeyframeList::size):
17391 (WebCore::KeyframeList::beginKeyframes):
17392 (WebCore::KeyframeList::endKeyframes):
17393 * rendering/style/RenderStyle.h:
17394 * rendering/style/StyleRareNonInheritedData.cpp:
17395 * rendering/style/StyleRareNonInheritedData.h:
17396
173972008-09-29 Chris Marrin <cmarrin@apple.com>
17398
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000017399 Reviewed by Eric Seidel
17400
simon.fraser@apple.comff913022008-09-29 21:24:52 +000017401 Clean up fix in PropertyWrapperGetter::equals
17402 https://bugs.webkit.org/show_bug.cgi?id=21011
17403
17404 Test: transitions/override-transition-crash.html
17405
17406 * page/animation/AnimationBase.cpp:
17407 (WebCore::PropertyWrapperGetter::equals):
17408 * page/animation/CompositeAnimation.cpp:
17409 (WebCore::CompositeAnimation::updateTransitions):
17410
174112008-09-29 Chris Marrin <cmarrin@apple.com>
17412
17413 Reviewed by Eric Seidel
17414
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000017415 https://bugs.webkit.org/show_bug.cgi?id=21001
17416 Starting transition after animation, when animation
17417 is finished, transition is wrong.
17418
17419 Test: animations/transition-and-animation-2.html
17420
17421 * page/animation/AnimationBase.h:
17422 * page/animation/CompositeAnimation.cpp:
17423 (WebCore::CompositeAnimation::updateTransitions):
17424 (WebCore::CompositeAnimation::updateKeyframeAnimations):
17425 (WebCore::CompositeAnimation::resetTransitions):
17426 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
17427 * page/animation/ImplicitAnimation.cpp:
17428 (WebCore::ImplicitAnimation::ImplicitAnimation):
17429 (WebCore::ImplicitAnimation::~ImplicitAnimation):
17430 (WebCore::ImplicitAnimation::animate):
17431 (WebCore::ImplicitAnimation::reset):
17432 * page/animation/ImplicitAnimation.h:
17433
174342008-09-29 Chris Marrin <cmarrin@apple.com>
17435
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +000017436 Reviewed by Sam Weinig
17437
17438 https://bugs.webkit.org/show_bug.cgi?id=20921
17439 -webkit-animation-timing-function: inside of keyframes is ignored
17440
17441 Test: animations/keyframe-timing-functions.html
17442
17443 * page/animation/AnimationBase.cpp:
17444 (WebCore::AnimationBase::progress):
17445 * page/animation/AnimationBase.h:
17446 * page/animation/ImplicitAnimation.cpp:
17447 (WebCore::ImplicitAnimation::animate):
17448 * page/animation/KeyframeAnimation.cpp:
17449 (WebCore::KeyframeAnimation::animate):
17450
mitz@apple.com2449a052008-09-29 20:57:33 +0000174512008-09-29 Dan Bernstein <mitz@apple.com>
17452
mitz@apple.com9a3e3c82008-09-29 21:04:54 +000017453 - Windows build fix
17454
17455 * platform/ScrollView.cpp:
17456 (WebCore::ScrollView::platformScroll):
17457
174582008-09-29 Dan Bernstein <mitz@apple.com>
17459
mitz@apple.com2449a052008-09-29 20:57:33 +000017460 - another attempt at a Windows build fix
17461
17462 * platform/ScrollView.cpp:
17463 (WebCore::platformScroll):
17464
174652008-09-29 Dan Bernstein <mitz@apple.com>
mitz@apple.comad171f12008-09-29 20:52:19 +000017466
17467 - Windows build fix
17468
17469 * platform/ScrollView.cpp:
17470 (WebCore::ScrollView::platformSetScrollPosition):
17471
hyatt@apple.com90abd562008-09-29 19:46:37 +0000174722008-09-29 David Hyatt <hyatt@apple.com>
17473
hyatt@apple.com4ce2a1d2008-09-29 20:09:59 +000017474 https://bugs.webkit.org/show_bug.cgi?id=21218
17475
17476 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
17477 It's silly that the code was this fragile, but for now just put the check back in.
17478
17479 Reviewed by Dan Bernstein
17480
17481 * platform/ScrollView.cpp:
17482 (WebCore::ScrollView::setScrollbarModes):
17483
174842008-09-29 David Hyatt <hyatt@apple.com>
17485
hyatt@apple.com90abd562008-09-29 19:46:37 +000017486 https://bugs.webkit.org/show_bug.cgi?id=21216
17487
17488 Make setScrollPosition and scroll() cross-platform.
17489
17490 Reviewed by Anders
17491
17492 * platform/ScrollView.cpp:
17493 (WebCore::ScrollView::setScrollPosition):
17494 (WebCore::ScrollView::scroll):
17495 * platform/ScrollView.h:
17496 * platform/gtk/ScrollViewGtk.cpp:
17497 * platform/mac/ScrollViewMac.mm:
17498 (WebCore::ScrollView::platformSetScrollPosition):
17499 (WebCore::ScrollView::platformScroll):
17500 * platform/qt/ScrollViewQt.cpp:
17501 * platform/win/ScrollViewWin.cpp:
17502 * platform/wx/ScrollViewWx.cpp:
17503 (WebCore::ScrollView::platformSetScrollPosition):
17504 (WebCore::ScrollView::platformScroll):
17505
kmccullough@apple.comed371682008-09-29 19:09:44 +0000175062008-09-29 Kevin McCullough <kmccullough@apple.com>
17507
17508 Reviewed by Oliver.
17509
17510 Bug 21139: Profiler log message is wrong
17511 - Because _format was called twice the number in the log was incremented
17512 too many times, but we were passing it around in the link the whole time
17513
17514 * page/inspector/ProfilesPanel.js:
17515 * page/inspector/inspector.js:
17516
weinig@apple.com7f3f95f2008-09-29 19:09:02 +0000175172008-09-29 Sam Weinig <sam@webkit.org>
17518
17519 Reviewed by Cameron Zwarich.
17520
17521 Autogenerate EventListeners, addEventListener and removeEventListener
17522 for JSDOMWindow.
17523
17524 * bindings/js/JSDOMWindowBase.cpp:
17525 * bindings/js/JSDOMWindowBase.h:
17526 * bindings/js/JSDOMWindowCustom.cpp:
17527 (WebCore::JSDOMWindow::onwebkitanimationstart):
17528 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
17529 (WebCore::JSDOMWindow::onwebkitanimationiteration):
17530 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
17531 (WebCore::JSDOMWindow::onwebkitanimationend):
17532 (WebCore::JSDOMWindow::setOnwebkitanimationend):
17533 (WebCore::JSDOMWindow::onwebkittransitionend):
17534 (WebCore::JSDOMWindow::setOnwebkittransitionend):
17535 (WebCore::JSDOMWindow::addEventListener):
17536 (WebCore::JSDOMWindow::removeEventListener):
17537 (WebCore::JSDOMWindow::setListener):
17538 (WebCore::JSDOMWindow::getListener):
17539 * bindings/scripts/CodeGeneratorJS.pm:
17540 * page/DOMWindow.idl:
17541
hausmann@webkit.orgf6964472008-09-29 12:47:08 +0000175422008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
17543
17544 Reviewed by Simon.
17545
17546 Changed copyright from Trolltech ASA to Nokia.
17547
17548 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
17549
17550 * bindings/js/JSMimeTypeArrayCustom.cpp:
17551 * bindings/js/JSNavigatorCustom.cpp:
17552 * bindings/js/JSPluginArrayCustom.cpp:
17553 * bindings/js/JSPluginCustom.cpp:
17554 * bindings/js/ScriptControllerMac.mm:
17555 * bindings/js/ScriptControllerQt.cpp:
17556 * bridge/qt/qt_class.cpp:
17557 * bridge/qt/qt_class.h:
17558 * bridge/qt/qt_instance.cpp:
17559 * bridge/qt/qt_instance.h:
17560 * bridge/qt/qt_runtime.cpp:
17561 * bridge/qt/qt_runtime.h:
17562 * bridge/testqtbindings.cpp:
17563 * css/makegrammar.pl:
17564 * css/makeprop.pl:
17565 * css/makevalues.pl:
17566 * dom/Node.cpp:
17567 * dom/TagNodeList.cpp:
17568 * dom/TagNodeList.h:
17569 * dom/XMLTokenizer.cpp:
17570 * dom/XMLTokenizer.h:
17571 * dom/XMLTokenizerLibxml2.cpp:
17572 * dom/XMLTokenizerQt.cpp:
17573 * editing/Editor.cpp:
17574 * editing/EditorCommand.cpp:
17575 * html/CanvasRenderingContext2D.cpp:
17576 * html/CanvasStyle.cpp:
17577 * html/HTMLAppletElement.cpp:
17578 * html/HTMLEmbedElement.cpp:
17579 * html/HTMLObjectElement.cpp:
17580 * loader/FrameLoader.cpp:
17581 * page/Chrome.cpp:
17582 * page/EditorClient.h:
17583 * page/Frame.cpp:
17584 * page/Frame.h:
17585 * page/FramePrivate.h:
17586 * page/Navigator.cpp:
17587 * page/Navigator.h:
17588 * page/Navigator.idl:
17589 * page/mac/FrameMac.mm:
17590 * page/qt/EventHandlerQt.cpp:
17591 * platform/graphics/qt/FontCacheQt.cpp:
17592 * platform/graphics/qt/FontCustomPlatformData.cpp:
17593 * platform/graphics/qt/FontCustomPlatformData.h:
17594 * platform/graphics/qt/FontPlatformData.h:
17595 * platform/graphics/qt/FontQt.cpp:
17596 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
17597 * platform/graphics/qt/GraphicsContextQt.cpp:
17598 * platform/graphics/qt/ImageDecoderQt.cpp:
17599 * platform/graphics/qt/ImageDecoderQt.h:
17600 * platform/graphics/qt/ImageSourceQt.cpp:
17601 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17602 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
17603 * platform/graphics/qt/SimpleFontDataQt.cpp:
17604 * platform/gtk/MIMETypeRegistryGtk.cpp:
17605 * platform/mac/MIMETypeRegistryMac.mm:
17606 * platform/network/qt/QNetworkReplyHandler.cpp:
17607 * platform/network/qt/QNetworkReplyHandler.h:
17608 * platform/network/qt/ResourceHandleQt.cpp:
17609 * platform/network/qt/ResourceRequestQt.cpp:
17610 * platform/qt/ClipboardQt.cpp:
17611 * platform/qt/EventLoopQt.cpp:
17612 * platform/qt/KURLQt.cpp:
17613 * platform/qt/LoggingQt.cpp:
17614 * platform/qt/MIMETypeRegistryQt.cpp:
17615 * platform/qt/PasteboardQt.cpp:
17616 * platform/qt/PlatformScreenQt.cpp:
17617 * platform/qt/PopupMenuQt.cpp:
17618 * platform/qt/QWebPopup.cpp:
17619 * platform/qt/QWebPopup.h:
17620 * platform/qt/RenderThemeQt.cpp:
17621 * platform/qt/ScrollbarQt.cpp:
17622 * platform/qt/ScrollbarThemeQt.cpp:
17623 * platform/qt/WheelEventQt.cpp:
17624 * platform/qt/html4-adjustments-qt.css:
17625 * platform/wx/MimeTypeRegistryWx.cpp:
17626 * plugins/MimeType.cpp:
17627 * plugins/MimeType.h:
17628 * plugins/MimeType.idl:
17629 * plugins/MimeTypeArray.cpp:
17630 * plugins/MimeTypeArray.h:
17631 * plugins/MimeTypeArray.idl:
17632 * plugins/Plugin.cpp:
17633 * plugins/Plugin.h:
17634 * plugins/Plugin.idl:
17635 * plugins/PluginArray.cpp:
17636 * plugins/PluginArray.h:
17637 * plugins/PluginArray.idl:
17638 * plugins/PluginData.cpp:
17639 * plugins/PluginData.h:
17640 * plugins/gtk/PluginDataGtk.cpp:
17641 * plugins/mac/PluginDataMac.mm:
17642 * plugins/qt/PluginDataQt.cpp:
17643 * plugins/win/PluginDataWin.cpp:
17644 * rendering/RenderTableCol.cpp:
17645 * rendering/RenderTableCol.h:
17646
hausmann@webkit.org37374992008-09-29 09:03:09 +0000176472008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
17648
17649 Reviewed by Simon
17650
17651 Fix compilation with gcc 4.3
17652
17653 gcc 4.3 is stricter and ctype.h isn't getting included
17654 automatically here by dependencies. So do it directly.
17655
17656 * platform/qt/PlatformKeyboardEventQt.cpp:
17657
hausmann@webkit.org48d7bb52008-09-29 09:02:56 +0000176582008-09-29 Morten Sørvig <msorvig@trolltech.com>
17659
17660 Reviewed by Simon.
17661
17662 Fix compilation with Qt/Mac without plugins.
17663
17664 * platform/qt/TemporaryLinkStubs.cpp:
17665
mrowe@apple.com2c478db2008-09-29 08:20:37 +0000176662008-09-29 Mark Rowe <mrowe@apple.com>
17667
17668 Reviewed by Sam Weinig.
17669
17670 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
17671 In the few places that we call .upper() in WebCore the strings represent things like
17672 tag and attribute names, which are nearly always going to be ASCII.
17673
17674 * platform/text/StringImpl.cpp:
17675 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
17676 in to Unicode::toLower the second time.
17677 (WebCore::StringImpl::upper):
17678
mrowe@apple.com512eca02008-09-29 08:19:09 +0000176792008-09-28 Mark Rowe <mrowe@apple.com>
17680
mrowe@apple.com49797322008-09-29 08:19:14 +000017681 Reviewed by Sam Weinig.
17682
17683 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
17684 rather than String::operator+=.
17685
17686 * css/CSSPrimitiveValue.cpp:
17687 (WebCore::CSSPrimitiveValue::cssText):
17688
176892008-09-28 Mark Rowe <mrowe@apple.com>
17690
mrowe@apple.com512eca02008-09-29 08:19:09 +000017691 Reviewed by Oliver Hunt.
17692
17693 Speed up computedStyle.getPropertyValue('color') by 4.5x.
17694
17695 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
17696 as it avoids many memory reallocations.
17697
17698 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
17699 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
17700 unrelated properties on an element.
17701
17702 * css/CSSPrimitiveValue.cpp:
17703 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
17704 and use appendNumber rather than the String::number in order to cut down on memory allocations.
17705 * platform/text/PlatformString.h:
17706 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
17707 into a Vector<UChar>.
17708
weinig@apple.com4df73d92008-09-29 03:41:35 +0000177092008-09-28 Sam Weinig <sam@webkit.org>
17710
weinig@apple.com9af39ef2008-09-29 04:16:15 +000017711 Reviewed by Anders Carlsson.
17712
17713 Remove spurious call to lower().
17714
17715 * css/MediaQueryEvaluator.cpp:
17716 (WebCore::MediaQueryEvaluator):
17717
177182008-09-28 Sam Weinig <sam@webkit.org>
17719
weinig@apple.com4df73d92008-09-29 03:41:35 +000017720 Reviewed by Dan Bernstein.
17721
17722 Use a CaseFoldingHash instead of calling lower on family strings.
17723
17724 * css/CSSFontSelector.cpp:
17725 (WebCore::CSSFontSelector::addFontFaceRule):
17726 (WebCore::CSSFontSelector::getFontData):
17727 * css/CSSFontSelector.h:
17728
timothy@apple.com810c9892008-09-28 23:31:25 +0000177292008-09-28 Timothy Hatcher <timothy@apple.com>
17730
17731 Remove the scrollIntoViewIfNeeded() call when drawing the
17732 Inspector node highlight.
17733
17734 <rdar://problem/6115804> Don't scroll when highlighting (21000)
17735 https://bugs.webkit.org/show_bug.cgi?id=21000
17736
17737 Reviewed by Dan Bernstein.
17738
17739 * page/InspectorController.cpp:
17740 (WebCore::InspectorController::drawNodeHighlight):
17741
hyatt@apple.come6ebc992008-09-28 19:58:14 +0000177422008-09-28 David Hyatt <hyatt@apple.com>
17743
17744 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
17745 changed.
17746
17747 Reviewed by Dan Bernstein
17748
17749 * platform/mac/ScrollbarThemeMac.mm:
17750 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
17751
timothy@apple.com47a6d492008-09-28 19:52:30 +0000177522008-09-28 Timothy Hatcher <timothy@apple.com>
17753
17754 Clear the current search results in the Inspector when
17755 the search query is less than 3 characters long. Incremental
17756 searches only occur for 3 characters or longer, but deleting
17757 under this limit would not clear the results unless the whole
17758 query was deleted.
17759
17760 https://bugs.webkit.org/show_bug.cgi?id=21196
17761
17762 Reviewed by Dan Bernstein.
17763
17764 * page/inspector/inspector.js:
17765 (WebInspector.performSearch): Check for short queries in the
17766 if statement that triggers the clear.
17767
mitz@apple.comc7980632008-09-28 19:38:50 +0000177682008-09-28 Dan Bernstein <mitz@apple.com>
17769
17770 Reviewed by Dave Hyatt.
17771
17772 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
17773
17774 * platform/graphics/win/FontCustomPlatformData.cpp:
17775 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
17776 overlayLength parameters.
mitz@apple.com20ac00b2008-09-28 19:41:30 +000017777 (WebCore::EOTStream::read): Added code to overlay the
mitz@apple.comc7980632008-09-28 19:38:50 +000017778 m_overlayLength bytes starting at m_overlayDst with the same number of
17779 bytes from m_overlaySrc.
17780 (WebCore::createFontCustomPlatformData): Changed to get overlay
17781 parameters from getEOTHeader.
17782 * platform/graphics/win/GetEOTHeader.cpp:
17783 (WebCore::getEOTHeader): Added code to specify overlaying of the
17784 family name with the prefix of the full name if they differ, because
17785 that such a difference causes TTLoadEmbeddedFont to fail.
17786 * platform/graphics/win/GetEOTHeader.h:
17787
ap@webkit.orgdf67f132008-09-28 13:23:51 +0000177882008-09-28 Alexey Proskuryakov <ap@webkit.org>
17789
17790 Reviewed by Eric Seidel.
17791
17792 https://bugs.webkit.org/show_bug.cgi?id=20366
17793 Reproducible test failure for editing/undo/undo-iframe-location-change.html
17794
17795 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
17796
darin@apple.com80c76ce2008-09-28 09:35:06 +0000177972008-09-28 Darin Adler <darin@apple.com>
17798
17799 Reviewed by Sam Weinig (except for a few comment and header tweaks).
17800
17801 - https://bugs.webkit.org/show_bug.cgi?id=21158
17802 reduce use of virtual functions in Node for speed
17803
17804 Speeds up Dromaeo a bit less than 1%.
17805
17806 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
17807 Node.h now that some inlines are in there.
17808
17809 * dom/Attr.h: Override both the virtual and non-virtual name functions.
17810
17811 * dom/ChildNodeList.cpp:
17812 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
17813 * dom/ChildNodeList.h: Ditto.
17814 * dom/ClassNodeList.cpp:
17815 (WebCore::ClassNodeList::nodeMatches): Ditto.
17816 * dom/ClassNodeList.h: Ditto.
17817
17818 * dom/Document.h: Put the Node::isDocumentNode() function's inline
17819 definition here where it can see the Document class definition.
17820
17821 * dom/DynamicNodeList.cpp:
17822 (WebCore::DynamicNodeList::length): Changed to pass an Element.
17823 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
17824 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
17825 (WebCore::DynamicNodeList::itemWithName): Ditto.
17826 * dom/DynamicNodeList.h: Ditto.
17827
17828 * dom/Element.cpp: Removed virtualHasTagName.
17829 * dom/Element.h: Made localName, prefix, namespaceURI, and
17830 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
17831 virtualNamespaceURI, and removed virtualHasTagName. Put the
17832 Node::hasTagName, Node::hasAttributes, and Node::attributes
17833 functions' inline definitions here where they can see the Element
17834 class definition.
17835
17836 * dom/NameNodeList.cpp:
17837 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
17838 * dom/NameNodeList.h: Ditto.
17839
17840 * dom/Node.cpp:
17841 (WebCore::Node::virtualPrefix): Renamed from prefix.
17842 (WebCore::Node::virtualLocalName): Renamed from localName.
17843 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
17844 (WebCore::Node::styleForRenderer): Handle the Element case here.
17845
17846 * dom/Node.h: Removed definition of hasTagName that calls virtual,
17847 since we now have a non-virtual version. Made hasAttributes,
17848 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
17849 and styleForRenderer non-virtual. Added virtualPrefix,
17850 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
17851 and setMalformed, which are used only on HTMLFormElement objects.
17852
17853 * dom/TagNodeList.cpp:
17854 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
17855 * dom/TagNodeList.h: Ditto.
17856
17857 * html/HTMLAnchorElement.cpp: Added a comment.
17858 * html/HTMLFormControlElement.cpp: Ditto.
17859
17860 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
17861 function. Marked tabIndex function virtual explicitly for clarity.
17862
17863 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
17864 function. Marked isFocusable function virtual explicitly for clarity.
17865
17866 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
17867 clarity.
17868 * html/HTMLFormControlElement.h: Ditto.
17869
17870 * html/HTMLFormElement.h: Made isMalformed non-virtual.
17871
17872 * html/HTMLParser.cpp:
17873 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
17874 pointer to call localName since that one does not need to call a virtual
17875 function.
17876
17877 * rendering/RenderBlock.cpp:
17878 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
17879 calling isMalformed. We already did a tag name check so we know it's
17880 an HTMLFormELement.
17881
17882 * xml/XPathUtil.cpp:
17883 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
17884 to nodeType(), since it's a virtual function.
17885
hyatt@apple.com2225aef2008-09-28 08:52:26 +0000178862008-09-28 David Hyatt <hyatt@apple.com>
17887
17888 Make frameRectsChanged() cross-platform on ScrollView.
17889
17890 Reviewed by Oliver Hunt
17891
17892 * platform/ScrollView.cpp:
17893 (WebCore::ScrollView::frameRectsChanged):
17894 * platform/ScrollView.h:
17895 * platform/gtk/ScrollViewGtk.cpp:
17896 * platform/qt/ScrollViewQt.cpp:
17897 * platform/win/ScrollViewWin.cpp:
17898 * platform/wx/ScrollViewWx.cpp:
17899
oliver@apple.combec35402008-09-28 08:36:39 +0000179002008-09-28 Oliver Hunt <oliver@apple.com>
17901
17902 Reviewed by Maciej Stachowiak.
17903
17904 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
17905 <https://bugs.webkit.org/show_bug.cgi?id=21141>
17906
17907 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
17908 were not initialising their StructureID's to indicate that the wrapper
17909 overrides hasInstance, etc. The solution is simply to use the createStructureID
17910 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
17911
17912 * bindings/js/JSInspectedObjectWrapper.cpp:
17913 (WebCore::JSInspectedObjectWrapper::wrap):
17914
hyatt@apple.comaede3de2008-09-28 08:21:09 +0000179152008-09-28 David Hyatt <hyatt@apple.com>
17916
hyatt@apple.com8fdb58c2008-09-28 08:29:47 +000017917 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
17918 terms of lines.
17919
17920 Reviewed by Oliver Hunt
17921
17922 * dom/EventTargetNode.cpp:
17923 (WebCore::EventTargetNode::dispatchWheelEvent):
17924
179252008-09-28 David Hyatt <hyatt@apple.com>
17926
hyatt@apple.comaede3de2008-09-28 08:21:09 +000017927 https://bugs.webkit.org/show_bug.cgi?id=21191
17928
17929 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
17930 on ScrollView to be cross-platform.
17931
17932 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
17933 events are now pixel wheel events.
17934
17935 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
17936 (1) Page scrolling has been corrected to be properly detected (on Windows
17937 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
17938 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
17939 you could page scroll horizontally.
17940 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
17941 This caused the scroll amount for page scrolling to be way too large on layers.
17942
17943 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
17944
17945 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
17946 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
17947
17948 Reviewed by Oliver Hunt
17949
17950 * editing/EditorCommand.cpp:
17951 (WebCore::verticalScrollDistance):
17952 * page/EventHandler.cpp:
17953 (WebCore::scrollAndAcceptEvent):
17954 (WebCore::EventHandler::handleWheelEvent):
17955 * platform/PlatformWheelEvent.h:
17956 (WebCore::):
17957 (WebCore::PlatformWheelEvent::pos):
17958 (WebCore::PlatformWheelEvent::globalPos):
17959 (WebCore::PlatformWheelEvent::deltaX):
17960 (WebCore::PlatformWheelEvent::deltaY):
17961 (WebCore::PlatformWheelEvent::granularity):
17962 (WebCore::PlatformWheelEvent::x):
17963 (WebCore::PlatformWheelEvent::globalX):
17964 (WebCore::PlatformWheelEvent::ignore):
17965 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
17966 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
17967 * platform/ScrollView.cpp:
17968 (WebCore::ScrollView::wheelEvent):
17969 * platform/Scrollbar.h:
17970 * platform/gtk/ScrollViewGtk.cpp:
17971 (WebCore::ScrollView::updateScrollbars):
17972 * platform/gtk/WheelEventGtk.cpp:
17973 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17974 * platform/mac/ScrollViewMac.mm:
17975 * platform/mac/WheelEventMac.mm:
17976 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17977 * platform/qt/ScrollViewQt.cpp:
17978 (WebCore::ScrollView::updateScrollbars):
17979 * platform/qt/WheelEventQt.cpp:
17980 * platform/win/ScrollViewWin.cpp:
17981 (WebCore::ScrollView::updateScrollbars):
17982 * platform/win/WheelEventWin.cpp:
17983 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
17984 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
17985 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17986 * platform/wx/ScrollViewWx.cpp:
17987 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
17988 (WebCore::ScrollView::wheelEvent):
17989 * rendering/RenderLayer.cpp:
17990 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
17991
eric.carlson@apple.comebb3e442008-09-28 05:38:57 +0000179922008-09-27 Eric Carlson <eric.carlson@apple.com>
17993
17994 Reviewed by Sam Weinig.
17995
17996 fix https://bugs.webkit.org/show_bug.cgi?id=20994
17997 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
17998
17999 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
18000 all unsigned media attributes from string with toUInt() instead of toInt().
18001
18002 * html/HTMLMediaElement.cpp:
18003 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
18004
18005 * html/HTMLVideoElement.cpp:
18006 (WebCore::HTMLVideoElement::videoWidth):
18007 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
18008 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
18009 unsigned value.
18010 (WebCore::HTMLVideoElement::height): Ditto.
18011 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
18012 (WebCore::HTMLVideoElement::setHeight): Ditto.
18013
18014 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
18015
18016 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
18017
timothy@apple.coma8215632008-09-28 04:40:53 +0000180182008-09-27 Timothy Hatcher <timothy@apple.com>
18019
timothy@apple.combe91da22008-09-28 04:40:58 +000018020 Fixes an exception when typing a command in the Console.
18021
18022 Reviewed by Oliver Hunt.
18023
18024 * page/inspector/Console.js:
18025 (WebInspector.Console.prototype.addMessage): Null check
18026 this.previosMessage.
18027
180282008-09-27 Timothy Hatcher <timothy@apple.com>
18029
timothy@apple.coma8215632008-09-28 04:40:53 +000018030 Fixes a bug where the Profiles panel sidebar would be empty
18031 after closing and reopening the Web Inspector.
18032
18033 https://bugs.webkit.org/show_bug.cgi?id=21179
18034
18035 Reviewed by Sam Weinig.
18036
18037 * page/inspector/ProfilesPanel.js:
18038 (WebInspector.ProfilesPanel.prototype.reset): Don't call
18039 populateInterface, it is called automatically.
18040 (WebInspector.ProfilesPanel.prototype._populateProfiles):
18041 Return early if the sidebar is already populated.
18042
hyatt@apple.com81664322008-09-28 04:38:21 +0000180432008-09-27 Dave Hyatt <hyatt@apple.com>
18044
18045 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
18046 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
18047 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
18048 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
18049
18050 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
18051 (which should never have landed in the first place).
18052
18053 Reviewed by Tim Hatcher, Sam Weinig
18054
18055 * platform/win/ScrollViewWin.cpp:
18056 (WebCore::adjustDeltaForPageScrollMode):
18057 (WebCore::ScrollView::updateScrollbars):
18058 (WebCore::ScrollView::wheelEvent):
18059
hyatt@apple.com880cbb12008-09-28 03:51:41 +0000180602008-09-27 David Hyatt <hyatt@apple.com>
18061
18062 Make the scrollbarUnderMouse method cross-platform.
18063
18064 Reviewed by Sam Weinig
18065
18066 * platform/ScrollView.cpp:
18067 (WebCore::ScrollView::scrollbarUnderMouse):
18068 * platform/gtk/ScrollViewGtk.cpp:
18069 * platform/mac/ScrollViewMac.mm:
18070 * platform/qt/ScrollViewQt.cpp:
18071 * platform/win/ScrollViewWin.cpp:
18072 * platform/wx/ScrollViewWx.cpp:
18073
zecke@webkit.org7bf12c62008-09-28 01:50:42 +0000180742008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
18075
18076 Gtk+ build fix.
18077
18078 * platform/gtk/ScrollViewGtk.cpp:
18079 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
18080
zecke@webkit.org202af282008-09-28 01:49:45 +0000180812008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
18082
18083 Reviewed by Holger Freyther.
18084
18085 https://bugs.webkit.org/show_bug.cgi?id=20287
18086 [Gtk] disable plugins for gtk/directfb target
18087
18088 Introduce WTF_PLATFORM_X11 for X11 builds.
18089 Also use target-specific packages when building the port
18090
18091 * platform/gtk/PlatformScreenGtk.cpp:
18092 * plugins/gtk/PluginViewGtk.cpp:
18093 (WebCore::PluginView::updatePluginWidget):
18094 (WebCore::PluginView::getValueStatic):
18095 (WebCore::PluginView::getValue):
18096 (WebCore::PluginView::init):
18097
hyatt@apple.come6f04e52008-09-28 01:07:05 +0000180982008-09-27 David Hyatt <hyatt@apple.com>
18099
18100 https://bugs.webkit.org/show_bug.cgi?id=21188
18101
18102 Make scrollbar suppression and resizer avoidance cross-platform.
18103
18104 Reviewed by Anders
18105
18106 * loader/FrameLoader.cpp:
18107 (WebCore::FrameLoader::transitionToCommitted):
18108 * page/FrameView.cpp:
18109 (WebCore::FrameView::resetScrollbars):
18110 (WebCore::FrameView::clear):
18111 (WebCore::FrameView::layout):
18112 (WebCore::FrameView::restoreScrollbar):
18113 (WebCore::FrameView::windowResizerRect):
18114 * page/FrameView.h:
18115 * platform/ScrollView.cpp:
18116 (WebCore::ScrollView::init):
18117 (WebCore::ScrollView::resizerOverlapsContent):
18118 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
18119 (WebCore::ScrollView::setParent):
18120 (WebCore::ScrollView::setScrollbarsSuppressed):
18121 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
18122 * platform/ScrollView.h:
18123 (WebCore::ScrollView::scrollbarsSuppressed):
18124 (WebCore::ScrollView::windowResizerRect):
18125 * platform/Scrollbar.cpp:
18126 (WebCore::Scrollbar::setFrameRect):
18127 (WebCore::Scrollbar::setParent):
18128 * platform/gtk/ScrollViewGtk.cpp:
18129 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
18130 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
18131 (WebCore::ScrollView::updateScrollbars):
18132 (WebCore::ScrollView::paint):
18133 * platform/mac/ScrollViewMac.mm:
18134 (WebCore::ScrollView::ScrollView):
18135 (WebCore::ScrollView::~ScrollView):
18136 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
18137 (WebCore::ScrollView::setScrollPosition):
18138 * platform/qt/ScrollViewQt.cpp:
18139 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
18140 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
18141 (WebCore::ScrollView::frameRectsChanged):
18142 (WebCore::ScrollView::updateScrollbars):
18143 (WebCore::ScrollView::paint):
18144 * platform/win/ScrollViewWin.cpp:
18145 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
18146 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
18147 (WebCore::ScrollView::updateScrollbars):
18148 (WebCore::ScrollView::paint):
18149 * platform/wx/ScrollViewWx.cpp:
18150 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
18151
zecke@webkit.org0034c712008-09-27 23:46:50 +0000181522008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
18153
18154 Rubber-stamped by Anders Carlsson.
18155
18156 Compile fix.
18157
18158 * plugins/PluginView.cpp:
18159 (WebCore::PluginView::load):
18160
mrowe@apple.com0f9c3da9d2008-09-27 23:23:24 +0000181612008-09-27 Mark Rowe <mrowe@apple.com>
18162
18163 Rubber-stamped by Sam Weinig.
18164
18165 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
18166 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
18167
18168 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
18169
18170 * loader/CachedResource.cpp:
18171 (WebCore::CachedResource::~CachedResource):
18172
zecke@webkit.org47132852008-09-27 22:45:21 +0000181732008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
18174
18175 Reviewed by Simon Hausmann.
18176
zecke@webkit.orgfe2082a2008-09-27 22:46:55 +000018177 [qt] Use QImageReader to figure out which image formats are supported
18178 - Qt can have many different plugins for different image formats. Instead
18179 of checking only for a few in WebCore use Qt to determine if this data
18180 can be treated as an image.
18181
18182 * platform/graphics/qt/ImageSourceQt.cpp:
18183 (WebCore::canHandleImage):
18184 (WebCore::createDecoder):
18185
181862008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
18187
18188
zecke@webkit.org47132852008-09-27 22:45:21 +000018189 [qt] Clean the pattern code
18190 - Use save/restore on the painter after manipulating the
18191 pen/brush
18192 - Make the context and object null checking consistent. CG is using
18193 the object unconditionally so the Qt webkit platform can do the
18194 same.
18195 - Move code below the early exit. Only use the m_ownerElement before
18196 the early exit as the CG code is doing it.
18197
18198 * svg/graphics/SVGPaintServerPattern.h:
18199 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
18200 (WebCore::SVGPaintServerPattern::setup):
18201 (WebCore::SVGPaintServerPattern::teardown):
18202
timothy@apple.com345f1af2008-09-27 22:18:35 +0000182032008-09-27 Keishi Hattori <casey.hattori@gmail.com>
18204
18205 Added support for console.trace.
18206
18207 https://bugs.webkit.org/show_bug.cgi?id=19157
18208
18209 Reviewed by Kevin McCullough and Tim Hatcher.
18210
18211 * bindings/js/JSConsoleCustom.cpp:
18212 (WebCore::JSConsole::trace):
18213 * page/Console.cpp:
18214 (WebCore::Console::trace): Calls Machine::retrieveCaller to
18215 get a stack trace.
18216 * page/Console.h:
18217 (WebCore::): Added TraceMessageLevel.
18218 * page/Console.idl: Added console.trace.
18219 * page/inspector/Console.js:
18220 (ConsoleMessage): Added case for TraceMessageLevel.
18221
andersca@apple.com6b8e0a22008-09-27 21:28:40 +0000182222008-09-27 Anders Carlsson <andersca@apple.com>
18223
18224 Reviewed by Sam Weinig.
18225
18226 https://bugs.webkit.org/show_bug.cgi?id=21178
18227 <rdar://problem/6248651>
18228
18229 Check if the plug-in is allowed to load the resource. This matches Firefox.
18230
18231 Test: http/tests/plugins/local-geturl-from-remote.html
18232
18233 * plugins/PluginView.cpp:
18234 (WebCore::PluginView::load):
18235
zecke@webkit.org91ee65a2008-09-27 21:06:35 +0000182362008-09-22 Dirk Schulze <vbs85@gmx.de>
18237
18238 Reviewed by Eric Seidel.
18239
18240 Added SVG pattern support to Qt.
18241
18242 [Qt] SVG patterns are missing
18243 https://bugs.webkit.org/show_bug.cgi?id=20973
18244
18245 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
18246 (WebCore::SVGPaintServerPattern::setup):
18247
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +0000182482008-09-27 Keishi Hattori <casey.hattori@gmail.com>
18249
18250 Fixed a bug in the JS syntax highlighter with multiple line tokens.
18251
18252 https://bugs.webkit.org/show_bug.cgi?id=21171
18253
18254 Reviewed by Tim Hatcher.
18255
18256 * page/inspector/SourceFrame.js:
18257 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
18258
timothy@apple.com5b4b3d02008-09-27 20:18:03 +0000182592008-09-27 Timothy Hatcher <timothy@apple.com>
18260
18261 Change searching in the Profiles panel to not match the
18262 Self and Total columns when there are no units. The only
18263 column that is matched for unitless number searches is
18264 now the Calls column.
18265
18266 https://bugs.webkit.org/show_bug.cgi?id=21169
18267
18268 Reviewed by Sam Weinig.
18269
18270 * page/inspector/ProfileView.js:
18271 (WebInspector.ProfileView.prototype.performSearch):
18272
hyatt@apple.com0fd13952008-09-27 19:56:56 +0000182732008-09-27 David Hyatt <hyatt@apple.com>
18274
18275 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
18276
18277 Reviewed by Sam Weinig
18278
18279 * platform/ScrollView.h:
18280 * platform/Widget.h:
18281 (WebCore::Widget::boundsRect):
18282 (WebCore::Widget::invalidate):
18283 (WebCore::Widget::frameRectsChanged):
18284 * platform/gtk/ScrollViewGtk.cpp:
18285 (WebCore::ScrollViewScrollbar::frameRectsChanged):
18286 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
18287 (WebCore::ScrollView::setFrameRect):
18288 (WebCore::ScrollView::updateScrollbars):
18289 (WebCore::ScrollView::frameRectsChanged):
18290 * platform/gtk/ScrollbarGtk.cpp:
18291 (ScrollbarGtk::setFrameRect):
18292 (ScrollbarGtk::frameRectsChanged):
18293 * platform/gtk/ScrollbarGtk.h:
18294 * platform/gtk/WidgetGtk.cpp:
18295 * platform/qt/ScrollViewQt.cpp:
18296 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
18297 (WebCore::ScrollView::setFrameRect):
18298 (WebCore::ScrollView::frameRectsChanged):
18299 (WebCore::ScrollView::updateScrollbars):
18300 * platform/win/ScrollViewWin.cpp:
18301 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
18302 (WebCore::ScrollView::setFrameRect):
18303 (WebCore::ScrollView::updateScrollbars):
18304 (WebCore::ScrollView::frameRectsChanged):
18305 * plugins/PluginView.cpp:
18306 (WebCore::PluginView::frameRectsChanged):
18307 * plugins/PluginView.h:
18308
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +0000183092008-09-27 Simon Hausmann <hausmann@webkit.org>
18310
hausmann@webkit.orge49722f2008-09-27 19:49:01 +000018311 Refix the previous build fix to compile on non-Qt platforms, too.
18312
18313 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
18314 WebCore to generate the PrototypeTable in the WebCore namespace
18315 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
18316 table remains in the Webcore namespace
18317 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
18318
183192008-09-27 Simon Hausmann <hausmann@webkit.org>
18320
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +000018321 Fix compilation with gcc 4.3 (probably > 4.0)
18322
18323 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
18324 get/put functions inside the WebCore namespace.
18325 * bindings/js/JSEventTargetBase.cpp: Ditto.
18326 * bindings/js/JSEventTargetNode.cpp: Ditto.
18327 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
18328 * bindings/js/JSEventTargetBase.h: Forward declare
18329 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
18330 defines it in the JSC namespace.
18331 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
18332 prefix for PrototypeTable symbol.
18333
hyatt@apple.come7c12342008-09-27 07:43:38 +0000183342008-09-27 David Hyatt <hyatt@apple.com>
18335
hyatt@apple.com53634ac2008-09-27 08:01:26 +000018336 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
18337
18338 Reviewed by Dan Bernstein
18339
18340 * WebCore.base.exp:
18341 * page/FrameView.cpp:
18342 (WebCore::FrameView::FrameView):
18343 (WebCore::FrameView::updateControlTints):
18344 * platform/ScrollView.h:
18345 * platform/Scrollbar.cpp:
18346 (WebCore::Scrollbar::Scrollbar):
18347 (WebCore::Scrollbar::paint):
18348 (WebCore::Scrollbar::setFrameRect):
18349 * platform/Scrollbar.h:
18350 * platform/ScrollbarThemeComposite.cpp:
18351 (WebCore::ScrollbarThemeComposite::paint):
18352 * platform/Widget.h:
18353 (WebCore::Widget::x):
18354 (WebCore::Widget::y):
18355 (WebCore::Widget::width):
18356 (WebCore::Widget::height):
18357 (WebCore::Widget::size):
18358 (WebCore::Widget::pos):
18359 (WebCore::Widget::resize):
18360 (WebCore::Widget::move):
18361 * platform/gtk/ScrollViewGtk.cpp:
18362 (WebCore::ScrollViewScrollbar::geometryChanged):
18363 (WebCore::ScrollView::update):
18364 (WebCore::ScrollView::setFrameRect):
18365 (WebCore::ScrollView::updateScrollbars):
18366 (WebCore::ScrollView::scrollbarUnderMouse):
18367 (WebCore::ScrollView::paint):
18368 * platform/gtk/ScrollbarGtk.cpp:
18369 (ScrollbarGtk::setFrameRect):
18370 (ScrollbarGtk::geometryChanged):
18371 * platform/gtk/ScrollbarGtk.h:
18372 * platform/gtk/WidgetGtk.cpp:
18373 (WebCore::Widget::frameRect):
18374 (WebCore::Widget::setFrameRect):
18375 * platform/mac/ScrollbarThemeMac.mm:
18376 (WebCore::ScrollbarThemeMac::trackRect):
18377 (WebCore::ScrollbarThemeMac::paint):
18378 * platform/mac/WidgetMac.mm:
18379 (WebCore::Widget::frameRect):
18380 (WebCore::Widget::setFrameRect):
18381 * platform/qt/ScrollViewQt.cpp:
18382 (WebCore::ScrollView::setFrameRect):
18383 (WebCore::ScrollView::updateScrollbars):
18384 (WebCore::ScrollView::scrollbarUnderMouse):
18385 (WebCore::ScrollView::paint):
18386 * platform/qt/ScrollbarThemeQt.cpp:
18387 (WebCore::styleOptionSlider):
18388 * platform/qt/WidgetQt.cpp:
18389 (WebCore::Widget::frameRect):
18390 (WebCore::Widget::setFrameRect):
18391 * platform/win/PopupMenuWin.cpp:
18392 (WebCore::PopupMenu::invalidateItem):
18393 (WebCore::PopupMenu::valueChanged):
18394 (WebCore::PopupWndProc):
18395 * platform/win/ScrollViewWin.cpp:
18396 (WebCore::ScrollView::setFrameRect):
18397 (WebCore::ScrollView::updateScrollbars):
18398 (WebCore::ScrollView::scrollbarUnderMouse):
18399 (WebCore::ScrollView::paint):
18400 * platform/win/ScrollbarThemeSafari.cpp:
18401 (WebCore::ScrollbarThemeSafari::trackRect):
18402 * platform/win/WidgetWin.cpp:
18403 (WebCore::Widget::frameRect):
18404 (WebCore::Widget::setFrameRect):
18405 * platform/wx/WidgetWx.cpp:
18406 (WebCore::Widget::frameRect):
18407 (WebCore::Widget::setFrameRect):
18408 * plugins/PluginView.cpp:
18409 (WebCore::PluginView::setFrameRect):
18410 * plugins/PluginView.h:
18411 * plugins/gtk/PluginViewGtk.cpp:
18412 (WebCore::PluginView::updatePluginWidget):
18413 (WebCore::PluginView::paint):
18414 (WebCore::PluginView::init):
18415 * plugins/qt/PluginViewQt.cpp:
18416 (WebCore::PluginView::updatePluginWidget):
18417 (WebCore::PluginView::init):
18418 * plugins/win/PluginViewWin.cpp:
18419 (WebCore::PluginView::updatePluginWidget):
18420 (WebCore::PluginView::paintMissingPluginIcon):
18421 (WebCore::PluginView::paint):
18422 (WebCore::PluginView::init):
18423 * rendering/RenderLayer.cpp:
18424 (WebCore::RenderLayer::positionOverflowControls):
18425 * rendering/RenderListBox.cpp:
18426 (WebCore::RenderListBox::paintScrollbar):
18427 * rendering/RenderPart.cpp:
18428 (WebCore::RenderPart::updateWidgetPosition):
18429 * rendering/RenderWidget.cpp:
18430 (WebCore::RenderWidget::setWidgetGeometry):
18431 (WebCore::RenderWidget::updateWidgetPosition):
18432
184332008-09-27 David Hyatt <hyatt@apple.com>
18434
hyatt@apple.come7c12342008-09-27 07:43:38 +000018435 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
18436
18437 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
18438 access an actual member variable.
18439
18440 Reviewed by Dan Bernstein
18441
18442 * page/FocusController.cpp:
18443 (WebCore::FocusController::setFocusedFrame):
18444
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +0000184452008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
18446
18447 Attempt to fix QT Build. Not reviewed.
18448
18449 * WebCore.pro: add -n WebCore parameter to create_hash_table
18450
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +0000184512008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
18452
18453 Reviewed by Eric Seidel.
18454
18455 http://bugs.webkit.org/show_bug.cgi?id=18905
18456 [GTK] Fix build with older pango (1.14.8)
18457
18458 * platform/graphics/gtk/FontGtk.cpp:
18459 * platform/gtk/Language.cpp:
18460 (_pango_get_lc_ctype):
18461 (pango_language_get_default):
18462
hyatt@apple.com0315e532008-09-27 06:23:58 +0000184632008-09-26 David Hyatt <hyatt@apple.com>
18464
18465 https://bugs.webkit.org/show_bug.cgi?id=21168
18466
18467 Make contentsToWindow/windowToContents cross-platform.
18468
18469 Reviewed by Oliver Hunt
18470
18471 * platform/ScrollView.cpp:
18472 (WebCore::ScrollView::windowToContents):
18473 (WebCore::ScrollView::contentsToWindow):
18474 * platform/ScrollView.h:
18475 * platform/gtk/ScrollViewGtk.cpp:
18476 * platform/mac/ScrollViewMac.mm:
18477 * platform/qt/ScrollViewQt.cpp:
18478 * platform/win/ScrollViewWin.cpp:
18479 * platform/wx/ScrollViewWx.cpp:
18480
weinig@apple.com0e6acf62008-09-27 06:15:45 +0000184812008-09-26 Sam Weinig <sam@webkit.org>
18482
18483 GTK build fix.
18484
18485 * GNUmakefile.am:
18486
hyatt@apple.comb37db692008-09-27 04:43:00 +0000184872008-09-26 David Hyatt <hyatt@apple.com>
18488
hyatt@apple.com8d329412008-09-27 05:26:38 +000018489 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
18490 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
18491 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
18492
18493 Reviewed by Oliver Hunt
18494
18495 * page/FrameView.cpp:
18496 (WebCore::FrameView::repaintContentRectangle):
18497 * page/FrameView.h:
18498 * platform/ScrollView.h:
18499 * platform/gtk/ScrollViewGtk.cpp:
18500 (WebCore::ScrollView::isOffscreen):
18501 * platform/mac/ScrollViewMac.mm:
18502 (WebCore::ScrollView::updateContents):
18503 (WebCore::ScrollView::isOffscreen):
18504 * platform/qt/ScrollViewQt.cpp:
18505 (WebCore::ScrollView::isOffscreen):
18506 * platform/win/ScrollViewWin.cpp:
18507 (WebCore::ScrollView::isOffscreen):
18508 * platform/wx/ScrollViewWx.cpp:
18509 (WebCore::ScrollView::isOffscreen):
18510 * rendering/RenderObject.cpp:
18511 (WebCore::RenderObject::willRenderImage):
18512
185132008-09-26 David Hyatt <hyatt@apple.com>
18514
hyatt@apple.comb37db692008-09-27 04:43:00 +000018515 https://bugs.webkit.org/show_bug.cgi?id=21164
18516
18517 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
18518
18519 Reviewed by Sam Weinig
18520
18521 * WebCore.base.exp:
18522 * page/FrameView.cpp:
18523 (WebCore::FrameView::setAllowsScrolling):
18524 * page/FrameView.h:
18525 * platform/ScrollView.cpp:
18526 (WebCore::ScrollView::setAllowsScrolling):
18527 * platform/ScrollView.h:
18528 (WebCore::ScrollView::allowsScrolling):
18529 * platform/win/ScrollViewWin.cpp:
18530 (WebCore::ScrollView::wheelEvent):
18531
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +0000185322008-09-26 Kevin Ollivier <kevino@theolliviers.com>
18533
18534 wx build fixes after Widget/ScrollView changes.
18535
18536 * platform/wx/PopupMenuWx.cpp:
18537 (WebCore::PopupMenu::show):
18538 * platform/wx/ScrollViewWx.cpp:
18539 (WebCore::ScrollView::platformSetContentsSize):
18540 (WebCore::ScrollView::platformSetScrollbarModes):
18541 (WebCore::ScrollView::wheelEvent):
18542 * platform/wx/TemporaryLinkStubs.cpp:
18543 * platform/wx/WidgetWx.cpp:
18544 (WebCore::Widget::containingWindow):
18545
timothy@apple.com9b486082008-09-27 02:44:05 +0000185462008-09-26 Timothy Hatcher <timothy@apple.com>
18547
18548 Allow searching for paths by always performing the
18549 three search methods in the Elements panel and not
18550 assume a search with a "/" is a XPath query.
18551
18552 https://bugs.webkit.org/show_bug.cgi?id=21159
18553
18554 Reviewed by Geoff Garen.
18555
18556 * page/inspector/ElementsPanel.js:
18557 (WebInspector.ElementsPanel.prototype.performSearch):
18558
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +0000185592008-09-26 Sam Weinig <sam@webkit.org>
18560
18561 Reviewed by Darin Adler.
18562
18563 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
18564 Speedup static property get/put
18565
18566 * DerivedSources.make:
18567 * GNUmakefile.am:
18568 * WebCore.pro:
18569 * WebCore.vcproj/WebCore.vcproj:
18570 * WebCore.xcodeproj/project.pbxproj:
18571 * bindings/js/JSDOMBinding.cpp:
18572 * bindings/js/JSDOMBinding.h:
18573 * bindings/js/JSDOMWindowBase.cpp:
18574 (WebCore::getDOMConstructor):
18575 (WebCore::jsDOMWindowBaseCrypto):
18576 (WebCore::jsDOMWindowBaseEvent):
18577 (WebCore::jsDOMWindowBaseImage):
18578 (WebCore::jsDOMWindowBaseMessageChannel):
18579 (WebCore::jsDOMWindowBaseOption):
18580 (WebCore::jsDOMWindowBaseXMLHttpRequest):
18581 (WebCore::jsDOMWindowBaseAudio):
18582 (WebCore::jsDOMWindowBaseXSLTProcessor):
18583 (WebCore::jsDOMWindowBaseOnabort):
18584 (WebCore::jsDOMWindowBaseOnblur):
18585 (WebCore::jsDOMWindowBaseOnchange):
18586 (WebCore::jsDOMWindowBaseOnclick):
18587 (WebCore::jsDOMWindowBaseOndblclick):
18588 (WebCore::jsDOMWindowBaseOnerror):
18589 (WebCore::jsDOMWindowBaseOnfocus):
18590 (WebCore::jsDOMWindowBaseOnkeydown):
18591 (WebCore::jsDOMWindowBaseOnkeypress):
18592 (WebCore::jsDOMWindowBaseOnkeyup):
18593 (WebCore::jsDOMWindowBaseOnload):
18594 (WebCore::jsDOMWindowBaseOnmousedown):
18595 (WebCore::jsDOMWindowBaseOnmousemove):
18596 (WebCore::jsDOMWindowBaseOnmouseout):
18597 (WebCore::jsDOMWindowBaseOnmouseover):
18598 (WebCore::jsDOMWindowBaseOnmouseup):
18599 (WebCore::jsDOMWindowBaseOnMouseWheel):
18600 (WebCore::jsDOMWindowBaseOnreset):
18601 (WebCore::jsDOMWindowBaseOnresize):
18602 (WebCore::jsDOMWindowBaseOnscroll):
18603 (WebCore::jsDOMWindowBaseOnsearch):
18604 (WebCore::jsDOMWindowBaseOnselect):
18605 (WebCore::jsDOMWindowBaseOnsubmit):
18606 (WebCore::jsDOMWindowBaseOnbeforeunload):
18607 (WebCore::jsDOMWindowBaseOnunload):
18608 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
18609 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
18610 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
18611 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
18612 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
18613 (WebCore::JSDOMWindowBase::put):
18614 (WebCore::setJSDOMWindowBaseOnabort):
18615 (WebCore::setJSDOMWindowBaseOnblur):
18616 (WebCore::setJSDOMWindowBaseOnchange):
18617 (WebCore::setJSDOMWindowBaseOnclick):
18618 (WebCore::setJSDOMWindowBaseOndblclick):
18619 (WebCore::setJSDOMWindowBaseOnerror):
18620 (WebCore::setJSDOMWindowBaseOnfocus):
18621 (WebCore::setJSDOMWindowBaseOnkeydown):
18622 (WebCore::setJSDOMWindowBaseOnkeypress):
18623 (WebCore::setJSDOMWindowBaseOnkeyup):
18624 (WebCore::setJSDOMWindowBaseOnload):
18625 (WebCore::setJSDOMWindowBaseOnmousedown):
18626 (WebCore::setJSDOMWindowBaseOnmousemove):
18627 (WebCore::setJSDOMWindowBaseOnmouseout):
18628 (WebCore::setJSDOMWindowBaseOnmouseover):
18629 (WebCore::setJSDOMWindowBaseOnmouseup):
18630 (WebCore::setJSDOMWindowBaseOnMouseWheel):
18631 (WebCore::setJSDOMWindowBaseOnreset):
18632 (WebCore::setJSDOMWindowBaseOnresize):
18633 (WebCore::setJSDOMWindowBaseOnscroll):
18634 (WebCore::setJSDOMWindowBaseOnsearch):
18635 (WebCore::setJSDOMWindowBaseOnselect):
18636 (WebCore::setJSDOMWindowBaseOnsubmit):
18637 (WebCore::setJSDOMWindowBaseOnbeforeunload):
18638 (WebCore::setJSDOMWindowBaseOnunload):
18639 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
18640 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
18641 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
18642 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
18643 (WebCore::setJSDOMWindowBaseEvent):
18644 (WebCore::setJSDOMWindowBaseAudio):
18645 (WebCore::setJSDOMWindowBaseImage):
18646 (WebCore::setJSDOMWindowBaseMessageChannel):
18647 (WebCore::setJSDOMWindowBaseOption):
18648 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
18649 (WebCore::setJSDOMWindowBaseXSLTProcessor):
18650 * bindings/js/JSDOMWindowBase.h:
18651 * bindings/js/JSDOMWindowCustom.cpp:
18652 (WebCore::nonCachingStaticCloseFunctionGetter):
18653 (WebCore::nonCachingStaticBlurFunctionGetter):
18654 (WebCore::nonCachingStaticFocusFunctionGetter):
18655 (WebCore::nonCachingStaticPostMessageFunctionGetter):
18656 * bindings/js/JSDOMWindowCustom.h:
18657 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
18658 * bindings/js/JSEventTargetBase.cpp:
18659 * bindings/js/JSEventTargetBase.h:
18660 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
18661 (WebCore::JSEventTargetBasePrototype::classInfo):
18662 * bindings/js/JSEventTargetNode.cpp:
18663 (WebCore::):
18664 (WebCore::JSEventTargetNode::getOwnPropertySlot):
18665 (WebCore::JSEventTargetNode::put):
18666 * bindings/js/JSEventTargetNode.h:
18667 (WebCore::JSEventTargetNode::classInfo):
18668 (WebCore::JSEventTargetNode::prototypeClassName):
18669 * bindings/js/JSEventTargetSVGElementInstance.cpp:
18670 (WebCore::):
18671 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
18672 (WebCore::JSEventTargetSVGElementInstance::put):
18673 * bindings/js/JSEventTargetSVGElementInstance.h:
18674 (WebCore::JSEventTargetSVGElementInstance::classInfo):
18675 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
18676 * bindings/js/JSHTMLInputElementCustom.cpp:
18677 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
18678 * bindings/js/JSHistoryCustom.cpp:
18679 (WebCore::nonCachingStaticBackFunctionGetter):
18680 (WebCore::nonCachingStaticForwardFunctionGetter):
18681 (WebCore::nonCachingStaticGoFunctionGetter):
18682 (WebCore::JSHistory::customGetOwnPropertySlot):
18683 * bindings/js/JSLocationCustom.cpp:
18684 (WebCore::nonCachingStaticReplaceFunctionGetter):
18685 (WebCore::nonCachingStaticReloadFunctionGetter):
18686 (WebCore::nonCachingStaticAssignFunctionGetter):
18687 (WebCore::JSLocation::customGetOwnPropertySlot):
18688 (WebCore::JSLocation::customPut):
18689 * bindings/scripts/CodeGeneratorJS.pm:
18690
hyatt@apple.com01adde82008-09-26 20:49:34 +0000186912008-09-26 David Hyatt <hyatt@apple.com>
18692
18693 https://bugs.webkit.org/show_bug.cgi?id=21149
18694
18695 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
18696 Eliminate the unused isScrollable() method.
18697
18698 Reviewed by Sam Weinig
18699
18700 * WebCore.base.exp:
18701 * page/FrameView.cpp:
18702 (WebCore::FrameView::resetScrollbars):
18703 (WebCore::FrameView::initScrollbars):
18704 (WebCore::FrameView::layout):
18705 * page/FrameView.h:
18706 * page/mac/WebCoreFrameView.h:
18707 * platform/ScrollView.cpp:
18708 (WebCore::ScrollView::init):
18709 (WebCore::ScrollView::setScrollbarModes):
18710 (WebCore::ScrollView::scrollbarModes):
18711 (WebCore::ScrollView::platformSetScrollbarModes):
18712 (WebCore::ScrollView::platformScrollbarModes):
18713 * platform/ScrollView.h:
18714 (WebCore::ScrollView::horizontalScrollbar):
18715 (WebCore::ScrollView::verticalScrollbar):
18716 (WebCore::ScrollView::isScrollViewScrollbar):
18717 (WebCore::ScrollView::setHorizontalScrollbarMode):
18718 (WebCore::ScrollView::setVerticalScrollbarMode):
18719 (WebCore::ScrollView::horizontalScrollbarMode):
18720 (WebCore::ScrollView::verticalScrollbarMode):
18721 (WebCore::ScrollView::convertSelfToChild):
18722 * platform/gtk/ScrollViewGtk.cpp:
18723 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
18724 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18725 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
18726 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
18727 (WebCore::ScrollView::updateScrollbars):
18728 (WebCore::ScrollView::scrollbarUnderMouse):
18729 (WebCore::ScrollView::isScrollViewScrollbar):
18730 (WebCore::ScrollView::paint):
18731 (WebCore::ScrollView::scroll):
18732 * platform/mac/ScrollViewMac.mm:
18733 (WebCore::ScrollView::platformSetScrollbarModes):
18734 (WebCore::ScrollView::platformScrollbarModes):
18735 * platform/qt/ScrollViewQt.cpp:
18736 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18737 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
18738 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
18739 (WebCore::ScrollView::horizontalScrollbar):
18740 (WebCore::ScrollView::verticalScrollbar):
18741 (WebCore::ScrollView::invalidateScrollbars):
18742 (WebCore::ScrollView::updateScrollbars):
18743 (WebCore::ScrollView::scrollbarUnderMouse):
18744 (WebCore::ScrollView::paint):
18745 (WebCore::ScrollView::scroll):
18746 * platform/win/ScrollViewWin.cpp:
18747 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
18748 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18749 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
18750 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
18751 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
18752 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
18753 (WebCore::ScrollView::suppressScrollbars):
18754 (WebCore::ScrollView::updateScrollbars):
18755 (WebCore::ScrollView::scrollbarUnderMouse):
18756 (WebCore::ScrollView::paint):
18757 (WebCore::ScrollView::scroll):
18758 * platform/wx/ScrollViewWx.cpp:
18759 (WebCore::ScrollView::platformSetScrollbarModes):
18760 (WebCore::ScrollView::platformScrollbarModes):
18761
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +0000187622008-09-26 David Kilzer <ddkilzer@apple.com>
18763
18764 Fix Mac build with XPATH and XSLT disabled
18765
18766 Reviewed by Alexey.
18767
18768 * bindings/objc/DOMUtility.mm:
18769 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
18770 * dom/XMLTokenizerLibxml2.cpp:
18771 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
18772 prevent an unused code warning.
18773
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +0000187742008-09-26 Kevin McCullough <kmccullough@apple.com>
18775
18776 Rubber stamped by Tim Hatcher.
18777
18778 Bug 21098: Crashing under Console::log
18779 - Speculative ASSERT to help find the problem.
18780
18781 * page/InspectorController.cpp:
18782 (WebCore::ConsoleMessage::isEqual):
18783
zecke@webkit.org00c54bb2008-09-26 17:56:08 +0000187842008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
18785
18786 [gtk+] Build fix for the latest ScrollView changes
18787
18788 * platform/gtk/ScrollViewGtk.cpp:
18789 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
18790 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
18791
timothy@apple.comf49116e2008-09-26 17:27:52 +0000187922008-09-26 Timothy Hatcher <timothy@apple.com>
18793
18794 Fixes a bug where the console message repeat count would be wrong
18795 when typing commands in between repeated messages.
18796
18797 https://bugs.webkit.org/show_bug.cgi?id=21145
18798
18799 Reviewed by Kevin McCullough.
18800
18801 * page/InspectorController.cpp:
18802 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
18803 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
18804 * page/inspector/Console.js:
18805 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
18806 for each message as totalRepeatCount, since we now modify repeatCount to mean
18807 repeats since previous console command. If repeatCountBeforeCommand is a number,
18808 subtract that value from the repeatCount.
18809 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
18810 and commandSincePreviousMessage properties.
18811
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +0000188122008-09-26 Eric Carlson <eric.carlson@apple.com>
18813
18814 Reviewed by Antti
18815
18816 https://bugs.webkit.org/show_bug.cgi?id=21116
18817 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
18818 back to page with <video>, then closing tab
18819
18820 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
18821 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
18822 deletion.
18823
18824 * dom/Document.cpp:
18825 (WebCore::Document::documentWillBecomeInactive):
18826 (WebCore::Document::documentDidBecomeActive):
18827 (WebCore::Document::registerForDocumentActivationCallbacks):
18828 (WebCore::Document::unregisterForDocumentActivationCallbacks):
18829 * dom/Document.h:
18830 * dom/Element.h:
18831 (WebCore::Element::documentWillBecomeInactive):
18832 (WebCore::Element::documentDidBecomeActive):
18833 * history/CachedPage.cpp:
18834 (WebCore::CachedPage::CachedPage):
18835 * html/HTMLFormElement.cpp:
18836 (WebCore::HTMLFormElement::~HTMLFormElement):
18837 (WebCore::HTMLFormElement::parseMappedAttribute):
18838 (WebCore::HTMLFormElement::documentDidBecomeActive):
18839 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
18840 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
18841 * html/HTMLFormElement.h:
18842 * html/HTMLInputElement.cpp:
18843 (WebCore::HTMLInputElement::~HTMLInputElement):
18844 (WebCore::HTMLInputElement::setInputType):
18845 (WebCore::HTMLInputElement::parseMappedAttribute):
18846 (WebCore::HTMLInputElement::needsActivationCallback):
18847 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
18848 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
18849 (WebCore::HTMLInputElement::documentDidBecomeActive):
18850 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
18851 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
18852 * html/HTMLInputElement.h:
18853 * html/HTMLMediaElement.cpp:
18854 (WebCore::HTMLMediaElement::HTMLMediaElement):
18855 (WebCore::HTMLMediaElement::~HTMLMediaElement):
18856 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
18857 (WebCore::HTMLMediaElement::documentDidBecomeActive):
18858 * html/HTMLMediaElement.h:
18859 (WebCore::HTMLMediaElement::inActiveDocument):
18860 * loader/FrameLoader.cpp:
18861 (WebCore::FrameLoader::opened):
18862 * page/Page.cpp:
18863 (WebCore::Page::~Page):
18864 * rendering/RenderMedia.cpp:
18865 (WebCore::RenderMedia::updateControls):
18866 * rendering/RenderVideo.cpp:
18867 (WebCore::RenderVideo::updatePlayer):
18868 * svg/SVGSVGElement.cpp:
18869 (WebCore::SVGSVGElement::SVGSVGElement):
18870 (WebCore::SVGSVGElement::~SVGSVGElement):
18871 (WebCore::SVGSVGElement::documentWillBecomeInactive):
18872 (WebCore::SVGSVGElement::documentDidBecomeActive):
18873 * svg/SVGSVGElement.h:
18874
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +0000188752008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
18876
18877 Reviewed by Simon
18878
18879 Fix the build inside Qt, don't create faulty prl files for now.
18880
18881 * WebCore.pro:
18882
hausmann@webkit.org809f4242008-09-26 13:17:31 +0000188832008-09-26 Simon Hausmann <hausmann@webkit.org>
18884
18885 Fix compilation on Qt/Windows
18886
18887 * Add WebCore/ to the include path so that config.h is found that enables JSC
18888 * Link against winmm for the multimedia timer functions
18889 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
18890 subdirectory
18891 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
18892 but set m_window directly as setPlatformWidget takes a QWidget*.
18893
18894 * WebCore.pro:
18895 * platform/win/SystemTimeWin.cpp:
18896 * plugins/win/PluginViewWin.cpp:
18897 (WebCore::PluginView::init):
18898
oliver@apple.com38feb8e2008-09-26 11:53:40 +0000188992008-09-26 Oliver Hunt <oliver@apple.com>
18900
18901 Reviewed by Maciej Stachowiak.
18902
18903 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
18904 <https://bugs.webkit.org/show_bug.cgi?id=21054>
18905
18906 This performance regression is actually just a symptom of a correctness
18907 bug. The constructor objects for a number of properties that have security
18908 checks on access were returning new objects each time. The most obvious
18909 symptom of this bug is that window.Image != window.Image, etc.
18910
18911 The solution to this is to make sure we cache these constructors
18912 in the same way as all the other DOM constructors. To achieve this
18913 without causing any refcount cycles it is necessary to replace the
18914 refcounted document pointer in the Image, MessageChannel, Option,
18915 XMLHttpRequest, and Audio constructor objects with a reference to
18916 the document's JS wrapper.
18917
18918 Tests: fast/dom/constructors-cached-navigate.html
18919 fast/dom/constructors-cached.html
18920
18921 * WebCore.xcodeproj/project.pbxproj:
18922 * bindings/js/JSAudioConstructor.cpp:
18923 (WebCore::JSAudioConstructor::mark):
18924 * bindings/js/JSAudioConstructor.h:
18925 (WebCore::JSAudioConstructor::document):
18926 * bindings/js/JSDOMWindowBase.cpp:
18927 (WebCore::getDOMConstructor):
18928 (WebCore::JSDOMWindowBase::getValueProperty):
18929 * bindings/js/JSDOMWindowBase.h:
18930 * bindings/js/JSHTMLOptionElementConstructor.cpp:
18931 (WebCore::JSHTMLOptionElementConstructor::mark):
18932 * bindings/js/JSHTMLOptionElementConstructor.h:
18933 (WebCore::JSHTMLOptionElementConstructor::document):
18934 * bindings/js/JSImageConstructor.cpp:
18935 (WebCore::JSImageConstructor::mark):
18936 * bindings/js/JSImageConstructor.h:
18937 (WebCore::JSImageConstructor::document):
18938 * bindings/js/JSXMLHttpRequestConstructor.cpp:
18939 (WebCore::JSXMLHttpRequestConstructor::mark):
18940 * bindings/js/JSXMLHttpRequestConstructor.h:
18941 (WebCore::JSXMLHttpRequestConstructor::document):
18942
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +0000189432008-09-26 Simon Hausmann <hausmann@webkit.org>
18944
18945 Unreviewed one-liner build fix for the Qt/Windows build.
18946
18947 The build requires NPAPI support to be enabled, fix the condition in
18948 the .pro file for that.
18949
18950 * WebCore.pro:
18951
hausmann@webkit.org1ba35342008-09-26 10:51:33 +0000189522008-09-26 Trenton Schulz <twschulz@trolltech.com>
18953
18954 Reviewed by Simon.
18955
18956 Fix compilation with the Qt/Cocoa port.
18957
18958 * platform/qt/ScrollViewQt.cpp:
18959 (WebCore::ScrollView::updateScrollbars):
18960
hausmann@webkit.orge359dd12008-09-26 09:37:09 +0000189612008-09-26 Simon Hausmann <hausmann@webkit.org>
18962
18963 Reviewed by Holger.
18964
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +000018965 Fix compilation with VC9SP1, work around bug in TR1 library by
18966 disabling it.
18967
18968 * WebCore.pro:
18969
189702008-09-26 Simon Hausmann <hausmann@webkit.org>
18971
18972 Reviewed by Holger.
18973
hausmann@webkit.orge359dd12008-09-26 09:37:09 +000018974 Fix an lupdate() warning.
18975
18976 Don't use tr() in a class that is not a QObject, use
18977 QCoreApplication::translate() directly.
18978
18979 * platform/qt/ScrollbarQt.cpp:
18980 (WebCore::Scrollbar::handleContextMenuEvent):
18981
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +0000189822008-09-25 David Hyatt <hyatt@apple.com>
18983
hyatt@apple.com4c833152008-09-26 06:21:22 +000018984 Remove the scrollTo() method from FrameView, since it is not used by anyone.
18985
18986 Reviewed by Oliver Hunt
18987
18988 * page/FrameView.cpp:
18989 * page/FrameView.h:
18990
189912008-09-25 David Hyatt <hyatt@apple.com>
18992
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +000018993 Make scrollRectIntoViewRecursively cross-platform.
18994
18995 Reviewed by Oliver Hunt
18996
18997 * platform/ScrollView.cpp:
18998 (WebCore::ScrollView::scrollRectIntoViewRecursively):
18999 * platform/gtk/ScrollViewGtk.cpp:
19000 * platform/mac/ScrollViewMac.mm:
19001 * platform/qt/ScrollViewQt.cpp:
19002 * platform/win/ScrollViewWin.cpp:
19003 * platform/wx/ScrollViewWx.cpp:
19004
190052008-09-25 David Hyatt <hyatt@apple.com>
19006
hyatt@apple.com25cd25e2008-09-26 06:07:14 +000019007 https://bugs.webkit.org/show_bug.cgi?id=21133
19008
19009 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
19010 cross-platform.
19011
19012 Reviewed by Oliver Hunt
19013
19014 * loader/FrameLoader.cpp:
19015 (WebCore::FrameLoader::begin):
19016 * page/FrameView.cpp:
19017 (WebCore::FrameView::adjustViewSize):
19018 * platform/ScrollView.cpp:
19019 (WebCore::ScrollView::setContentsSize):
19020 * platform/ScrollView.h:
19021 (WebCore::ScrollView::updateScrollbars):
19022 * platform/gtk/ScrollViewGtk.cpp:
19023 * platform/mac/ScrollViewMac.mm:
19024 (WebCore::ScrollView::platformSetContentsSize):
19025 * platform/qt/ScrollViewQt.cpp:
19026 * platform/win/ScrollViewWin.cpp:
19027 * platform/wx/ScrollViewWx.cpp:
19028 (WebCore::ScrollView::platformSetContentsSize):
19029
190302008-09-25 David Hyatt <hyatt@apple.com>
19031
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +000019032 https://bugs.webkit.org/show_bug.cgi?id=21132
19033
19034 Clean up the methods that actually do the scrolling in ScrollView.
19035
19036 Reviewed by Oliver Hunt
19037
19038 * html/HTMLBodyElement.cpp:
19039 (WebCore::HTMLBodyElement::setScrollLeft):
19040 (WebCore::HTMLBodyElement::setScrollTop):
19041 * loader/FrameLoader.cpp:
19042 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
19043 * loader/ImageDocument.cpp:
19044 (WebCore::ImageDocument::imageClicked):
19045 * page/DOMWindow.cpp:
19046 (WebCore::DOMWindow::scrollBy):
19047 (WebCore::DOMWindow::scrollTo):
19048 * page/FrameView.cpp:
19049 (WebCore::FrameView::scrollTo):
19050 (WebCore::FrameView::setScrollPosition):
19051 * page/FrameView.h:
19052 * platform/ScrollView.cpp:
19053 (WebCore::ScrollView::maximumScrollPosition):
19054 * platform/ScrollView.h:
19055 (WebCore::ScrollView::contentsWidth):
19056 (WebCore::ScrollView::contentsHeight):
19057 (WebCore::ScrollView::scrollBy):
19058 * platform/gtk/ScrollViewGtk.cpp:
19059 (WebCore::ScrollView::setScrollPosition):
19060 * platform/mac/ScrollViewMac.mm:
19061 (WebCore::ScrollView::setScrollPosition):
19062 * platform/qt/ScrollViewQt.cpp:
19063 (WebCore::ScrollView::setScrollPosition):
19064 (WebCore::ScrollView::scrollRectIntoViewRecursively):
19065 * platform/win/ScrollViewWin.cpp:
19066 (WebCore::ScrollView::setScrollPosition):
19067 (WebCore::ScrollView::scrollRectIntoViewRecursively):
19068 * platform/wx/ScrollViewWx.cpp:
19069 (WebCore::ScrollView::setScrollPosition):
19070 * rendering/RenderLayer.cpp:
19071 (WebCore::RenderLayer::scrollByRecursively):
19072 (WebCore::RenderLayer::scrollRectToVisible):
19073
mitz@apple.com5c920f12008-09-26 05:25:41 +0000190742008-09-25 Dan Bernstein <mitz@apple.com>
19075
19076 - attempted Windows build fix
19077
19078 * platform/win/ScrollViewWin.cpp:
19079 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
19080 (WebCore::ScrollView::setContentsPos):
19081 (WebCore::ScrollView::paint):
19082
timothy@apple.comd884aae2008-09-26 04:35:48 +0000190832008-09-25 Timothy Hatcher <timothy@apple.com>
19084
19085 Revert the padding changes done in r36905 to prevent the
19086 scrollbar from overlapping the URLs in the Console.
19087
19088 https://bugs.webkit.org/show_bug.cgi?id=21126
19089
19090 * page/inspector/inspector.css:
19091
hyatt@apple.comc01fb232008-09-26 04:28:25 +0000190922008-09-25 David Hyatt <hyatt@apple.com>
19093
19094 https://bugs.webkit.org/show_bug.cgi?id=21129
19095
19096 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
19097 of platform-specific methods required of ScrollView implementations.
19098
19099 Reviewed by Tim Hatcher
19100
19101 * dom/MouseRelatedEvent.cpp:
19102 (WebCore::contentsX):
19103 (WebCore::contentsY):
19104 * html/HTMLBodyElement.cpp:
19105 (WebCore::HTMLBodyElement::scrollLeft):
19106 (WebCore::HTMLBodyElement::setScrollLeft):
19107 (WebCore::HTMLBodyElement::scrollTop):
19108 (WebCore::HTMLBodyElement::setScrollTop):
19109 * loader/FrameLoader.cpp:
19110 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
19111 * page/DOMWindow.cpp:
19112 (WebCore::DOMWindow::scrollX):
19113 (WebCore::DOMWindow::scrollY):
19114 * page/EventHandler.cpp:
19115 (WebCore::EventHandler::hitTestResultAtPoint):
19116 * page/FrameView.cpp:
19117 (WebCore::FrameView::scrollTo):
19118 (WebCore::FrameView::windowClipRect):
19119 * platform/ScrollView.cpp:
19120 (WebCore::ScrollView::visibleContentRect):
19121 (WebCore::ScrollView::contentsSize):
19122 (WebCore::ScrollView::platformContentsSize):
19123 * platform/ScrollView.h:
19124 (WebCore::ScrollView::scrollPosition):
19125 (WebCore::ScrollView::scrollOffset):
19126 (WebCore::ScrollView::scrollX):
19127 (WebCore::ScrollView::scrollY):
19128 (WebCore::ScrollView::contentsWidth):
19129 (WebCore::ScrollView::contentsHeight):
19130 * platform/gtk/ScrollViewGtk.cpp:
19131 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
19132 (WebCore::ScrollView::setGtkAdjustments):
19133 (WebCore::ScrollView::resizeContents):
19134 (WebCore::ScrollView::contentsWidth):
19135 (WebCore::ScrollView::contentsHeight):
19136 (WebCore::ScrollView::scrollOffset):
19137 (WebCore::ScrollView::maximumScroll):
19138 (WebCore::ScrollView::scrollBy):
19139 (WebCore::ScrollView::suppressScrollbars):
19140 (WebCore::ScrollView::setHScrollbarMode):
19141 (WebCore::ScrollView::setVScrollbarMode):
19142 (WebCore::ScrollView::setScrollbarsMode):
19143 (WebCore::ScrollView::setFrameGeometry):
19144 (WebCore::ScrollView::updateScrollbars):
19145 * platform/mac/ScrollViewMac.mm:
19146 (WebCore::ScrollView::platformContentsSize):
19147 (WebCore::ScrollView::scrollBy):
19148 * platform/mac/WidgetMac.mm:
19149 (WebCore::Widget::convertFromContainingWindow):
19150 (WebCore::Widget::convertToContainingWindow):
19151 * platform/qt/ScrollViewQt.cpp:
19152 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
19153 (WebCore::ScrollView::resizeContents):
19154 (WebCore::ScrollView::setFrameGeometry):
19155 (WebCore::ScrollView::scrollOffset):
19156 (WebCore::ScrollView::maximumScroll):
19157 (WebCore::ScrollView::scrollBy):
19158 (WebCore::ScrollView::setHScrollbarMode):
19159 (WebCore::ScrollView::setVScrollbarMode):
19160 (WebCore::ScrollView::setScrollbarsMode):
19161 (WebCore::ScrollView::updateScrollbars):
19162 * platform/win/ScrollViewWin.cpp:
19163 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
19164 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
19165 (WebCore::ScrollView::resizeContents):
19166 (WebCore::ScrollView::setFrameGeometry):
19167 (WebCore::ScrollView::scrollOffset):
19168 (WebCore::ScrollView::maximumScroll):
19169 (WebCore::ScrollView::scrollBy):
19170 (WebCore::ScrollView::setHScrollbarMode):
19171 (WebCore::ScrollView::setVScrollbarMode):
19172 (WebCore::ScrollView::setScrollbarsMode):
19173 (WebCore::ScrollView::updateScrollbars):
19174 * platform/wx/ScrollViewWx.cpp:
19175 (WebCore::ScrollView::platformVisibleContentRect):
19176 (WebCore::ScrollView::platformContentsSize):
19177 * rendering/RenderBlock.cpp:
19178 (WebCore::RenderBlock::nodeAtPoint):
19179 * rendering/RenderLayer.cpp:
19180 (WebCore::RenderLayer::scrollRectToVisible):
19181 (WebCore::RenderLayer::calculateClipRects):
19182 (WebCore::RenderLayer::calculateRects):
19183 * rendering/RenderView.cpp:
19184 (WebCore::RenderView::absolutePosition):
19185 (WebCore::RenderView::computeAbsoluteRepaintRect):
19186
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +0000191872008-09-25 David Smith <catfish.man@gmail.com>
19188
dsmith@webkit.org0fedb622008-09-26 04:05:57 +000019189 Reviewed by Dave Hyatt.
19190
19191 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
19192
19193 * dom/Element.cpp:
19194 (WebCore::Element::rareData):
19195 * dom/Element.h:
19196 * dom/Node.cpp:
19197 (WebCore::Node::rareData):
19198 * dom/Node.h:
19199
192002008-09-25 David Smith <catfish.man@gmail.com>
19201
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000019202 Reviewed by Darin Adler.
19203
19204 https://bugs.webkit.org/show_bug.cgi?id=20980
19205 Split off uncommonly used data from Node similar to ElementRareData
19206
19207 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
19208 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
19209 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
19210
19211 * WebCore.base.exp:
19212 * WebCore.xcodeproj/project.pbxproj:
19213 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
19214 * dom/ContainerNode.cpp: Set isContainer to true
19215 (WebCore::ContainerNode::ContainerNode):
19216 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
19217 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
19218 (WebCore::Node::containerChildNode): ditto
19219 (WebCore::Node::containerFirstChild): ditto
19220 (WebCore::Node::containerLastChild): ditto
19221 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
19222 (WebCore::Element::Element):
19223 (WebCore::Element::~Element):
19224 (WebCore::Element::rareData):
19225 (WebCore::Element::ensureRareData): Renamed from createRareData
19226 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
19227 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
19228 (WebCore::Element::detach): ditto
19229 (WebCore::Element::recalcStyle): ditto
19230 (WebCore::Element::focus):
19231 (WebCore::Element::minimumSizeForResizing): ditto
19232 (WebCore::Element::setMinimumSizeForResizing): ditto
19233 (WebCore::Element::computedStyle):
19234 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
19235 * dom/Element.h:
19236 * dom/ElementRareData.h: Added; everything copied from Element.cpp
19237 (WebCore::defaultMinimumSizeForResizing):
19238 (WebCore::ElementRareData::ElementRareData):
19239 (WebCore::ElementRareData::resetComputedStyle):
19240 * dom/EventTargetNode.cpp:
19241 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
19242 * dom/EventTargetNode.h:
19243 * dom/Node.cpp:
19244 (WebCore::Node::Node):
19245 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
19246 (WebCore::Node::rareData):
19247 (WebCore::Node::ensureRareData):
19248 (WebCore::Node::createRareData):
19249 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
19250 (WebCore::Node::setTabIndexExplicitly):
19251 (WebCore::Node::childNodes): NodeLists are now in rareData
19252 (WebCore::Node::setFocus):
19253 (WebCore::Node::rareDataFocused):
19254 (WebCore::Node::isFocusable):
19255 (WebCore::Node::isKeyboardFocusable):
19256 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
19257 (WebCore::Node::unregisterDynamicNodeList): ditto
19258 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
19259 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
19260 (WebCore::Node::getElementsByName): ditto
19261 (WebCore::Node::getElementsByClassName): ditto
19262 * dom/Node.h:
19263 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
19264 (WebCore::Node::lastChild): ditto
19265 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
19266 (WebCore::Node::focused): focus is in rareData if set
19267 (WebCore::Node::childTypeAllowed):
19268 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
19269 (WebCore::Node::childNode): ditto
19270 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
19271 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
19272 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
19273 (WebCore::NodeRareData::NodeRareData):
19274 (WebCore::NodeRareData::rareDataMap):
19275 (WebCore::NodeRareData::rareDataFromMap):
19276 (WebCore::NodeRareData::clearNodeLists):
19277 (WebCore::NodeRareData::setNodeLists):
19278 (WebCore::NodeRareData::nodeLists):
19279 (WebCore::NodeRareData::tabIndex):
19280 (WebCore::NodeRareData::setTabIndex):
19281 (WebCore::NodeRareData::tabIndexSetExplicitly):
19282 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
19283 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
19284
zecke@webkit.orge1370432008-09-26 01:47:30 +0000192852008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
19286
19287 Reviewed by Simon Hausmann.
19288
zecke@webkit.org9ea87f62008-09-26 01:54:04 +000019289 [qt] ImageBuffer::toDataURL implementation
19290
19291 There needs to be a Qt specific test result for the above mentioned
19292 implementation.
19293
19294 * platform/graphics/qt/ImageBufferQt.cpp:
19295 (WebCore::ImageBuffer::toDataURL):
19296
192972008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
19298
19299 Reviewed by Simon Hausmann.
19300
zecke@webkit.orge1370432008-09-26 01:47:30 +000019301 [qt] Implement SharedBuffer for Qt.
19302
19303 * WebCore.pro:
19304 * platform/qt/SharedBufferQt.cpp: Added.
19305 (WebCore::SharedBuffer::createWithContentsOfFile):
19306 * platform/qt/TemporaryLinkStubs.cpp:
19307
ddkilzer@apple.com91eae552008-09-26 00:53:18 +0000193082008-09-25 Feng Qian <feng@chromium.org>
19309
19310 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
19311 <rdar://problem/6243032>
19312
19313 Reviewed by Dave Hyatt.
19314
19315 Test: fast/dom/attribute-downcast-right.html
19316
19317 Add isMappedAttribute function to Attribute for checking if an object
19318 is an instance of MappedAttribute. Removed attributeItem,
19319 getAttributeItem functions from NamedMappedAttrMap, and callers
19320 expecting MappedAttribute have to check isMappedAttribute before
19321 downcasting the return value to MappedAttribute.
19322
19323 * css/CSSStyleSelector.cpp:
19324 (WebCore::CSSStyleSelector::styleForElement):
19325 * dom/Attribute.h:
19326 (WebCore::Attribute::isMappedAttribute):
19327 * dom/MappedAttribute.h:
19328 (WebCore::MappedAttribute::isMappedAttribute):
19329 * dom/NamedMappedAttrMap.cpp:
19330 (WebCore::NamedMappedAttrMap::declCount):
19331 (WebCore::NamedMappedAttrMap::mapsEquivalent):
19332 * dom/NamedMappedAttrMap.h:
19333 * dom/StyledElement.cpp:
19334 (WebCore::StyledElement::attributeChanged):
19335 * html/HTMLInputElement.cpp:
19336 (WebCore::HTMLInputElement::setInputType):
19337 * svg/SVGForeignObjectElement.cpp:
19338 (WebCore::addCSSPropertyAndNotifyAttributeMap):
19339 * svg/SVGStyledElement.cpp:
19340 (WebCore::SVGStyledElement::getPresentationAttribute):
19341
hyatt@apple.com79be62c2008-09-25 22:25:22 +0000193422008-09-25 David Hyatt <hyatt@apple.com>
19343
19344 https://bugs.webkit.org/show_bug.cgi?id=21120
19345
19346 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
19347 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
19348 didn't want to mix that change in with this patch).
19349
19350 Reviewed by Sam Weinig
19351
19352 * page/Frame.cpp:
19353 (WebCore::Frame::markAllMatchesForText):
19354 * page/FrameView.cpp:
19355 (WebCore::FrameView::repaintContentRectangle):
19356 (WebCore::FrameView::windowClipRect):
19357 (WebCore::FrameView::updateControlTints):
19358 * platform/ScrollView.cpp:
19359 (WebCore::ScrollView::visibleContentRect):
19360 (WebCore::ScrollView::platformVisibleContentRect):
19361 * platform/ScrollView.h:
19362 (WebCore::ScrollView::visibleWidth):
19363 (WebCore::ScrollView::visibleHeight):
19364 * platform/gtk/ScrollViewGtk.cpp:
19365 (WebCore::ScrollView::horizontalScrollbar):
19366 (WebCore::ScrollView::verticalScrollbar):
19367 * platform/mac/ScrollViewMac.mm:
19368 (WebCore::ScrollView::horizontalScrollbar):
19369 (WebCore::ScrollView::verticalScrollbar):
19370 (WebCore::ScrollView::platformVisibleContentRect):
19371 * platform/qt/ScrollViewQt.cpp:
19372 (WebCore::ScrollView::horizontalScrollbar):
19373 (WebCore::ScrollView::verticalScrollbar):
19374 * platform/win/ScrollViewWin.cpp:
19375 (WebCore::ScrollView::horizontalScrollbar):
19376 (WebCore::ScrollView::verticalScrollbar):
19377 * platform/wx/ScrollViewWx.cpp:
19378 (WebCore::ScrollView::platformVisibleContentRect):
19379 (WebCore::ScrollView::horizontalScrollbar):
19380 (WebCore::ScrollView::verticalScrollbar):
19381 * rendering/RenderLayer.cpp:
19382 (WebCore::RenderLayer::scrollRectToVisible):
19383 (WebCore::frameVisibleRect):
19384 * rendering/RenderView.cpp:
19385 (WebCore::RenderView::viewRect):
19386
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +0000193872008-09-25 David Smith <catfish.man@gmail.com>
19388
19389 Reviewed by Timothy Hatcher
19390
19391 https://bugs.webkit.org/show_bug.cgi?id=21052
19392 Generalize id selector special case for querySelectorAll
19393
19394 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
19395 Changes results on http://native.khan.mozilla.org
19396 from
19397 #title: 2ms
19398 h1#title: 55ms
19399 div #title: 55ms
19400
19401 to:
19402 #title: 1ms
19403 h1#title: 2ms
19404 div #title: 5ms
19405
19406 * dom/Node.cpp:
19407 (WebCore::Node::querySelector):
19408 * dom/SelectorNodeList.cpp:
19409 (WebCore::createSelectorNodeList):
19410
hyatt@apple.com64a3be22008-09-25 20:49:17 +0000194112008-09-25 David Hyatt <hyatt@apple.com>
19412
19413 https://bugs.webkit.org/show_bug.cgi?id=21118
19414
19415 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
19416
19417 Reviewed by Sam Weinig
19418
19419 * page/FrameView.cpp:
19420 (WebCore::FrameView::clear):
19421 (WebCore::FrameView::layout):
19422 (WebCore::FrameView::setUseSlowRepaints):
19423 (WebCore::FrameView::addSlowRepaintObject):
19424 (WebCore::FrameView::removeSlowRepaintObject):
19425 * platform/ScrollView.cpp:
19426 (WebCore::ScrollView::init):
19427 (WebCore::ScrollView::addChild):
19428 (WebCore::ScrollView::removeChild):
19429 (WebCore::ScrollView::setCanBlitOnScroll):
19430 * platform/ScrollView.h:
19431 (WebCore::ScrollView::canBlitOnScroll):
19432 * platform/gtk/ScrollViewGtk.cpp:
19433 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
19434 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
19435 (WebCore::ScrollView::ScrollView):
19436 * platform/mac/ScrollViewMac.mm:
19437 (WebCore::ScrollView::ScrollView):
19438 (WebCore::ScrollView::platformAddChild):
19439 (WebCore::ScrollView::platformRemoveChild):
19440 (WebCore::ScrollView::platformSetCanBlitOnScroll):
19441 * platform/qt/ScrollViewQt.cpp:
19442 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
19443 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
19444 (WebCore::ScrollView::ScrollView):
19445 * platform/win/ScrollViewWin.cpp:
19446 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
19447 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
19448 (WebCore::ScrollView::ScrollView):
19449 * platform/wx/ScrollViewWx.cpp:
19450 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
19451 (WebCore::ScrollView::ScrollView):
19452 (WebCore::ScrollView::scrollBy):
19453
kmccullough@apple.com03b515b2008-09-25 20:29:57 +0000194542008-09-25 Kevin McCullough <kmccullough@apple.com>
19455
19456 Reviewed by Tim Hatcher.
19457
19458 Bug 21109: Console should right-align urls
19459
19460 * page/inspector/Console.js: Re-order the message elements so that when
19461 it overflows it doesn't get mixed in with the next message.
19462 * page/inspector/inspector.css:
19463
hyatt@apple.com95d18752008-09-25 20:15:44 +0000194642008-09-25 David Hyatt <hyatt@apple.com>
19465
19466 https://bugs.webkit.org/show_bug.cgi?id=21113
19467
19468 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
19469
19470 Reviewed by Darin Adler
19471
19472 * css/CSSImportRule.cpp:
19473 (WebCore::CSSImportRule::insertedIntoParent):
19474 * css/CSSRule.cpp:
19475 (WebCore::CSSRule::parentStyleSheet):
19476 (WebCore::CSSRule::parentRule):
19477 * css/CSSStyleSheet.cpp:
19478 (WebCore::CSSStyleSheet::CSSStyleSheet):
19479 * css/CSSStyleSheet.h:
19480
darin@apple.com6ca04432008-09-25 20:02:11 +0000194812008-09-25 Darin Adler <darin@apple.com>
19482
19483 Reviewed by Adele Peterson.
19484
19485 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
19486 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
19487 bundled documents
19488
19489 * html/HTMLFormElement.cpp:
19490 (WebCore::HTMLFormElement::formData): Use files() instead of value()
19491 to get the path, since value() now returns just the basename.
19492
beidson@apple.comb9a40052008-09-25 18:37:09 +0000194932008-09-25 Brady Eidson <beidson@apple.com>
19494
19495 Rubberstamped by Mark Rowe
19496
19497 Roll out 36771 as it caused <rdar://problem/6246554>
19498 "nytimes.com doesn't display after returning to it with back/forward"
19499
19500 * css/CSSImportRule.cpp:
19501 (WebCore::CSSImportRule::insertedIntoParent):
19502 * css/CSSRule.cpp:
19503 (WebCore::CSSRule::parentStyleSheet):
19504 (WebCore::CSSRule::parentRule):
19505 * css/CSSStyleSheet.cpp:
19506 (WebCore::CSSStyleSheet::CSSStyleSheet):
19507 (WebCore::CSSStyleSheet::docLoader):
19508 * css/CSSStyleSheet.h:
19509 (WebCore::CSSStyleSheet::doc):
19510
aroben@apple.comdf5a7322008-09-25 17:47:15 +0000195112008-09-25 Adam Roben <aroben@apple.com>
19512
19513 Windows build fix
19514
19515 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
19516
mitz@apple.com0565bc92008-09-25 17:27:37 +0000195172008-09-25 Dan Bernstein <mitz@apple.com>
19518
19519 - Windows build fix
19520
19521 * platform/win/ScrollViewWin.cpp:
19522 (WebCore::ScrollView::addChildPlatformWidget):
19523 (WebCore::ScrollView::removeChildPlatformWidget):
19524
timothy@apple.com7a4bf192008-09-25 17:07:43 +0000195252008-09-25 Timothy Hatcher <timothy@apple.com>
19526
19527 Fixes a leak of ConsoleMessage seen when repeated console
19528 messages occur.
19529
19530 Reviewed by Mark Rowe.
19531
19532 * page/InspectorController.cpp:
19533 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
19534 since we don't add it to m_consoleMessages.
19535
kmccullough@apple.com340e7272008-09-25 16:04:20 +0000195362008-09-25 Kevin McCullough <kmccullough@apple.com>
19537
kmccullough@apple.com364f2992008-09-25 16:48:34 +000019538 Reviewed by Dan Bernstein.
19539
19540 Bug 21105: XHRs logged in the console may show the wrong URL for the
19541 source
19542 - Get the url at the time of the send() and pass it on to the XHR.
19543
19544 * bindings/js/JSXMLHttpRequestCustom.cpp:
19545 (WebCore::JSXMLHttpRequest::send):
19546 * xml/XMLHttpRequest.cpp:
19547 (WebCore::XMLHttpRequest::didFinishLoading):
19548 * xml/XMLHttpRequest.h:
19549 (WebCore::XMLHttpRequest::setLastSendURL):
19550
195512008-09-25 Kevin McCullough <kmccullough@apple.com>
19552
kmccullough@apple.com340e7272008-09-25 16:04:20 +000019553 Reviewed by Geoff and Tim.
19554
19555 Bug 20322: XHRs logged in the console do not have line numbers
19556 - Get the line number at the time of the send and pass it on to the XHR.
19557
19558 * bindings/js/JSXMLHttpRequestCustom.cpp:
19559 (WebCore::JSXMLHttpRequest::send):
19560 * xml/XMLHttpRequest.cpp:
19561 (WebCore::XMLHttpRequest::XMLHttpRequest):
19562 (WebCore::XMLHttpRequest::didFinishLoading):
19563 * xml/XMLHttpRequest.h:
19564 (WebCore::XMLHttpRequest::setLastSendLineNumber):
19565
eric.carlson@apple.comb9404142008-09-25 15:33:02 +0000195662008-09-25 Eric Carlson <eric.carlson@apple.com>
19567
19568 Reviewed by Eric Seidel.
19569
19570 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
19571 https://bugs.webkit.org/show_bug.cgi?id=21003
19572
19573 * dom/EventNames.h: remove "begin" event
19574 * html/HTMLMediaElement.cpp:
19575 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
19576
ap@webkit.orgcdec56d2008-09-25 11:30:02 +0000195772008-09-25 Alexey Proskuryakov <ap@webkit.org>
19578
19579 Reviewed by Eric Seidel.
19580
19581 https://bugs.webkit.org/show_bug.cgi?id=21097
19582 Calling a MessageChannel constructor from a destroyed document results in a crash
19583
19584 Test: fast/events/message-port-constructor-for-deleted-document.html
19585
19586 * bindings/js/JSMessageChannelConstructor.cpp:
19587 (WebCore::JSMessageChannelConstructor::construct):
19588 * bindings/js/JSMessageChannelConstructor.h:
19589 Made m_document a RefPtr.
19590
ap@webkit.org28b51752008-09-25 10:15:11 +0000195912008-09-24 Alexey Proskuryakov <ap@webkit.org>
19592
19593 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
19594
19595 https://bugs.webkit.org/show_bug.cgi?id=20879
19596 Implement HTML5 channel messaging
19597
19598 Tests: fast/events/message-channel-gc.html
19599 fast/events/message-port-deleted-document.html
19600 fast/events/message-port-deleted-frame.html
19601 fast/events/message-port-inactive-document.html
19602 fast/events/message-port.html
19603 http/tests/security/MessagePort/event-listener-context.html
19604
19605 * Configurations/WebCore.xcconfig:
19606 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
19607
19608 * DerivedSources.make:
19609 Added MessageChannel and MessagePort.
19610
19611 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
19612 turmed off anyway. Added new files.
19613
19614 * GNUmakefile.am:
19615 * WebCore.pro:
19616 * WebCore.vcproj/WebCore.vcproj:
19617 * WebCore.xcodeproj/project.pbxproj:
19618 * WebCoreSources.bkl:
19619 Added new files.
19620
19621 * bindings/js/JSDOMWindowBase.h:
19622 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
19623 Added suport for window.MessageChannel constructor.
19624
19625 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
19626 * page/DOMWindow.cpp:
19627 (WebCore::DOMWindow::postMessage):
19628 * page/DOMWindow.h:
19629 * page/DOMWindow.idl:
19630 Added support for three-argument postMessage (that posts a MessagePort).
19631
19632 * dom/EventTarget.cpp:
19633 (WebCore::EventTarget::toMessagePort):
19634 * dom/EventTarget.h:
19635 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
19636 EventTarget variant.
19637
19638 * bindings/js/JSMessageChannelConstructor.h:
19639 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
19640 take a browsing context (document) parameter.
19641
19642 * bindings/js/JSMessageChannelCustom.cpp: Added.
19643 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
19644 port1 and port2 that it owns.
19645
19646 * bindings/js/JSMessagePortCustom.cpp: Added.
19647 (WebCore::JSMessagePort::startConversation):
19648 (WebCore::JSMessagePort::addEventListener):
19649 (WebCore::JSMessagePort::removeEventListener):
19650 (WebCore::JSMessagePort::dispatchEvent):
19651 (WebCore::JSMessagePort::setOnmessage):
19652 (WebCore::JSMessagePort::onmessage):
19653 (WebCore::JSMessagePort::setOnclose):
19654 (WebCore::JSMessagePort::onclose):
19655 (WebCore::JSMessagePort::mark):
19656 * dom/MessagePort.cpp: Added.
19657 * dom/MessagePort.h: Added.
19658 * dom/MessagePort.idl: Added.
19659 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
19660 with Documents as contexts, but in the future, it will be used for communication with worker
19661 threads.
19662
19663 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
19664 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
19665 needed for MessageEvent.
19666
19667 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
19668
19669 * dom/Document.cpp:
19670 (WebCore::MessagePortTimer::MessagePortTimer):
19671 (WebCore::MessagePortTimer::fired):
19672 (WebCore::Document::processMessagePortMessagesSoon):
19673 (WebCore::Document::~Document):
19674 (WebCore::Document::dispatchMessagePortEvents):
19675 (WebCore::Document::createdMessagePort):
19676 (WebCore::Document::destroyedMessagePort):
19677 * dom/Document.h:
19678 Document keeps track of all MessagePort objects that were created when it was fully active
19679 in its context.
19680
19681 * dom/EventNames.h: Added closeEvent.
19682
19683 * dom/MessageChannel.cpp: Added.
19684 (WebCore::MessageChannel::MessageChannel):
19685 (WebCore::MessageChannel::~MessageChannel):
19686 * dom/MessageChannel.h: Added.
19687 (WebCore::MessageChannel::create):
19688 (WebCore::MessageChannel::port1):
19689 (WebCore::MessageChannel::port2):
19690 * dom/MessageChannel.idl: Added.
19691 Addded JSMessageChannel implementation.
19692
19693 * dom/MessageEvent.cpp:
19694 (WebCore::MessageEvent::MessageEvent):
19695 (WebCore::MessageEvent::initMessageEvent):
19696 * dom/MessageEvent.h:
19697 (WebCore::MessageEvent::create):
19698 (WebCore::MessageEvent::messagePort):
19699 * dom/MessageEvent.idl:
19700 MessageEvent has a MessagePort member now, making it possible to pass ports across
19701 documents.
19702
dsmith@webkit.org3e32f422008-09-25 08:57:31 +0000197032008-09-25 David Smith <catfish.man@gmail.com>
19704
19705 Reviewed by Eric Seidel
19706
19707 fix https://bugs.webkit.org/show_bug.cgi?id=21091
19708 Regression: querySelector matches tag names case sensitively
19709
19710 Tests: fast/dom/SelectorAPI/caseTag.html
19711 fast/dom/SelectorAPI/caseTagX.xhtml
19712
19713 * css/CSSParser.cpp:
19714 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
19715 * css/CSSParser.h:
19716 * dom/Node.cpp:
19717 (WebCore::Node::querySelector):
19718 (WebCore::Node::querySelectorAll):
19719
hyatt@apple.com912c1b12008-09-25 07:38:56 +0000197202008-09-24 David Hyatt <hyatt@apple.com>
19721
19722 https://bugs.webkit.org/show_bug.cgi?id=21084
19723
19724 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
19725 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
19726
19727 Reviewed by Sam Weinig
19728
19729 * GNUmakefile.am:
19730 * WebCore.pro:
19731 * WebCore.vcproj/WebCore.vcproj:
19732 * WebCore.xcodeproj/project.pbxproj:
19733 * WebCoreSources.bkl:
19734 * platform/ScrollView.h:
19735 (WebCore::ScrollView::children):
19736 * platform/Widget.h:
19737 * platform/gtk/ScrollViewGtk.cpp:
19738 (WebCore::ScrollView::addChildPlatformWidget):
19739 (WebCore::ScrollView::removeChildPlatformWidget):
19740 (WebCore::ScrollView::geometryChanged):
19741 * platform/mac/ScrollViewMac.mm:
19742 (WebCore::ScrollView::addChildPlatformWidget):
19743 (WebCore::ScrollView::removeChildPlatformWidget):
19744 * platform/qt/ScrollViewQt.cpp:
19745 (WebCore::ScrollView::geometryChanged):
19746 (WebCore::ScrollView::addChildPlatformWidget):
19747 (WebCore::ScrollView::removeChildPlatformWidget):
19748 * platform/win/ScrollViewWin.cpp:
19749 (WebCore::ScrollView::geometryChanged):
19750 (WebCore::ScrollView::setParentVisible):
19751 (WebCore::ScrollView::show):
19752 (WebCore::ScrollView::hide):
19753 * platform/wx/ScrollViewWx.cpp:
19754 (WebCore::ScrollView::addChildPlatformWidget):
19755 (WebCore::ScrollView::removeChildPlatformWidget):
19756
mitz@apple.com982d2cc2008-09-25 07:16:05 +0000197572008-09-25 Dan Bernstein <mitz@apple.com>
19758
19759 Reviewed by Dave Hyatt.
19760
19761 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
19762 <rdar://problem/6240821> Scrollbar not painted until hovered
19763
19764 * rendering/RenderWidget.cpp:
19765 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
19766 this method, which sets both the location and the size.
19767 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
19768 with a call to the new method setWidgetGeometry. Positioning the
19769 widget correctly ensures that the scroll bars invalidate correctly when
19770 they are created and resized.
19771 * rendering/RenderWidget.h:
19772
mitz@apple.com61969a62008-09-25 00:50:05 +0000197732008-09-24 Dan Bernstein <mitz@apple.com>
19774
19775 Rubber-stamped by Sam Weinig.
19776
19777 - create a "style" subfolder under "rendering" and move style files to that folder
19778
19779 * WebCore.vcproj/WebCore.vcproj:
19780
weinig@apple.comacfb9e12008-09-25 00:39:11 +0000197812008-09-24 Sam Weinig <sam@webkit.org>
19782
19783 Reviewed by Maciej Stachowiak.
19784
19785 Remove staticFunctionGetter. There is only one remaining user of
19786 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
19787
19788 * bindings/js/JSDOMWindowBase.cpp:
19789 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
19790
mitz@apple.com0cb3dff2008-09-24 23:40:29 +0000197912008-09-24 Jeremy Moskovich <jeremy@chromium.org>
19792
19793 Reviewed by Dan Bernstein.
19794
19795 Test: editing/spelling/inline_spelling_markers.html
19796
19797 - https://bugs.webkit.org/show_bug.cgi?id=20092
19798 Spelling markers positioned incorrectly in RTL text
19799
19800 Measure spelling markers with selectionRectForText() to fix RTL.
19801
19802 This patch also fixes hit-testing for spelling marker tool tips,
19803 which used to work only on the first line.
19804
19805 * rendering/InlineTextBox.cpp:
19806 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
19807
hyatt@apple.come5925322008-09-24 21:28:08 +0000198082008-09-24 David Hyatt <hyatt@apple.com>
19809
hyatt@apple.com31cd6d62008-09-24 21:45:19 +000019810 https://bugs.webkit.org/show_bug.cgi?id=21074
19811
hyatt@apple.come5925322008-09-24 21:28:08 +000019812 Make sure the viewless scrollbar knows how to paint properly when transformed.
19813
19814 Reviewed by Sam Weinig
19815
19816 * platform/mac/ScrollbarThemeMac.mm:
19817 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
19818 (WebCore::ScrollbarThemeMac::paint):
19819
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +0000198202008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
19821
19822 Not reviewed. Try to fix win build.
19823
19824 * bindings/js/JSSVGElementInstanceCustom.cpp:
19825 (WebCore::toJS):
19826 * dom/ContainerNodeAlgorithms.h:
19827 (WebCore::removeAllChildrenInContainer):
19828 (WebCore::appendChildToContainer):
19829 (WebCore::Private::addChildNodesToDeletionQueue):
19830
198312008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
19832
19833 Reviewed by Oliver.
19834
19835 Add ContainerNodeAlgorithms.h, as central place to share algorithms
19836 operating on TreeShared-derived classes with a Node-style interface.
19837
19838 This allows SVGElementInstance & ContainerNode to share code.
19839
19840 * dom/ContainerNode.cpp:
19841 (WebCore::ContainerNode::removeAllChildren):
19842 (WebCore::ContainerNode::addChild):
19843 * dom/ContainerNode.h:
19844 * dom/ContainerNodeAlgorithms.h: Added.
19845 (WebCore::removeAllChildrenInContainer):
19846 (WebCore::appendChildToContainer):
19847 (WebCore::Private::NodeRemovalDispatcher::dispatch):
19848 (WebCore::Private::addChildNodesToDeletionQueue):
19849
simon.fraser@apple.com557a0472008-09-24 21:08:23 +0000198502008-09-24 Simon Fraser <simon.fraser@apple.com>
19851
19852 Reviewed by Dave Hyatt
19853
19854 Wrap up dirtying the z-order list of the stacking context
19855 RenderLayer into a method.
19856 https://bugs.webkit.org/show_bug.cgi?id=21072
19857
19858 * rendering/RenderLayer.cpp:
19859 (WebCore::RenderLayer::setHasVisibleContent):
19860 (WebCore::RenderLayer::addChild):
19861 (WebCore::RenderLayer::removeChild):
19862 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
19863 (WebCore::RenderLayer::styleChanged):
19864 * rendering/RenderLayer.h:
19865 * rendering/RenderObject.cpp:
19866 (WebCore::RenderObject::setStyle):
19867
kmccullough@apple.comaf908e62008-09-24 20:22:23 +0000198682008-09-24 Kevin McCullough <kmccullough@apple.com>
19869
19870 Reviewed by Tim.
19871
19872 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
19873 or displayed multiple times
19874 - The Insepctor Controller was comparing JSValue pointers so thought the
19875 message was not a repeat, but the JS of the inspector compared the
19876 strings and so knew it was the same message and so overwrote the old
19877 message.
19878
19879 * page/InspectorController.cpp:
19880 (WebCore::ConsoleMessage::isEqual):
19881 (WebCore::InspectorController::addMessageToConsole):
19882 (WebCore::InspectorController::addConsoleMessage):
19883 (WebCore::InspectorController::startGroup):
19884 (WebCore::InspectorController::endGroup):
19885 * page/InspectorController.h:
19886
hyatt@apple.comf4c8f172008-09-24 20:19:26 +0000198872008-09-24 David Hyatt <hyatt@apple.com>
19888
19889 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
19890 arrow placement preference and the thumb jump preference).
19891
19892 Reviewed by Adam Roben
19893
19894 * platform/Scrollbar.cpp:
19895 (WebCore::Scrollbar::Scrollbar):
19896 (WebCore::Scrollbar::~Scrollbar):
19897 * platform/ScrollbarTheme.h:
19898 (WebCore::ScrollbarTheme::registerScrollbar):
19899 (WebCore::ScrollbarTheme::unregisterScrollbar):
19900 * platform/mac/ScrollbarThemeMac.h:
19901 * platform/mac/ScrollbarThemeMac.mm:
19902 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
19903 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
19904 (+[ScrollbarPrefsObserver registerAsObserver]):
19905 (WebCore::ScrollbarThemeMac::registerScrollbar):
19906 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
19907 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
19908 (WebCore::ScrollbarThemeMac::preferencesChanged):
19909
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +0000199102008-09-24 Rob Buis <buis@kde.org>
19911
19912 Reviewed by Darin.
19913
19914 https://bugs.webkit.org/show_bug.cgi?id=20557
19915 getScreenCTM() returns wrong values
19916
19917 Use the absolute position of the svg root when
19918 determining the screen ctm.
19919
19920 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
19921
19922 * svg/SVGSVGElement.cpp:
19923 (WebCore::SVGSVGElement::getScreenCTM):
19924
hyatt@apple.com40a73652008-09-24 18:15:15 +0000199252008-09-24 David Hyatt <hyatt@apple.com>
19926
hyatt@apple.come77b7d42008-09-24 18:26:51 +000019927 Turn off support for CSS variables.
19928
19929 * ChangeLog:
19930 * css/CSSParser.cpp:
19931 (WebCore::CSSParser::createVariablesRule):
19932 (WebCore::CSSParser::addVariable):
19933 (WebCore::CSSParser::addVariableDeclarationBlock):
19934
199352008-09-24 David Hyatt <hyatt@apple.com>
19936
hyatt@apple.com40a73652008-09-24 18:15:15 +000019937 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
19938
19939 * css/CSSGrammar.y:
19940 * css/CSSParserValues.cpp:
19941 (WebCore::CSSParserValue::isVariable):
19942 * css/CSSPrimitiveValue.cpp:
19943 (WebCore::CSSPrimitiveValue::cleanup):
19944 (WebCore::CSSPrimitiveValue::getStringValue):
19945 (WebCore::CSSPrimitiveValue::cssText):
19946 (WebCore::CSSPrimitiveValue::parserValue):
19947 * css/CSSPrimitiveValue.h:
19948 (WebCore::CSSPrimitiveValue::):
19949 (WebCore::CSSPrimitiveValue::isVariable):
19950
timothy@apple.com0214f092008-09-24 16:23:17 +0000199512008-09-24 Timothy Hatcher <timothy@apple.com>
19952
19953 Fixes a regression where the "incorrect MIME-type" warning would not
19954 show up correctly in the Console or the resources sidebar.
19955
19956 Reviewed by Kevin McCullough.
19957
19958 * page/inspector/Resource.js:
19959 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
19960 to the WebInspector.ConsoleMessage constructor call.
19961 (WebInspector.Resource.prototype._checkWarning): Ditto.
19962
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +0000199632008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
19964
19965 Reviewed by Simon.
19966
19967 Remove deprecated JS Qt bindings object call/construct code and fix autotests
19968
19969 * bridge/qt/qt_instance.cpp:
19970 (JSC::Bindings::QtInstance::QtInstance):
19971 * bridge/qt/qt_instance.h:
19972
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +0000199732008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
19974
19975 Reviewed by Alp Toker. Landed by Jan Alonzo.
19976
19977 Bug 20883: [CURL] Add deferred loading
19978 https://bugs.webkit.org/show_bug.cgi?id=20883
19979
19980 Implement deferred loading for the libcURL backend using curl_easy_pause.
19981 As the method was introduced in version 7.18.0, all the code checks for libcURL
19982 version.
19983
19984 * platform/network/curl/ResourceHandleCurl.cpp:
19985 (WebCore::ResourceHandle::setDefersLoading):
19986 * platform/network/curl/ResourceHandleManager.cpp:
19987 (WebCore::writeCallback): Add an assertion that deferred loading is not
19988 activated.
19989 (WebCore::headerCallback): Ditto.
19990 (WebCore::readCallback): Ditto.
19991 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
19992 defersLoading to be false in order to avoid triggering an assertion.
19993 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
19994 activated, pause the easy handle.
19995
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +0000199962008-09-23 Matt Lilek <webkit@mattlilek.com>
19997
19998 Reviewed by Tim Hatcher.
19999
20000 Inspector search field style tweaks.
20001
20002 * page/inspector/inspector.css:
20003
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +0000200042008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
20005
20006 Reviewed by Eric.
20007
20008 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
20009
20010 Fix missing negation in EventTargetNode::insertedIntoDocument.
20011 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
20012 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
20013
20014 * dom/EventTargetNode.cpp:
20015 (WebCore::EventTargetNode::insertedIntoDocument):
20016 (WebCore::EventTargetNode::dispatchGenericEvent):
20017 * dom/EventTargetNode.h:
20018
timothy@apple.combffde042008-09-24 02:07:39 +0000200192008-09-23 Timothy Hatcher <timothy@apple.com>
20020
timothy@apple.com99c03532008-09-24 02:08:44 +000020021 Adds search support to the Profiles panel.
20022
20023 The Profiles panel supports a few types of queries:
20024 * Standard string matching for function names and file URLs.
20025 * Greater than and less than search for numeric columns.
20026 So a query of ">24" will match all rows that have calls
20027 greater than 24. Or "<=42" will match all 42 or less.
20028 * Percent and time units. Adding a unit of "s", "ms" or "%"
20029 is supported and will match only the Self and Total columns.
20030 So a query of ">1.25s" will match all rows that took longer
20031 than 1.25 seconds.
20032
20033 Reviewed by Oliver Hunt.
20034
20035 * page/inspector/ProfileView.js:
20036 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
20037 it will start at the first result.
20038 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
20039 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
20040 data grid nodes.
20041 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
20042 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
20043 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
20044 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
20045 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
20046 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
20047 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
20048 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
20049 Expand all the ancestors first so the profile node will have a DataGridNode.
20050 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
20051 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
20052 have search matches.
20053 * page/inspector/ProfilesPanel.js:
20054 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
20055 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
20056 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
20057 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
20058 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
20059 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
20060 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
20061 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
20062 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
20063 * page/inspector/inspector.css: New style rules for the cell highlight color.
20064
200652008-09-23 Timothy Hatcher <timothy@apple.com>
20066
timothy@apple.com33c28442008-09-24 02:08:39 +000020067 Adds search support to the Resources and Scripts panels.
20068
20069 https://bugs.webkit.org/show_bug.cgi?id=21005
20070
20071 Reviewed by Oliver Hunt.
20072
20073 * page/inspector/Images/searchSmallBlue.png: Added.
20074 * page/inspector/Images/searchSmallBrightBlue.png: Added.
20075 * page/inspector/Images/searchSmallGray.png: Added.
20076 * page/inspector/Images/searchSmallWhite.png: Added.
20077 * page/inspector/ResourceView.js:
20078 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
20079 or "script-resource-views" since one might not be created yet.
20080 * page/inspector/ResourcesPanel.js:
20081 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
20082 are not this panel's current visible view. This can happen when a ResourceView is
20083 visible in the Scripts panel then switched to the this panel.
20084 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
20085 visibleView first.
20086 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
20087 that uses the current graph search function. So cycling through results will be in the order
20088 things appear in the sidebar.
20089 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
20090 resource's sidebar tree element.
20091 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
20092 in the sidebar. Calls the Panel prototype's searchCanceled.
20093 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
20094 in the sidebar. Calls the Panel prototype's performSearch.
20095 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
20096 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
20097 if there is a current search query.
20098 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
20099 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
20100 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
20101 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
20102 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
20103 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
20104 * page/inspector/ScriptView.js:
20105 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
20106 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
20107 it will start at the first result.
20108 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
20109 highlighting complete".
20110 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
20111 * page/inspector/ScriptsPanel.js:
20112 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
20113 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
20114 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
20115 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
20116 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
20117 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
20118 * page/inspector/SourceFrame.js:
20119 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
20120 * page/inspector/SourceView.js:
20121 (WebInspector.SourceView.prototype.hide):
20122 (WebInspector.SourceView.prototype.detach):
20123 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
20124 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
20125 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
20126 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
20127 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
20128 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
20129 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
20130 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
20131 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
20132 (WebInspector.SourceView.prototype.showingFirstSearchResult):
20133 (WebInspector.SourceView.prototype.showingLastSearchResult):
20134 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
20135 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
20136 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
20137 * page/inspector/inspector.css:
20138
201392008-09-23 Timothy Hatcher <timothy@apple.com>
20140
timothy@apple.com18950ed2008-09-24 02:08:32 +000020141 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
20142 so future code can be shared.
20143
20144 https://bugs.webkit.org/show_bug.cgi?id=21005
20145
20146 Reviewed by Oliver Hunt.
20147
20148 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
20149 And visibleResourceView to visibleView.
20150 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
20151
201522008-09-23 Timothy Hatcher <timothy@apple.com>
20153
timothy@apple.comcb23f4a2008-09-24 02:08:27 +000020154 Highlight all matched search results in the Elements panel DOM tree.
20155
20156 https://bugs.webkit.org/show_bug.cgi?id=21005
20157
20158 Reviewed by Oliver Hunt.
20159
20160 * page/inspector/ElementsPanel.js:
20161 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
20162 on all previous search results.
20163 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
20164 on all new search results.
20165 * page/inspector/ElementsTreeOutline.js:
20166 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
20167 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
20168 the highlighted class on the listItemElement.
20169 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
20170 if needed. Calls _updateTitle.
20171 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
20172 class so it can be styled when the highlighted class is present.
20173 * page/inspector/inspector.css: New style rules for the hihglight.
20174
201752008-09-23 Timothy Hatcher <timothy@apple.com>
20176
timothy@apple.com574c0522008-09-24 02:08:19 +000020177 Add search support to the Elements panel.
20178
20179 https://bugs.webkit.org/show_bug.cgi?id=21005
20180
20181 Reviewed by Oliver Hunt.
20182
20183 * page/inspector/ElementsPanel.js:
20184 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
20185 with a 0 match count to rest. Reset the other search properties.
20186 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
20187 query and a CSS selector on all the Documents in the page. Remembers the found nodes
20188 and avoids duplicates. Focuses the first result.
20189 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
20190 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
20191
201922008-09-23 Timothy Hatcher <timothy@apple.com>
20193
timothy@apple.com82d233c2008-09-24 02:08:15 +000020194 Add support to Panel that allows easy searching of sub-views.
20195
20196 https://bugs.webkit.org/show_bug.cgi?id=21005
20197
20198 Reviewed by Oliver Hunt.
20199
20200 * page/inspector/Panel.js:
20201 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
20202 views in the search results and delete the currentQuery property. Call
20203 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
20204 other search properties.
20205 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
20206 reset everything we need before doing a new search. Get an array of searchableViews
20207 from the panel, implemented by sub-classes. Iterate over the views one-by-one
20208 with an interval to prevent blocking the UI for large lists of searchableViews.
20209 This keeps the interface really responsive. Pass a finishedCallback function to
20210 the performSearch on each view so it can notify the panel of results.
20211 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
20212 searchResults of the visibleView, so we know where in the results we are.
20213 This is done every time incase the user manually navigates to a new view.
20214 If the view is showing the last result, jump to the next view and show it's
20215 first result. Otherwise jump to the next result in the current view.
20216 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
20217
202182008-09-23 Timothy Hatcher <timothy@apple.com>
20219
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +000020220 Add support for asking the current panel to perform a search, find next/previous and clear.
20221 A search is performed on the new new current panel when switching between panels. The search
20222 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
20223 be searched. The search field contents are selected when Command/Control-F or Enter/Return
20224 is pressed, so the user can easily type an entirely new query. The search match count shows
20225 up in the toolbar next to the search field.
20226
20227 Also changed:
20228 * Rename lastQuery to currentQuery since it better matches the truth.
20229 * Set the search field "results" attribute to zero since results arn't saved for
20230 how we use the search field.
20231 * Make repeated presses of the Return key jump to the next search result instead
20232 of doing nothing.
20233 * Increased the search field width.
20234
20235 https://bugs.webkit.org/show_bug.cgi?id=21005
20236
20237 Reviewed by Oliver Hunt.
20238
20239 * English.lproj/localizedStrings.js: New strings.
20240 * page/inspector/inspector.css: New styles.
20241 * page/inspector/inspector.html: Add the search-results-matches element. Add the
20242 incremental attribute to the search field and set the results attribute to zero.
20243 * page/inspector/inspector.js:
20244 (WebInspector.set currentPanel): perform the search on the new panel.
20245 (WebInspector.loaded): Change the event listeners and remove code that changes
20246 the search label text.
20247 (WebInspector.documentKeyDown): Add support for Command/Control-G and
20248 Command/Control-Shift-G. To jump to the next and previous search results.
20249 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
20250 This does different things depending on the attached state.
20251 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
20252 This prevents a "search" event from firing for key down. We handle the Enter key
20253 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
20254 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
20255 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
20256 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
20257 Call updateSearchMatchesCount to reset the matches count in the toolbar.
20258 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
20259
202602008-09-23 Timothy Hatcher <timothy@apple.com>
20261
timothy@apple.com1d5227a2008-09-24 02:08:01 +000020262 Remove the previous Inspector search code to make room for the new stuff.
20263
20264 https://bugs.webkit.org/show_bug.cgi?id=21005
20265
20266 Reviewed by Oliver Hunt.
20267
20268 * page/inspector/inspector.css:
20269 * page/inspector/inspector.html:
20270 * page/inspector/inspector.js:
20271 (WebInspector.get/set showingSearchResults): Removed.
20272 (WebInspector.searchResultsKeyDown): Removed.
20273 (WebInspector.searchResultsResizerDragStart): Removed.
20274 (WebInspector.searchResultsResizerDragEnd): Removed.
20275 (WebInspector.searchResultsResizerDrag): Removed.
20276 (WebInspector.performSearch): Removed searching parts.
20277
202782008-09-23 Timothy Hatcher <timothy@apple.com>
20279
timothy@apple.com5e915b722008-09-24 02:07:56 +000020280 Use the Array.remove helper function in more places.
20281
20282 https://bugs.webkit.org/show_bug.cgi?id=21037
20283
20284 Reviewed by Kevin McCullough.
20285
20286 * page/inspector/ResourceCategory.js:
20287 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
20288 * page/inspector/ResourcesPanel.js:
20289 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
20290 * page/inspector/inspector.js:
20291 (WebInspector.removeResource): Ditto.
20292
202932008-09-23 Timothy Hatcher <timothy@apple.com>
20294
timothy@apple.com3e116f12008-09-24 02:07:50 +000020295 Fixes a bug where inspecting a node after reloading the page
20296 would not reveal the node in the DOM tree. The TreeOutline
20297 was not being told to forget decendants of a removed child.
20298 So old TreeElements would be found that are not in the tree.
20299
20300 https://bugs.webkit.org/show_bug.cgi?id=21036
20301
20302 Reviewed by Kevin McCullough.
20303
20304 * page/inspector/treeoutline.js:
20305 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
20306 in addition to _forgetTreeElement.
20307 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
20308 in addition to _forgetTreeElement.
20309 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
20310 search for known elements.
20311 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
20312 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
20313 descendants and call _forgetTreeElement.
20314 * page/inspector/utilities.js:
20315 (Array.prototype.remove): Speed up this function by using Array.indexOf
20316 when onlyFirst is true.
20317
203182008-09-23 Timothy Hatcher <timothy@apple.com>
20319
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +000020320 Fixes a bug where inspecting some short text nodes does
20321 not reveal them in the Elements panel DOM tree.
20322
20323 https://bugs.webkit.org/show_bug.cgi?id=21035
20324
20325 Reviewed by Oliver Hunt.
20326
20327 * page/inspector/ElementsTreeOutline.js:
20328 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
20329 The revealAndSelectNode() method might find a different element
20330 if there is inlined text, and the select() call would change the
20331 focusedDOMNode and reenter this setter. So to avoid calling
20332 focusedNodeChanged() twice, first check if _focusedDOMNode is
20333 the same node as the one passed in.
20334 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
20335 this.treeOutline, since this is the TreeOutline.
20336 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
20337 Provides default functions for isAncestor, getParet and equal.
20338 Calls the base protoype's findTreeElement. If that returns null
20339 and the node is a text node, try finding it's parent.
20340 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
20341 Renamed to revealAndSelectNode.
20342 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
20343 Selects and reveals the node passed in. Use the simple findTreeElement.
20344 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
20345 Remove use of this.treeOutline, since this is the TreeOutline.
20346
203472008-09-23 Timothy Hatcher <timothy@apple.com>
20348
timothy@apple.combffde042008-09-24 02:07:39 +000020349 Fixes an exception that happened when removing a Resource
20350 from the ResourcesPanel.
20351
20352 https://bugs.webkit.org/show_bug.cgi?id=21034
20353
20354 Reviewed by Kevin McCullough.
20355
20356 * page/inspector/ResourcesPanel.js:
20357 (WebInspctor.ResourcesPanel.prototype.removeResource):
20358 Remove the graphElement.
20359
kmccullough@apple.com70d32f22008-09-24 01:18:31 +0000203602008-09-23 Kevin McCullough <kmccullough@apple.com>
20361
20362 Fixed "Time" to "Tim"
20363
20364 * ChangeLog:
20365
zimmermann@webkit.org718a2232008-09-24 01:00:42 +0000203662008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
20367
20368 Reviewed by Oliver.
20369
20370 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
20371 from SVGDocumentExtensions to SVGElement. It's more useful to store
20372 the list of SVGElementInstances per SVGElement, instead of using
20373 a document-wide hash for this purpose.
20374
20375 * svg/SVGAnimateMotionElement.cpp:
20376 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
20377 * svg/SVGAnimateTransformElement.cpp:
20378 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
20379 * svg/SVGAnimationElement.cpp:
20380 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
20381 * svg/SVGDocumentExtensions.cpp:
20382 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
20383 * svg/SVGDocumentExtensions.h:
20384 * svg/SVGElement.cpp:
20385 (WebCore::SVGElement::mapInstanceToElement):
20386 (WebCore::SVGElement::removeInstanceMapping):
20387 (WebCore::SVGElement::instancesForElement):
20388 * svg/SVGElement.h:
20389 * svg/SVGElementInstance.cpp:
20390 (WebCore::SVGElementInstance::SVGElementInstance):
20391 (WebCore::SVGElementInstance::~SVGElementInstance):
20392 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
20393 * svg/SVGElementInstance.h:
20394 * svg/SVGStyledElement.cpp:
20395 (WebCore::SVGStyledElement::svgAttributeChanged):
20396 (WebCore::SVGStyledElement::childrenChanged):
20397 * svg/SVGStyledElement.h:
20398
kevino@webkit.org706ea432008-09-24 00:53:56 +0000203992008-09-23 Kevin Ollivier <kevino@theolliviers.com>
20400
20401 wx build fix.
20402
20403 * WebCoreSources.bkl:
20404
zimmermann@webkit.org97c71082008-09-24 00:23:28 +0000204052008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
20406
20407 Rubber stamped by Sam.
20408
20409 Move code from EventTarget to EventTargetNode.
20410
20411 I refactored most parts to live in EventTarget, a year ago,
20412 though the implementation of EventTargetSVGElementInstance is
20413 done in another way, that obsoletes this.
20414
20415 * dom/Document.cpp:
20416 (WebCore::Document::addListenerTypeIfNeeded):
20417 * dom/Document.h:
20418 * dom/EventTarget.cpp:
20419 * dom/EventTarget.h:
20420 (WebCore::allowEventDispatch):
20421 * dom/EventTargetNode.cpp:
20422 (WebCore::EventTargetNode::insertedIntoDocument):
20423 (WebCore::EventTargetNode::removedFromDocument):
20424 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
20425 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
20426 (WebCore::EventTargetNode::addEventListener):
20427 (WebCore::EventTargetNode::removeEventListener):
20428 (WebCore::EventTargetNode::removeAllEventListeners):
20429 (WebCore::EventTargetNode::handleLocalEvents):
20430 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
20431 (WebCore::EventTargetNode::dispatchEvent):
20432 (WebCore::EventTargetNode::dispatchGenericEvent):
20433 (WebCore::EventTargetNode::dispatchWindowEvent):
20434 (WebCore::EventTargetNode::removeEventListenerForType):
20435 * dom/EventTargetNode.h:
20436 * svg/EventTargetSVGElementInstance.cpp:
20437 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
20438 * svg/SVGElement.cpp:
20439 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
20440 * svg/SVGElement.h:
20441 (WebCore::SVGElement::supplementalTransform):
20442
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +0000204432008-09-23 Dave Hyatt <hyatt@apple.com>
20444
20445 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
20446 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
20447
20448 Reviewed by Sam Weinig
20449
20450 * platform/mac/ScrollbarThemeMac.mm:
20451 (WebCore::ScrollbarThemeMac::trackRect):
20452 * platform/win/ScrollbarThemeSafari.cpp:
20453 (WebCore::ScrollbarTheme::nativeTheme):
20454 (WebCore::ScrollbarThemeSafari::trackRect):
20455
bdakin@apple.comaab5d692008-09-24 00:09:33 +0000204562008-09-23 Beth Dakin <bdakin@apple.com>
20457
20458 Reviewed by Sam Weinig.
20459
20460 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
20461 link at gmail does not support AXPress action
20462 and corresponding: <rdar://problem/6216178>
20463
20464 I fixed this bug by making AccessibilityObject::anchorElement
20465 support ARIA links.
20466
20467 * page/AccessibilityImageMapLink.cpp:
20468 (WebCore::AccessibilityImageMapLink::anchorElement):
20469 * page/AccessibilityImageMapLink.h:
20470 * page/AccessibilityObject.cpp:
20471 (WebCore::AccessibilityObject::anchorElement):
20472 * page/AccessibilityObject.h:
20473 (WebCore::AccessibilityObject::isNativeAnchor):
20474 * page/AccessibilityRenderObject.cpp:
20475 (WebCore::AccessibilityRenderObject::isNativeAnchor):
20476 (WebCore::AccessibilityRenderObject::anchorElement):
20477 (WebCore::AccessibilityRenderObject::internalLinkElement):
20478 (WebCore::AccessibilityRenderObject::url):
20479 * page/AccessibilityRenderObject.h:
20480 * page/mac/AccessibilityObjectWrapper.mm:
20481 (AXLinkElementForNode):
20482
kmccullough@apple.com58f6b182008-09-24 00:05:34 +0000204832008-09-23 Kevin McCullough <kmccullough@apple.com>
20484
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000020485 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000020486
20487 Bug 20949: Catch repeated messages in Inspector Controller to limit
20488 memory usage
20489 - Store the repeat count in the Console Message object, in the
20490 Inspector Controller and JS ConsoleMessage object.
20491
20492 * page/InspectorController.cpp:
20493 (WebCore::ConsoleMessage::ConsoleMessage):
20494 (WebCore::ConsoleMessage::operator==):
20495 (WebCore::InspectorController::InspectorController):
20496 (WebCore::InspectorController::addConsoleMessage):
20497 (WebCore::InspectorController::addScriptConsoleMessage):
20498 * page/InspectorController.h:
20499 * page/inspector/Console.js:
20500 * page/inspector/Resource.js:
20501 * page/inspector/ResourcesPanel.js:
20502 * page/inspector/SourceFrame.js:
20503
zimmermann@webkit.org29d22032008-09-23 23:44:20 +0000205042008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
20505
20506 Reviewed by Eric.
20507
20508 Working on proper EventTarget support for SVGElementInstance.
20509
20510 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
20511 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
20512
20513 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
20514 implementation. Let it use TreeShared directly.
20515
20516 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
20517 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
20518
20519 * GNUmakefile.am:
20520 * WebCore.pro:
20521 * WebCore.vcproj/WebCore.vcproj:
20522 * WebCore.xcodeproj/project.pbxproj:
20523 * bindings/js/JSEventTargetBase.cpp:
20524 (WebCore::retrieveEventTargetAndCorrespondingNode):
20525 (WebCore::toJS):
20526 * bindings/js/JSEventTargetBase.h:
20527 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
20528 (WebCore::):
20529 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
20530 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
20531 (WebCore::JSEventTargetSVGElementInstance::setListener):
20532 (WebCore::JSEventTargetSVGElementInstance::getListener):
20533 (WebCore::toEventTargetSVGElementInstance):
20534 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
20535 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
20536 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
20537 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
20538 (WebCore::JSEventTargetSVGElementInstance::put):
20539 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
20540 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
20541 (WebCore::toJS):
20542 * bindings/objc/DOM.mm:
20543 (+[DOMNode _wrapEventTarget:WebCore::]):
20544 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
20545 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
20546 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
20547 (-[DOMSVGElementInstance WebCore::]):
20548 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
20549 (-[DOMSVGElementInstance addEventListener:::]):
20550 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
20551 (-[DOMSVGElementInstance removeEventListener:::]):
20552 (-[DOMSVGElementInstance dispatchEvent:]):
20553 * bindings/objc/DOMEvents.h:
20554 * bindings/scripts/CodeGeneratorJS.pm:
20555 * bindings/scripts/CodeGeneratorObjC.pm:
20556 * svg/EventTargetSVGElementInstance.cpp: Added.
20557 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
20558 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
20559 (WebCore::EventTargetSVGElementInstance::addEventListener):
20560 (WebCore::EventTargetSVGElementInstance::removeEventListener):
20561 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
20562 * svg/EventTargetSVGElementInstance.h: Added.
20563 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
20564 (WebCore::EventTargetSVGElementInstance::toNode):
20565 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
20566 (WebCore::EventTargetSVGElementInstance::refEventTarget):
20567 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
20568 (WebCore::EventTargetSVGElementInstanceCast):
20569 * svg/SVGElement.cpp:
20570 (WebCore::SVGElement::dispatchEvent):
20571 * svg/SVGElementInstance.cpp:
20572 (WebCore::SVGElementInstance::SVGElementInstance):
20573 (WebCore::SVGElementInstance::~SVGElementInstance):
20574 * svg/SVGElementInstance.h:
20575 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
20576 * svg/SVGElementInstance.idl:
20577
mitz@apple.come47c5af2008-09-23 21:47:54 +0000205782008-09-23 Dan Bernstein <mitz@apple.com>
20579
20580 Reviewed by Dave Hyatt.
20581
20582 - https://bugs.webkit.org/show_bug.cgi?id=21040
20583 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
20584
20585 * platform/graphics/mac/SimpleFontDataMac.mm:
20586 (WebCore::SimpleFontData::getCTFont):
20587
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +0000205882008-09-23 David Hyatt <hyatt@apple.com>
20589
20590 https://bugs.webkit.org/show_bug.cgi?id=21039
20591
20592 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
20593
20594 Reviewed by Sam Weinig
20595
20596 * platform/ScrollView.h:
20597 * platform/Scrollbar.cpp:
20598 (WebCore::Scrollbar::setFrameGeometry):
20599 * platform/Scrollbar.h:
20600 * platform/Widget.cpp:
20601 (WebCore::Widget::convertFromContainingWindow):
20602 * platform/Widget.h:
20603 * platform/mac/ScrollViewMac.mm:
20604 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
20605 (WebCore::ScrollView::ScrollView):
20606 (WebCore::ScrollView::~ScrollView):
20607 (WebCore::ScrollView::windowResizerRect):
20608 (WebCore::ScrollView::resizerOverlapsContent):
20609 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
20610 (WebCore::ScrollView::setParent):
20611 * platform/mac/WidgetMac.mm:
20612 (WebCore::Widget::convertFromContainingWindow):
20613
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +0000206142008-09-23 Dirk Schulze <vbs85@gmx.de>
20615
20616 Reviewed by Darin Adler. Landed by Jan Alonzo.
20617
20618 Added support for getImageData() and putImageData()
20619 to Cairo.
20620
20621 [CAIRO] needs getImageData and putImageData support
20622 https://bugs.webkit.org/show_bug.cgi?id=20838
20623
20624 * platform/graphics/cairo/ImageBufferCairo.cpp:
20625 (WebCore::ImageBuffer::ImageBuffer):
20626 (WebCore::ImageBuffer::getImageData):
20627 (WebCore::ImageBuffer::putImageData):
20628
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +0000206292008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
20630
20631 Reviewed by Holger Freyther.
20632
20633 http://bugs.webkit.org/show_bug.cgi?id=18987
20634 [GTK] Implement SharedBuffer::createWithContentsOfFile and
20635 KURL::fileSystemPath
20636
20637 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
20638 * platform/gtk/KURLGtk.cpp: Added.
20639 (WebCore::KURL::fileSystemPath): Implemented.
20640 * platform/gtk/SharedBufferGtk.cpp: Added.
20641 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
20642 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
20643
ap@webkit.org198304c2008-09-23 16:34:41 +0000206442008-09-23 Alexey Proskuryakov <ap@webkit.org>
20645
ap@webkit.orgccfa60a2008-09-23 20:39:22 +000020646 Reviewed by Oliver Hunt, okayed by Darin Adler.
20647
20648 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
20649
20650 * rendering/InlineTextBox.cpp:
20651 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
20652
206532008-09-23 Alexey Proskuryakov <ap@webkit.org>
20654
ap@webkit.org198304c2008-09-23 16:34:41 +000020655 Reviewed by Darin Adler.
20656
20657 https://bugs.webkit.org/show_bug.cgi?id=21023
20658 Don't use TEC for encodings supported by ICU
20659
20660 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
20661 x-mac-greek, and x-mac-turkish.
20662
20663 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
20664 Register aliases for these encodings that are not registered automatically; updated comments.
20665
mjs@apple.coma6dc93d2008-09-23 07:46:55 +0000206662008-09-23 Maciej Stachowiak <mjs@apple.com>
20667
20668 Reviewed by Darin.
20669
20670 - speed up instanceof some more
20671 https://bugs.webkit.org/show_bug.cgi?id=20818
20672
20673 ~2% speedup on EarleyBoyer
20674
20675 (WebCore updates.)
20676
20677 * bindings/js/JSQuarantinedObjectWrapper.h:
20678 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
20679
oliver@apple.combc10aae2008-09-23 07:40:49 +0000206802008-09-22 Darin Adler <darin@apple.com>
20681
20682 Reviewed by Oliver Hunt.
20683
20684 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
20685 getting pixels by index from CanvasPixelArray is unnecessarily slow
20686
20687 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
20688 * WebCore.vcproj/WebCore.vcproj: Ditto.
20689 * WebCore.xcodeproj/project.pbxproj: Ditto.
20690
20691 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
20692 indexSetter. These are now both inlined, so in the header.
20693 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
20694 function is what's used for HasCustomIndexGetter. Also moved the
20695 indexSetter function here.
20696
20697 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
20698 to use a getByIndex member function rather than an indexGetter static
20699 member function in a property slot. This lets us avoid the property
20700 slot mechanism's rule where it turns numeric property names into
20701 strings in the identifier table, which is good because that's slow.
20702 Also added a new property CustomHeader that allows IDL files to
20703 introduce headers to be included -- useful when we have functions
20704 that we want to inline into the binding.
20705
20706 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
20707
eric@webkit.org924a2d32008-09-23 07:04:11 +0000207082008-09-23 Eric Seidel <eric@webkit.org>
20709
20710 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +000020711
20712 Another blind stab in the dark.
20713
20714 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
20715
207162008-09-23 Eric Seidel <eric@webkit.org>
20717
20718 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +000020719
20720 Third time's the charm, eh? My local build is sadly still not done...
20721
20722 * platform/graphics/AffineTransform.cpp: remove extra &
20723 * platform/graphics/AffineTransform.h: remove extra &
20724
eric@webkit.orgf394f462008-09-23 06:38:10 +0000207252008-09-22 Eric Seidel <eric@webkit.org>
20726
20727 No review, build fix only.
20728
eric@webkit.orgf9212312008-09-23 06:47:51 +000020729 * platform/graphics/AffineTransform.cpp: remove extra ;
20730
207312008-09-22 Eric Seidel <eric@webkit.org>
20732
20733 No review, build fix only.
20734
eric@webkit.orgf394f462008-09-23 06:38:10 +000020735 Speculative fix for the build while I wait for my compile to finish.
20736
20737 * platform/graphics/AffineTransform.cpp:
20738
eric@webkit.org10583212008-09-23 06:05:59 +0000207392008-09-22 Dirk Schulze <vbs85@gmx.de>
20740
20741 Reviewed by eseidel. Landed by eseidel.
20742
20743 Moved makeMapBetweenRects from SVG/CG to AffineTransform
20744 Make SVGResourceClipper::applyClip more cross-platform
20745
20746 * platform/graphics/AffineTransform.cpp:
20747 * platform/graphics/AffineTransform.h:
20748 * svg/graphics/cg/CgSupport.cpp:
20749 * svg/graphics/cg/CgSupport.h:
20750 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
20751 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
20752 * svg/graphics/cg/SVGResourceClipperCg.cpp:
20753 (WebCore::SVGResourceClipper::applyClip):
20754
alp@webkit.orgfaa63e42008-09-23 03:08:57 +0000207552008-09-22 Alp Toker <alp@nuanti.com>
20756
20757 Reviewed by David Hyatt.
20758
20759 https://bugs.webkit.org/show_bug.cgi?id=16331
20760 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
20761
20762 Obey GTK+ focusing conventions for controls and anchor elements.
20763
20764 It could be interesting to push these decisions up to Settings or
20765 ChromeClient some day but this gets things working.
20766
20767 Right and middle click events still need some work to match GTK+
20768 conventions.
20769
20770 * html/HTMLAnchorElement.cpp:
20771 (WebCore::HTMLAnchorElement::isMouseFocusable):
20772 * html/HTMLFormControlElement.cpp:
20773 (WebCore::HTMLFormControlElement::isMouseFocusable):
20774 * page/EventHandler.cpp:
20775 (WebCore::EventHandler::sendContextMenuEvent):
20776
darin@apple.com4a266462008-09-23 01:24:31 +0000207772008-09-22 Darin Adler <darin@apple.com>
20778
20779 * page/mac/FrameMac.mm:
20780 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
20781
weinig@apple.comb6a39b72008-09-23 01:19:56 +0000207822008-09-22 Sam Weinig <sam@webkit.org>
20783
20784 Reviewed by Dan Bernstein.
20785
20786 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
20787 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
20788 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
20789 class!
20790
20791 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
20792 non-selectable input types, but return undefined when accessed.
20793
20794 * DerivedSources.make:
20795 * GNUmakefile.am:
20796 * WebCore.pro:
20797 * WebCore.vcproj/WebCore.vcproj:
20798 * WebCore.xcodeproj/project.pbxproj:
20799 * WebCoreSources.bkl:
20800 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
20801 * bindings/js/JSHTMLInputElementBase.h: Removed.
20802 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
20803 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
20804 (WebCore::JSHTMLInputElement::selectionStart):
20805 (WebCore::JSHTMLInputElement::selectionEnd):
20806 * bindings/js/JSHTMLInputElementCustom.h: Added.
20807 * html/HTMLInputElement.idl:
20808
mitz@apple.com895c54c2008-09-23 00:48:17 +0000208092008-09-22 Dan Bernstein <mitz@apple.com>
20810
20811 Reviewed by Sam Weinig.
20812
20813 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
20814
20815 Not testable in DumpRenderTree or in Safari
20816
20817 * page/mac/FrameMac.mm:
20818 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
20819 case that the selection start node is a block.
20820
hyatt@apple.com78083552008-09-22 22:17:40 +0000208212008-09-22 David Hyatt <hyatt@apple.com>
20822
20823 https://bugs.webkit.org/show_bug.cgi?id=21007
20824
20825 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
20826
20827 Reviewed by Sam Weinig
20828
20829 * page/EventHandler.cpp:
20830 (WebCore::EventHandler::handleMouseDoubleClickEvent):
20831
eric@webkit.orgb57170b2008-09-22 21:44:28 +0000208322008-09-22 Eric Seidel <eric@webkit.org>
20833
20834 No review, rollback only.
20835
20836 Roll out Peter's change (per his request)
20837 http://trac.webkit.org/changeset/36069
20838 https://bugs.webkit.org/show_bug.cgi?id=19663
20839 This change has been the source of numerous regressions
20840 (several of which were latent bugs revealed by this change,
20841 others were bugs in this change)
20842
20843 * platform/graphics/BitmapImage.cpp:
20844 (WebCore::BitmapImage::BitmapImage):
20845 (WebCore::BitmapImage::startAnimation):
20846 (WebCore::BitmapImage::advanceAnimation):
20847 * platform/graphics/BitmapImage.h:
20848 * platform/graphics/cairo/ImageCairo.cpp:
20849 (WebCore::BitmapImage::draw):
20850 * platform/graphics/cg/ImageCG.cpp:
20851 (WebCore::BitmapImage::draw):
20852 * platform/graphics/qt/ImageQt.cpp:
20853 (WebCore::BitmapImage::draw):
20854 * platform/graphics/wx/ImageWx.cpp:
20855 (WebCore::BitmapImage::draw):
20856
mitz@apple.comdc318202008-09-22 21:32:14 +0000208572008-09-22 Dan Bernstein <mitz@apple.com>
20858
20859 Reviewed by Sam Weinig.
20860
20861 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
20862
20863 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
20864 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
20865
20866 * config.h: Use Core Text if not building for Leopard or Tiger.
20867
hyatt@apple.com143e97c2008-09-22 21:03:02 +0000208682008-09-22 David Hyatt <hyatt@apple.com>
20869
20870 https://bugs.webkit.org/show_bug.cgi?id=21006
20871
20872 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
20873 switched on. There are still a few more refinements to make to the rendering and behavior.
20874
20875 Reviewed by Darin Adler
20876
20877 * platform/ScrollbarThemeComposite.cpp:
20878 (WebCore::ScrollbarThemeComposite::paint):
20879 * platform/ScrollbarThemeComposite.h:
20880 (WebCore::ScrollbarThemeComposite::paintTrack):
20881 (WebCore::ScrollbarThemeComposite::paintButton):
20882 (WebCore::ScrollbarThemeComposite::paintThumb):
20883 * platform/mac/ScrollbarThemeMac.h:
20884 * platform/mac/ScrollbarThemeMac.mm:
20885 (WebCore::ScrollbarThemeMac::backButtonRect):
20886 (WebCore::ScrollbarThemeMac::forwardButtonRect):
20887 (WebCore::scrollbarPartToHIPressedState):
20888 (WebCore::ScrollbarThemeMac::paint):
20889 * platform/mac/WidgetMac.mm:
20890 (WebCore::Widget::invalidateRect):
20891
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +0000208922008-09-22 Chris Marrin <cmarrin@apple.com>
20893
20894 Reviewed by Sam Weinig
20895
20896 transition end event when -webkit-transition-property: all puts wrong
20897 propertyName in event
20898 https://bugs.webkit.org/show_bug.cgi?id=20903
20899
20900 * page/animation/ImplicitAnimation.cpp:
20901 (WebCore::ImplicitAnimation::sendTransitionEvent):
20902
cfleizach@apple.com70013042008-09-22 18:30:36 +0000209032008-09-22 Chris Fleizach <cfleizach@apple.com>
20904
20905 Reviewed by Darin Adler.
20906
cfleizach@apple.comdebb8722008-09-22 18:47:16 +000020907 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
20908
20909 Test: accessibility/table-one-cell.html
20910
20911 * page/AccessibilityTable.cpp:
20912 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
20913
209142008-09-22 Chris Fleizach <cfleizach@apple.com>
20915
20916 Reviewed by Darin Adler.
20917
cfleizach@apple.com70013042008-09-22 18:30:36 +000020918 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
20919
20920 Test: accessibility/textarea-selected-text-range.html
20921
20922 * page/AccessibilityRenderObject.cpp:
20923 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
20924
hyatt@apple.com4139b152008-09-22 18:21:37 +0000209252008-09-22 David Hyatt <hyatt@apple.com>
20926
20927 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
20928 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
20929 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
20930 rule.
20931
20932 Reviewed by Sam Weinig
20933
20934 Added fast/css/nested-rule-parent-sheet.html
20935
20936 * css/CSSImportRule.cpp:
20937 (WebCore::CSSImportRule::insertedIntoParent):
20938 * css/CSSRule.cpp:
20939 (WebCore::CSSRule::parentStyleSheet):
20940 (WebCore::CSSRule::parentRule):
20941 * css/CSSStyleSheet.cpp:
20942 (WebCore::CSSStyleSheet::CSSStyleSheet):
20943 * css/CSSStyleSheet.h:
20944
mitz@apple.comd409a262008-09-22 18:17:57 +0000209452008-09-22 Dan Bernstein <mitz@apple.com>
20946
20947 Reviewed by Sam Weinig.
20948
20949 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
20950 Make the ATSUI code path respect spacingDisabled()
20951
20952 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
20953
20954 * platform/graphics/mac/FontMacATSUI.mm:
20955 (WebCore::overrideLayoutOperation):
20956
mjs@apple.com221b4752008-09-22 15:03:52 +0000209572008-09-22 Maciej Stachowiak <mjs@apple.com>
20958
20959 Reviewed by Cameron Zwarich.
20960
20961 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
20962
20963 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
20964
20965 2.2% speedup on EarleyBoyer benchmark.
20966
20967 * bindings/js/JSQuarantinedObjectWrapper.cpp:
20968 * bindings/js/JSQuarantinedObjectWrapper.h:
20969 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
20970 * bindings/scripts/CodeGeneratorJS.pm:
20971
aroben@apple.comd5cbddc2008-09-22 14:31:08 +0000209722008-09-22 Adam Roben <aroben@apple.com>
20973
20974 Windows build fix
20975
20976 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
20977
mjs@apple.coma173abd2008-09-22 13:59:06 +0000209782008-09-22 Maciej Stachowiak <mjs@apple.com>
20979
20980 Reviewed by Dave Hyatt.
20981
20982 Based on initial work by Darin Adler.
20983
20984 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
20985 - use this to JIT inline code for eq_null and neq_null
20986 https://bugs.webkit.org/show_bug.cgi?id=20823
20987
20988 * WebCore.xcodeproj/project.pbxproj:
20989 * WebCore.vcproj/WebCore.vcproj:
20990 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
20991 (WebCore::JSCSSStyleDeclaration::nameGetter):
20992 * bindings/js/JSHTMLAllCollection.cpp: Added.
20993 (WebCore::):
20994 * bindings/js/JSHTMLAllCollection.h:
20995 (WebCore::JSHTMLAllCollection::createStructureID):
20996 (WebCore::JSHTMLAllCollection::toBoolean):
20997
vestbo@webkit.orgab848362008-09-22 13:27:06 +0000209982008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
20999
21000 Reviewed by Simon.
21001
21002 Fix the QtWebKit build
21003
21004 * bridge/qt/qt_instance.cpp:
21005 (JSC::Bindings::QtRuntimeObjectImp::construct):
21006 * bridge/qt/qt_runtime.cpp:
21007
alp@webkit.orgcc9b0812008-09-22 08:53:06 +0000210082008-09-22 Alp Toker <alp@nuanti.com>
21009
21010 Suggested by David Hyatt.
21011
21012 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
21013 so make it public.
21014
21015 * platform/ScrollView.h:
21016
hyatt@apple.com7cb18562008-09-22 07:57:52 +0000210172008-09-22 David Hyatt <hyatt@apple.com>
21018
hyatt@apple.combac66582008-09-22 08:36:44 +000021019 Fix a regression in Windows scrollbar painting. (Also fix the same
21020 bug in my new viewless Mac scrollbar painting code). The track rect
21021 was being improperly inflated when painting resulting in the scrollbar
21022 being too tall and painting in the border of overflow sections.
21023
21024 Reviewed by Oliver Hunt
21025
21026 * platform/mac/ScrollbarThemeMac.mm:
21027 (WebCore::ScrollbarThemeMac::trackRect):
21028 * platform/win/ScrollbarThemeSafari.cpp:
21029 (WebCore::ScrollbarThemeSafari::trackRect):
21030
210312008-09-22 David Hyatt <hyatt@apple.com>
21032
hyatt@apple.com7cb18562008-09-22 07:57:52 +000021033 Fix a hit testing bug where events are mistakenly passed to subframes
21034 if the mouse is over the border or padding area of the frame. Add
21035 a boolean flag, isOverWidget(), to hit test results so that EventHandler
21036 can check it to tell if the mouse is really over the content box of a
21037 RenderWidget and not just in the border/padding area.
21038
21039 This is not testable, since the old code properly recovered when it detected
21040 that the mouse was outside the bounds of the view, but this prevents
21041 the extra passdown from even occurring (and is basically a nice cleanup).
21042
21043 Reviewed by Oliver Hunt
21044
21045 * page/EventHandler.cpp:
21046 (WebCore::EventHandler::handleMousePressEvent):
21047 (WebCore::EventHandler::hitTestResultAtPoint):
21048 (WebCore::subframeForHitTestResult):
21049 (WebCore::EventHandler::handleMouseDoubleClickEvent):
21050 (WebCore::EventHandler::handleMouseMoveEvent):
21051 (WebCore::EventHandler::handleMouseReleaseEvent):
21052 (WebCore::EventHandler::handleWheelEvent):
21053 * page/MouseEventWithHitTestResults.h:
21054 (WebCore::MouseEventWithHitTestResults::isOverWidget):
21055 * rendering/HitTestResult.cpp:
21056 (WebCore::HitTestResult::HitTestResult):
21057 (WebCore::HitTestResult::operator=):
21058 * rendering/HitTestResult.h:
21059 (WebCore::HitTestResult::isOverWidget):
21060 (WebCore::HitTestResult::setIsOverWidget):
21061 * rendering/RenderWidget.cpp:
21062 (WebCore::RenderWidget::nodeAtPoint):
21063 * rendering/RenderWidget.h:
21064
hyatt@apple.comb2bf5272008-09-22 05:54:40 +0000210652008-09-21 David Hyatt <hyatt@apple.com>
21066
21067 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
21068 both it and ScrollView's updateContents method be off-limits to everyone in
21069 WebCore except for RenderView.
21070
21071 Make repaintViewRectangle the only possible method for WebCore code to do
21072 an invalidation. This ensures that all invalidates triggered by WebCore
21073 cross-platform code that cross ownerElement() boundaries are transform-aware.
21074
21075 Make sure that iframes/frames contained inside objects that have transforms
21076 or reflections are not allowed to blit (this was already true for transparency).
21077
21078 It is not possible to make a test for any of this, since iframe scrolling
21079 still doesn't work on Mac (since the invalidates are not being done
21080 through WebCore's cross-platform invalidation code but are instead going
21081 through NSScrollView's setNeedsDisplay still).
21082
21083 Reviewed by Oliver Hunt
21084
21085 * editing/SelectionController.cpp:
21086 (WebCore::SelectionController::recomputeCaretRect):
21087 (WebCore::SelectionController::invalidateCaretRect):
21088 (WebCore::SelectionController::focusedOrActiveStateChanged):
21089 * page/FrameView.cpp:
21090 (WebCore::FrameView::repaintContentRectangle):
21091 (WebCore::FrameView::endDeferredRepaints):
21092 * page/FrameView.h:
21093 * platform/ScrollView.h:
21094 * rendering/RenderBox.cpp:
21095 (WebCore::RenderBox::paintFillLayerExtended):
21096 * rendering/RenderLayer.cpp:
21097 (WebCore::RenderLayer::enclosingPositionedAncestor):
21098 (WebCore::RenderLayer::requiresSlowRepaints):
21099 * rendering/RenderLayer.h:
21100 (WebCore::RenderLayer::hasTransform):
21101 * rendering/RenderView.cpp:
21102 (WebCore::RenderView::paintBoxDecorations):
21103 (WebCore::RenderView::repaintViewRectangle):
21104 (WebCore::RenderView::setSelection):
21105
mjs@apple.com52b67602008-09-22 03:15:52 +0000211062008-09-21 Maciej Stachowiak <mjs@apple.com>
21107
21108 Reviewed by Darin.
21109
21110 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
21111 https://bugs.webkit.org/show_bug.cgi?id=20981
21112
21113 * bindings/js/JSAudioConstructor.cpp:
21114 (WebCore::JSAudioConstructor::JSAudioConstructor):
21115 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
21116 (WebCore::JSCSSStyleDeclaration::nameGetter):
21117 * bindings/js/JSDOMBinding.cpp:
21118 (WebCore::createDOMStructure):
21119 * bindings/js/JSDOMBinding.h:
21120 (WebCore::getDOMStructure):
21121 * bindings/js/JSDOMWindowShell.cpp:
21122 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
21123 (WebCore::JSDOMWindowShell::setWindow):
21124 * bindings/js/JSEventTargetNode.cpp:
21125 (WebCore::JSEventTargetNode::createPrototype):
21126 * bindings/js/JSHTMLOptionElementConstructor.cpp:
21127 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
21128 * bindings/js/JSImageConstructor.cpp:
21129 (WebCore::JSImageConstructor::JSImageConstructor):
21130 * bindings/js/JSXMLHttpRequestConstructor.cpp:
21131 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
21132 * bindings/js/JSXSLTProcessorConstructor.cpp:
21133 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
21134 * bindings/scripts/CodeGeneratorJS.pm:
21135
darin@apple.comad89d662008-09-22 02:12:57 +0000211362008-09-21 Darin Adler <darin@apple.com>
21137
21138 Reviewed by Maciej Stachowiak.
21139
21140 - fix problem Maciej noticed where every JSNamedNodesCollection
21141 gets its own StructureID
21142
21143 * bindings/js/JSNamedNodesCollection.cpp:
21144 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
21145 getDOMStructure to get the structure.
21146 * bindings/js/JSNamedNodesCollection.h:
21147 (WebCore::JSNamedNodesCollection::createPrototype): Return the
21148 object prototype.
21149
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +0000211502008-09-20 David Hyatt <hyatt@apple.com>
21151
21152 Make sure transformed scrollbars in overflow sections position
21153 properly. This patch mimics the same behavior that works for
21154 iframes, namely making sure that the same code that dynamically
21155 adjusts iframe widget positions at paint time for fixed positioning
21156 and transforms also applies to scrollbars. (This is as simple as passing
21157 in the current translation factor at paint time rather than crawling
21158 up the layer tree to compute a "false" absolute position.)
21159
21160 An existing transform test covers this (although only a pixel result
21161 reveals the correct rendering).
21162
21163 Reviewed by Darin Adler
21164
21165 * rendering/RenderLayer.cpp:
21166 (WebCore::RenderLayer::updateLayerPositions):
21167 (WebCore::RenderLayer::positionOverflowControls):
21168 (WebCore::RenderLayer::paintOverflowControls):
21169 (WebCore::RenderLayer::paintLayer):
21170 * rendering/RenderLayer.h:
21171
sfalken@apple.comd0274692008-09-22 00:08:30 +0000211722008-09-21 Steve Falkenburg <sfalken@apple.com>
21173
sfalken@apple.com4fe10f92008-09-22 00:12:28 +000021174 Removed unnecessary nested timer check.
21175
21176 Rubber-stamped by Dan Bernstein.
21177
21178 * platform/win/SharedTimerWin.cpp:
21179 (WebCore::TimerWindowWndProc):
21180
211812008-09-21 Steve Falkenburg <sfalken@apple.com>
21182
sfalken@apple.comd0274692008-09-22 00:08:30 +000021183 Improve timer resolution on WinXP.
21184 https://bugs.webkit.org/show_bug.cgi?id=20979
21185
21186 Removed last-chance timer. It should not be necessary.
21187 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
21188 Remove Vista checks. We now run the same code on both XP and Vista.
21189
21190 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
21191 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
21192
21193 Reviewed by Maciej Stachowiak.
21194
21195 * platform/win/SharedTimerWin.cpp:
21196 (WebCore::):
21197 (WebCore::TimerWindowWndProc):
21198 (WebCore::setSharedTimerFireTime):
21199 * platform/win/SystemTimeWin.cpp:
21200 (WebCore::currentTime):
21201
eric@webkit.org3e96c482008-09-21 07:59:58 +0000212022008-09-21 Dirk Schulze <vbs85@gmx.de>
21203
21204 Reviewed by eseidel. Landed by eseidel.
21205
eric@webkit.orgc3431282008-09-21 10:37:37 +000021206 All platforms use the DashArray in the GraphicsContext.
21207
21208 * svg/graphics/SVGPaintServer.h:
21209 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
21210 (WebCore::SVGPaintServerGradient::setup):
21211 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
21212 (WebCore::SVGPaintServerPattern::setup):
21213 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
21214 (WebCore::SVGPaintServerSolid::setup):
21215 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
21216 (WebCore::SVGPaintServerGradient::setup):
21217 * svg/graphics/qt/SVGPaintServerQt.cpp:
21218 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
21219 (WebCore::SVGPaintServerSolid::setup):
21220
212212008-09-21 Dirk Schulze <vbs85@gmx.de>
21222
21223 Reviewed by eseidel. Landed by eseidel.
21224
eric@webkit.org3e96c482008-09-21 07:59:58 +000021225 Moved DashArray to GraphicsContext.
21226
21227 * GNUmakefile.am:
21228 * WebCore.vcproj/WebCore.vcproj:
21229 * WebCore.xcodeproj/project.pbxproj:
21230 * platform/graphics/DashArray.h: Added.
21231 * platform/graphics/GraphicsContext.h:
21232 * platform/graphics/cairo/GraphicsContextCairo.cpp:
21233 (WebCore::GraphicsContext::setLineDash):
21234 * platform/graphics/cg/GraphicsContextCG.cpp:
21235 (WebCore::GraphicsContext::setLineDash):
21236 * platform/graphics/qt/GraphicsContextQt.cpp:
21237 (WebCore::GraphicsContext::setLineDash):
21238 * svg/graphics/SVGPaintServer.cpp:
21239 (WebCore::applyStrokeStyleToContext):
21240 * svg/graphics/SVGPaintServer.h:
21241 * svg/graphics/cg/CgSupport.cpp:
21242 * svg/graphics/cg/CgSupport.h:
21243
mitz@apple.com9138eca2008-09-21 07:16:29 +0000212442008-09-21 Dan Bernstein <mitz@apple.com>
21245
21246 Reviewed by Mark Rowe.
21247
21248 - fix linker warnings
21249
21250 * WebCore.base.exp:
21251
darin@apple.comb1491772008-09-21 06:34:40 +0000212522008-09-20 Darin Adler <darin@apple.com>
21253
darin@apple.comc3215132008-09-21 06:50:35 +000021254 - another try at fixing Qt
21255
21256 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
21257
212582008-09-20 Darin Adler <darin@apple.com>
21259
darin@apple.comb1491772008-09-21 06:34:40 +000021260 - blind attempt to fix Qt build
21261
21262 * bridge/qt/qt_runtime.cpp:
21263 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
21264 of regExpPrototype to make a RegExpObject. There should really be
21265 some sort of public helper function for this. Same thing for
21266 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
21267 (JSC::Bindings::):
21268 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
21269 It is not correct to do this inside the constructor because it could
21270 cause a garbage collect while the QtRuntimeMethod object is half-
21271 allocated, which could lead to a crash; note that RuntimeMethod,
21272 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
21273 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
21274
collinj@webkit.org8e01a432008-09-21 06:26:54 +0000212752008-09-20 Collin Jackson <collinj@webkit.org>
21276
21277 Prefetch DNS for hyperlinks that the user mouses over.
21278
21279 https://bugs.webkit.org/show_bug.cgi?id=20931
21280
21281 Reviewed by Sam Weinig.
21282
21283 * page/Chrome.cpp:
21284 (WebCore::Chrome::mouseDidMoveOverElement):
21285
darin@apple.com8281d832008-09-21 02:29:12 +0000212862008-09-20 Darin Adler <darin@apple.com>
21287
21288 Reviewed by Maciej Stachowiak.
21289
21290 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
21291 make each distinct C++ class get a distinct JSC::Structure
21292
21293 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
21294 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
21295 ID. Note that this makes a new structure every time -- we could
21296 optimize this slightly be caching and reusing a single one.
21297
21298 * bridge/runtime_method.cpp:
21299 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
21300 getDOMStructure.
21301 * bridge/runtime_method.h:
21302 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
21303 getDOMStructure will work.
21304
21305 * bindings/js/JSDOMWindowShell.cpp:
21306 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
21307 0; needed in case garbage collection happens while creating the
21308 JSDOMWindow.
21309
mitz@apple.com9b3ac792008-09-21 00:42:30 +0000213102008-09-20 Dan Bernstein <mitz@apple.com>
21311
mitz@apple.comf674f4f2008-09-21 00:49:49 +000021312 Reviewed by Eric Seidel.
21313
21314 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +000021315 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
mitz@apple.comf674f4f2008-09-21 00:49:49 +000021316
21317 * svg/SVGTextContentElement.cpp:
21318 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
21319 not include the first character in the extraCharsAvailable count.
21320
kevino@webkit.org2bc0d822008-09-20 22:31:24 +0000213212008-09-20 Kevin Ollivier <kevino@theolliviers.com>
21322
kevino@webkit.orge66435f2008-09-20 23:39:25 +000021323 Reviewed by Dan Bernstein.
21324
21325 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +000021326
21327 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +000021328
21329 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
21330 (GetTextExtent):
21331
213322008-09-20 Kevin Ollivier <kevino@theolliviers.com>
21333
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000021334 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
21335
21336 * WebCoreSources.bkl:
21337 * platform/ScrollView.h:
21338 * platform/wx/PopupMenuWx.cpp:
21339 (WebCore::PopupMenu::show):
21340 * platform/wx/RenderThemeWx.cpp:
21341 (WebCore::RenderThemeWx::paintButton):
21342 (WebCore::RenderThemeWx::paintTextField):
21343 (WebCore::RenderThemeWx::paintMenuList):
21344 (WebCore::RenderThemeWx::paintMenuListButton):
21345 * platform/wx/ScrollViewWx.cpp:
21346 (WebCore::ScrollView::setPlatformWidget):
21347 (WebCore::ScrollView::updateContents):
21348 (WebCore::ScrollView::update):
21349 (WebCore::ScrollView::visibleWidth):
21350 (WebCore::ScrollView::visibleHeight):
21351 (WebCore::ScrollView::scrollBy):
21352 (WebCore::ScrollView::resizeContents):
21353 (WebCore::ScrollView::contentsWidth):
21354 (WebCore::ScrollView::contentsHeight):
21355 (WebCore::ScrollView::isScrollViewScrollbar):
21356 (WebCore::ScrollView::adjustScrollbars):
21357 (WebCore::ScrollView::inWindow):
21358 (WebCore::ScrollView::removeChild):
21359 * platform/wx/WidgetWx.cpp:
21360 * plugins/wx/PluginViewWx.cpp:
21361 (WebCore::PluginView::setParentVisible):
21362 (WebCore::PluginView::updatePluginWidget):
21363
timothy@apple.comb697f272008-09-20 22:21:59 +0000213642008-09-20 Timothy Hatcher <timothy@apple.com>
21365
21366 Fix the new Node Search button image to not be blurry.
21367
21368 * page/inspector/Images/nodeSearchButtons.png:
21369
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +0000213702008-09-20 Matt Lilek <webkit@mattlilek.com>
21371
21372 Reviewed by Tim Hatcher.
21373
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +000021374 Cut down some of the inspector javascript -> InspectorController glue code
21375 with two new macros. Also rearrange the exposed function list to be grouped
21376 by implementation and to all explicitly use the WebCore namespace.
21377
21378 * page/InspectorController.cpp:
21379 (WebCore::InspectorController::windowScriptObjectAvailable):
21380
213812008-09-20 Matt Lilek <webkit@mattlilek.com>
21382
21383 Reviewed by Tim Hatcher.
21384
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000021385 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
21386
21387 * page/inspector/inspector.css:
21388
zimmermann@webkit.org953b7442008-09-20 20:19:45 +0000213892008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
21390
21391 Reviewed by Eric.
21392
21393 Refactor HTMLImageLoader/SVGImageLoader code.
21394 Move html/HTMLImageLoader.* to loader/ImageLoader.*
21395
21396 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
21397 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
21398
21399 * GNUmakefile.am:
21400 * WebCore.pro:
21401 * WebCore.vcproj/WebCore.vcproj:
21402 * WebCore.xcodeproj/project.pbxproj:
21403 * WebCoreSources.bkl:
21404 * dom/Document.cpp:
21405 (WebCore::Document::dispatchImageLoadEventSoon):
21406 (WebCore::Document::removeImage):
21407 (WebCore::Document::dispatchImageLoadEventsNow):
21408 * dom/Document.h:
21409 * html/HTMLImageLoader.cpp:
21410 (WebCore::HTMLImageLoader::HTMLImageLoader):
21411 (WebCore::HTMLImageLoader::~HTMLImageLoader):
21412 (WebCore::HTMLImageLoader::sourceURI):
21413 (WebCore::HTMLImageLoader::notifyFinished):
21414 * html/HTMLImageLoader.h:
21415 * loader/DocLoader.h:
21416 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
21417 (WebCore::ImageLoader::ImageLoader):
21418 (WebCore::ImageLoader::~ImageLoader):
21419 (WebCore::ImageLoader::setImage):
21420 (WebCore::ImageLoader::setLoadingImage):
21421 (WebCore::ImageLoader::updateFromElement):
21422 (WebCore::ImageLoader::notifyFinished):
21423 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
21424 * svg/SVGImageElement.cpp:
21425 (WebCore::SVGImageElement::attach):
21426 (WebCore::SVGImageElement::insertedIntoDocument):
21427 (WebCore::SVGImageElement::imageSourceAttributeName):
21428 * svg/SVGImageElement.h:
21429 * svg/SVGImageLoader.cpp:
21430 (WebCore::SVGImageLoader::SVGImageLoader):
21431 (WebCore::SVGImageLoader::dispatchLoadEvent):
21432 (WebCore::SVGImageLoader::sourceURI):
21433 * svg/SVGImageLoader.h:
21434
zecke@webkit.orgf3834492008-09-20 14:23:55 +0000214352008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
21436
zecke@webkit.org7a15a532008-09-20 14:24:27 +000021437 Build fix.
21438
zecke@webkit.orga832cca2008-09-20 14:24:45 +000021439 [qtwebkit] ScrollBar build fix after r36684.
21440 BackButtonPart was split into Start and End Part
21441 ForwardButtonPart was split into Start and End Part
21442
zecke@webkit.orga832cca2008-09-20 14:24:45 +000021443 * platform/qt/ScrollbarThemeQt.cpp:
21444 (WebCore::scPart):
21445 (WebCore::scrollbarPart):
21446 (WebCore::styleOptionSlider):
21447
214482008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
21449
21450 Build fix.
21451
zecke@webkit.org7a15a532008-09-20 14:24:27 +000021452 [qtwebkit] Make qt_instance.cpp compile.
21453 Revision of 36675 introduced getDOMStructure to give unique
21454 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
21455 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
21456
21457 * bridge/qt/qt_instance.cpp:
21458 (JSC::Bindings::QtInstance::getRuntimeObject):
21459
214602008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
21461
zecke@webkit.orgf3834492008-09-20 14:23:55 +000021462 Reviewed by Nikolas Zimmermann.
21463
zecke@webkit.org95ff1412008-09-20 14:24:10 +000021464 [svg] Change SVGLocatable to deal with a plain SVGElement
21465 There is no requirement in the code that we have to have a
21466 SVGStyledElement. Remove that artificial limitation and compile
21467 with SVGElement.
21468
21469 * svg/SVGLocatable.cpp:
21470 * svg/SVGLocatable.h:
21471
214722008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
21473
21474 Reviewed by Nikolas Zimmermann.
21475
zecke@webkit.orgf3834492008-09-20 14:23:55 +000021476 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
21477 management.
21478
21479 * dom/Document.cpp:
21480 (WebCore::Document::~Document):
21481 (WebCore::Document::svgExtensions):
21482 (WebCore::Document::accessSVGExtensions):
21483 * dom/Document.h:
21484
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +0000214852008-09-19 David Hyatt <hyatt@apple.com>
21486
hyatt@apple.com1fe09172008-09-20 05:09:44 +000021487 Fix for crash in updateTransitions. Make sure to test for a style
21488 being null when comparing two RenderStyles.
21489
21490 Reviewed by Oliver Hunt
21491
21492 * page/animation/AnimationBase.cpp:
21493 (WebCore::PropertyWrapperGetter::equals):
21494
214952008-09-19 David Hyatt <hyatt@apple.com>
21496
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000021497 https://bugs.webkit.org/show_bug.cgi?id=20954
21498
21499 Roll out r36628 since it has caused horrible regressions with
21500 animated GIF CPU usage.
21501
21502 * platform/graphics/BitmapImage.cpp:
21503 (WebCore::BitmapImage::cacheFrame):
21504 (WebCore::BitmapImage::startAnimation):
21505 * platform/graphics/BitmapImage.h:
21506 (WebCore::FrameData::FrameData):
21507 * platform/graphics/cairo/ImageCairo.cpp:
21508 (WebCore::FrameData::clear):
21509 * platform/graphics/cg/ImageCG.cpp:
21510 (WebCore::FrameData::clear):
21511 * platform/graphics/qt/ImageQt.cpp:
21512 (WebCore::FrameData::clear):
21513 * platform/graphics/wx/ImageWx.cpp:
21514 (WebCore::FrameData::clear):
21515
alp@webkit.orgd1e860e2008-09-20 03:43:42 +0000215162008-09-20 Alp Toker <alp@nuanti.com>
21517
21518 Reviewed by Timothy Hatcher.
21519
21520 https://bugs.webkit.org/show_bug.cgi?id=20913
21521 Avoid redudant includes
21522
21523 Document.h is included excessively such that a modification to Document.h (or
21524 any of the header it includes itself) triggers a rebuild of many files
21525 including the whole of SVG and a lot of the JS bindings.
21526
21527 Some of these includes can be avoided by only including Document.h where
21528 necessary.
21529
21530 * bindings/js/JSAttrCustom.cpp:
21531 * bindings/js/JSElementCustom.cpp:
21532 * bindings/js/JSEventTargetBase.cpp:
21533 * bindings/js/JSEventTargetBase.h:
21534 * bindings/js/JSEventTargetNode.cpp:
21535 * bindings/js/JSHTMLFrameElementCustom.cpp:
21536 * bindings/js/JSHTMLIFrameElementCustom.cpp:
21537 * bindings/scripts/CodeGeneratorJS.pm:
21538 * css/CSSCursorImageValue.cpp:
21539 * css/SVGCSSStyleSelector.cpp:
21540 * dom/make_names.pl:
21541 * svg/SVGAnimateElement.h:
21542 * svg/SVGAnimatedProperty.h:
21543 (WebCore::::baseValue):
21544 (WebCore::::setBaseValue):
21545 (WebCore::::startAnimation):
21546 (WebCore::::stopAnimation):
21547 * svg/SVGElement.cpp:
21548 (WebCore::SVGElement::accessDocumentSVGExtensions):
21549 * svg/SVGElement.h:
21550 * svg/SVGElementInstance.cpp:
21551 * svg/SVGFitToViewBox.cpp:
21552 * svg/SVGFontElement.cpp:
21553 * svg/SVGFontFaceElement.cpp:
21554 * svg/SVGLinearGradientElement.cpp:
21555 * svg/SVGMPathElement.cpp:
21556 * svg/SVGViewSpec.cpp:
21557
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +0000215582008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
21559
21560 Reviewed by Antti & Eric.
21561
21562 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
21563
21564 Finish HTMLScriptElement / SVGScriptElement unification.
21565 SVG <script> support is complete now, full SVGLoad event
21566 respecting the influence of the externalResourcesRequired attribute
21567 as well as SVGError event support. All other features shared with HTML.
21568
21569 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
21570 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
21571 svg/dom/SVGScriptElement/script-load-and-error-events.svg
21572 svg/dom/SVGScriptElement/script-reexecution.svg
21573 svg/dom/SVGScriptElement/script-set-href.svg
21574
21575 * dom/ScriptElement.cpp:
21576 (WebCore::ScriptElementData::ScriptElementData):
21577 (WebCore::ScriptElementData::requestScript):
21578 * dom/ScriptElement.h:
21579 (WebCore::ScriptElementData::haveFiredLoadEvent):
21580 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
21581 * dom/XMLTokenizer.cpp:
21582 (WebCore::XMLTokenizer::notifyFinished):
21583 * html/HTMLScriptElement.cpp:
21584 (WebCore::HTMLScriptElement::dispatchLoadEvent):
21585 * svg/SVGScriptElement.cpp:
21586 (WebCore::SVGScriptElement::setCreatedByParser):
21587 (WebCore::SVGScriptElement::parseMappedAttribute):
21588 (WebCore::SVGScriptElement::svgAttributeChanged):
21589 (WebCore::SVGScriptElement::insertedIntoDocument):
21590 (WebCore::SVGScriptElement::removedFromDocument):
21591 (WebCore::SVGScriptElement::childrenChanged):
21592 (WebCore::SVGScriptElement::isURLAttribute):
21593 (WebCore::SVGScriptElement::finishParsingChildren):
21594 (WebCore::SVGScriptElement::type):
21595 (WebCore::SVGScriptElement::setType):
21596 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
21597 (WebCore::SVGScriptElement::dispatchLoadEvent):
21598 (WebCore::SVGScriptElement::dispatchErrorEvent):
21599 * svg/SVGScriptElement.h:
21600
mitz@apple.comc7b24ea2008-09-20 03:23:22 +0000216012008-09-19 Dan Bernstein <mitz@apple.com>
21602
21603 Reviewed by John Sullivan.
21604
21605 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
21606 Typo in Position::getInlineBoxAndOffset()
21607 and add an assertion
21608
21609 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
21610
21611 * dom/Position.cpp:
21612 (WebCore::Position::getInlineBoxAndOffset):
21613 * rendering/InlineTextBox.cpp:
21614 (WebCore::InlineTextBox::positionForOffset):
21615
hyatt@apple.comd48dbf32008-09-20 03:21:14 +0000216162008-09-19 David Hyatt <hyatt@apple.com>
21617
21618 Add support for hit testing of all five possible scrollbar button placements.
21619
21620 Reviewed by Sam Weinig
21621
21622 * platform/ScrollbarThemeComposite.cpp:
21623 (WebCore::ScrollbarThemeComposite::paint):
21624 * platform/mac/ScrollbarThemeMac.mm:
21625 (WebCore::):
21626 (WebCore::ScrollbarThemeMac::backButtonRect):
21627 (WebCore::ScrollbarThemeMac::forwardButtonRect):
21628 (WebCore::ScrollbarThemeMac::trackRect):
21629 (WebCore::ScrollbarThemeMac::paintButton):
21630
darin@apple.com1c4cd8f2008-09-20 01:05:35 +0000216312008-09-19 Darin Adler <darin@apple.com>
21632
21633 - try to fix Qt build
21634
21635 * bridge/qt/qt_instance.cpp:
21636 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
21637 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
21638 * bridge/runtime_object.cpp:
21639 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
21640 * bridge/runtime_object.h: Ditto.
21641
dino@apple.com7c236592008-09-20 00:53:49 +0000216422008-09-19 Chris Marrin <cmarrin@apple.com>
21643
21644 Reviewed by Dave Hyatt.
21645
21646 Transition starts running when it shouldn't
21647 https://bugs.webkit.org/show_bug.cgi?id=20892
21648
21649 When there is a transition and an animation on the
21650 same element, make sure the animation wins.
21651
21652 The fix is to save the unanimated style when an animation is started.
21653 Then, when starting a transition, check to see if there is a current
21654 animation on the same prop. If so, use the unanimated style as the
21655 fromStyle rather than the current style.
21656
21657 Test: animations/transition-and-animation-1.html
21658
21659 * page/animation/CompositeAnimation.cpp:
21660 (WebCore::CompositeAnimation::updateTransitions):
21661 (WebCore::CompositeAnimation::updateKeyframeAnimations):
21662 (WebCore::CompositeAnimation::animate):
21663 (WebCore::CompositeAnimation::getAnimationForProperty):
21664 * page/animation/CompositeAnimation.h:
21665 * page/animation/ImplicitAnimation.cpp:
21666 (WebCore::ImplicitAnimation::reset):
21667 * page/animation/ImplicitAnimation.h:
21668 * page/animation/KeyframeAnimation.cpp:
21669 (WebCore::KeyframeAnimation::hasAnimationForProperty):
21670 * page/animation/KeyframeAnimation.h:
21671 (WebCore::KeyframeAnimation::KeyframeAnimation):
21672 (WebCore::KeyframeAnimation::unanimatedStyle):
21673
hyatt@apple.comea254e22008-09-20 00:42:36 +0000216742008-09-19 David Hyatt <hyatt@apple.com>
21675
21676 Add support for painting/hit testing of four possible scrollbar buttons.
21677 The Windows themes simply ignore the two parts that they will never
21678 show. The Mac theme also ignores the other two buttons for now.
21679
21680 The cross-platform base for all three themes, ScrollbarThemeComposite,
21681 has all the proper support though.
21682
21683 Reviewed by Sam Weinig
21684
21685 * platform/ScrollbarThemeComposite.cpp:
21686 (WebCore::ScrollbarThemeComposite::hitTest):
21687 (WebCore::ScrollbarThemeComposite::invalidatePart):
21688 * platform/ScrollbarThemeComposite.h:
21689 * platform/mac/ScrollbarThemeMac.h:
21690 * platform/mac/ScrollbarThemeMac.mm:
21691 (WebCore::ScrollbarThemeMac::backButtonRect):
21692 (WebCore::ScrollbarThemeMac::forwardButtonRect):
21693 (WebCore::ScrollbarThemeMac::paintButton):
21694 * platform/win/ScrollbarThemeSafari.cpp:
21695 (WebCore::ScrollbarThemeSafari::backButtonRect):
21696 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
21697 (WebCore::ScrollbarThemeSafari::paintButton):
21698 * platform/win/ScrollbarThemeSafari.h:
21699 * platform/win/ScrollbarThemeWin.cpp:
21700 (WebCore::ScrollbarThemeWin::backButtonRect):
21701 (WebCore::ScrollbarThemeWin::forwardButtonRect):
21702 (WebCore::ScrollbarThemeWin::paintButton):
21703 * platform/win/ScrollbarThemeWin.h:
21704
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +0000217052008-09-19 Matt Lilek <webkit@mattlilek.com>
21706
21707 Reviewed by Tim Hatcher.
21708
21709 Bug 17772: Inspector should support point-and-click to select a node to inspect
21710 https://bugs.webkit.org/show_bug.cgi?id=17772
21711 <rdar://problem/5792395>
21712
21713 * English.lproj/localizedStrings.js:
21714 * page/Chrome.cpp:
21715 (WebCore::Chrome::mouseDidMoveOverElement):
21716 * page/EventHandler.cpp:
21717 (WebCore::EventHandler::handleMousePressEvent):
21718 * page/InspectorController.cpp:
21719 (WebCore::toggleNodeSearch):
21720 (WebCore::searchingForNode):
21721 (WebCore::InspectorController::InspectorController):
21722 (WebCore::InspectorController::toggleSearchForNodeInPage):
21723 (WebCore::InspectorController::mouseDidMoveOverElement):
21724 (WebCore::InspectorController::handleMousePressOnNode):
21725 (WebCore::InspectorController::windowScriptObjectAvailable):
21726 * page/InspectorController.h:
21727 (WebCore::InspectorController::searchingForNodeInPage):
21728 * page/inspector/ElementsPanel.js:
21729 * page/inspector/Images/nodeSearchButtons.png: Added.
21730 * page/inspector/inspector.css:
21731
hyatt@apple.com57b2d522008-09-19 23:39:26 +0000217322008-09-19 David Hyatt <hyatt@apple.com>
21733
21734 Add new scrollbar parts to be able to represent back and forward buttons
21735 at either end of the scrollbar. The current scrollbar still just draws
21736 a single button at either end, but the parts now exist.
21737
21738 Reviewed by Sam Weinig
21739
21740 * platform/ScrollTypes.h:
21741 (WebCore::):
21742 * platform/Scrollbar.cpp:
21743 (WebCore::Scrollbar::autoscrollTimerFired):
21744 (WebCore::Scrollbar::pressedPartScrollDirection):
21745 (WebCore::Scrollbar::pressedPartScrollGranularity):
21746 (WebCore::Scrollbar::handleMouseMoveEvent):
21747 * platform/ScrollbarTheme.h:
21748 (WebCore::ScrollbarTheme::buttonsPlacement):
21749 (WebCore::ScrollbarTheme::invalidateParts):
21750 * platform/ScrollbarThemeComposite.cpp:
21751 (WebCore::ScrollbarThemeComposite::paint):
21752 (WebCore::ScrollbarThemeComposite::hitTest):
21753 (WebCore::ScrollbarThemeComposite::invalidatePart):
21754 * platform/ScrollbarThemeComposite.h:
21755
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +0000217562008-09-19 Beth Dakin <bdakin@apple.com>
21757
21758 Reviewed by Dave Hyatt.
21759
21760 Fix for <rdar://problem/6231308> crash in AutoTableLayout
21761
21762 The code assumes later on that a TableSection's grid's row vector
21763 will never be empty. So make 1 the minimum number of columns.
21764
21765 * rendering/RenderTableSection.cpp:
21766 (WebCore::RenderTableSection::ensureRows):
21767
hyatt@apple.comaf711ec2008-09-19 22:55:56 +0000217682008-09-19 David Hyatt <hyatt@apple.com>
21769
21770 Add a new ScrollbarButtonsPlacement type for specifying where
21771 the button arrows are in a scrollbar.
21772
21773 Read in the placement settings for Mac. Nothing is done with the
21774 setting yet.
21775
21776 Add a new buttonsPlacement() method to ScrollbarTheme composite
21777 so that the arrow settings can be obtained.
21778
21779 Reviewed by Sam Weinig
21780
21781 * platform/ScrollTypes.h:
21782 (WebCore::):
21783 * platform/ScrollbarThemeComposite.h:
21784 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
21785 * platform/mac/ScrollbarThemeMac.mm:
21786 (WebCore::updateArrowPlacement):
21787 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
21788
sfalken@apple.com64602042008-09-19 22:47:45 +0000217892008-09-19 Steve Falkenburg <sfalken@apple.com>
21790
21791 Roll out r36626. It is causing variance in SunSpider numbers on XP.
21792
21793 Rubber stamped by Mark Rowe.
21794
21795 * platform/win/SharedTimerWin.cpp:
21796 (WebCore::isRunningOnVistaOrLater):
21797 (WebCore::setSharedTimerFireTime):
21798
kmccullough@apple.comd203b242008-09-19 21:56:14 +0000217992008-09-19 Kevin McCullough <kmccullough@apple.com>
21800
21801 Reviewed by Tim.
21802
21803 https://bugs.webkit.org/show_bug.cgi?id=20942
21804 Bug 20942: Repeated messages in resources don't collapse
21805 - Now repeated messages in a resource's view are collapsed and a message
21806 says how many were repeated.
21807
21808 * English.lproj/localizedStrings.js:
21809 * manual-tests/inspector/multiple-console-messages.html:
21810 * page/inspector/Console.js: Send all the messages to the resource's
21811 view before possibly returning early if the message is a repeat.
21812 * page/inspector/SourceFrame.js: Add the text about the message being
21813 repeated, if it is, and increment it when necessary.
21814
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +0000218152008-09-19 Chris Fleizach <cfleizach@apple.com>
21816
21817 Removed unnecessary #if
21818
21819 * page/mac/AccessibilityObjectWrapper.mm:
21820
hyatt@apple.comc9967ce92008-09-19 21:20:59 +0000218212008-09-19 David Hyatt <hyatt@apple.com>
21822
hyatt@apple.comf658e502008-09-19 22:12:07 +000021823 Read in prefs for the scroll delay repeat values for buttons. Also
21824 honor the option-click pref for jumping to the thumb when clicking in
21825 the track.
21826
21827 Reviewed by Sam Weinig
21828
21829 * platform/mac/ScrollbarThemeMac.h:
21830 * platform/mac/ScrollbarThemeMac.mm:
21831 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
21832 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
21833 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
21834 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
21835
218362008-09-19 David Hyatt <hyatt@apple.com>
21837
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000021838 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
21839 Set the initial button repeat delay to 0.5 for Mac.
21840
21841 Reviewed by Sam Weinig
21842
21843 * WebCore.xcodeproj/project.pbxproj:
21844 * platform/mac/ScrollbarThemeMac.cpp: Removed.
21845 * platform/mac/ScrollbarThemeMac.h:
21846 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
21847 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
21848
darin@apple.com39a180f2008-09-19 21:15:14 +0000218492008-09-19 Darin Adler <darin@apple.com>
21850
21851 Reviewed by Sam Weinig.
21852
21853 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
21854 make each distinct C++ class get a distinct JSC::Structure
21855
21856 + Fixed all cases where we were using a shared structure for multiple
21857 C++ classes in WebCore. This still has to be done in JavaScriptCore.
21858
21859 + Got rid of cacheGlobalObject.
21860
21861 + Improved use of PassRefPtr in bindings code.
21862
21863 + Removed a couple cases where we were potentially allocating prototypes
21864 inside a JSObject's construction process -- this can lead to trouble if
21865 we do a garbage collection while an object is only partly constructed.
21866
21867 * bindings/js/JSAudioConstructor.cpp:
21868 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
21869 so we don't implicitly share the structure with other objects that use the object
21870 prototype.
21871
21872 * bindings/js/JSDOMBinding.cpp:
21873 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
21874 don't need cacheGlobalObject any more.
21875 (WebCore::cacheDOMConstructor): Ditto.
21876
21877 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
21878 Added functions and a function template for getting cached DOM constructors.
21879 Removed cacheGlobalObject function template.
21880
21881 * bindings/js/JSDOMWindowBase.cpp:
21882 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
21883 we're taking ownership.
21884 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
21885 we're taking ownership. Added constructor map.
21886 * bindings/js/JSDOMWindowCustom.cpp:
21887 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
21888
21889 * bindings/js/JSDOMWindowShell.cpp:
21890 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
21891 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
21892 this is now done in only that one place.
21893 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
21894 the passed-in DOMWindow. Code was moved here and changed to allocate unique
21895 structures for both the window prototype and the window.
21896 * bindings/js/JSDOMWindowShell.h: Ditto.
21897
21898 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
21899 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
21900 private/friend in JSEventTargetBase. Removed comments referring to defunct
21901 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
21902 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
21903 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
21904
21905 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
21906 for caching structures and prototypes.
21907 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
21908 (WebCore::JSEventTargetNode::createPrototype): Added.
21909 * bindings/js/JSEventTargetNode.h: Updated for above changes.
21910
21911 * bindings/js/JSHTMLAllCollection.h:
21912 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
21913 * bindings/js/JSHTMLCollectionCustom.cpp:
21914 (WebCore::getNamedItems): Pass ExecState instead of prototype.
21915 * bindings/js/JSHTMLFormElementCustom.cpp:
21916 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
21917 * bindings/js/JSHTMLInputElementBase.cpp:
21918 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
21919 * bindings/js/JSHTMLInputElementBase.h: Ditto.
21920 * bindings/js/JSHTMLOptionElementConstructor.cpp:
21921 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
21922 Create a unique structure instead of sharing.
21923 * bindings/js/JSImageConstructor.cpp:
21924 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
21925
21926 * bindings/js/JSInspectedObjectWrapper.cpp:
21927 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
21928 a prototype rather than a structure. Made the use of inheritorID() here
21929 explicit.
21930 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
21931 * bindings/js/JSInspectorCallbackWrapper.cpp:
21932 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
21933 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
21934
21935 * bindings/js/JSNamedNodesCollection.cpp:
21936 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
21937 take an ExecState argument instead of a prototype. Create a unique
21938 StructureID instead of sharing.
21939 * bindings/js/JSNamedNodesCollection.h: Ditto.
21940
21941 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
21942 constructor that takes a prototype instead of a structure.
21943 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
21944
21945 * bindings/js/JSRGBColor.cpp:
21946 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
21947 prototype; create a unique structure.
21948 (WebCore::getJSRGBColor): Ditto.
21949 * bindings/js/JSRGBColor.h: Ditto.
21950
21951 * bindings/js/JSSQLResultSetRowListCustom.cpp:
21952 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
21953 of explicit coding the idiom for making a new object.
21954
21955 * bindings/js/JSXMLHttpRequestConstructor.cpp:
21956 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
21957 Create a unique structure instead of the shared one.
21958 * bindings/js/JSXSLTProcessorConstructor.cpp:
21959 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
21960 Ditto.
21961
21962 * bindings/js/ScriptController.cpp:
21963 (WebCore::ScriptController::clearWindowShell): Let the window shell's
21964 setWindow function create the JSDOMWindow instead of doing it here.
21965
21966 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
21967 the structure and the wrapped object when creating wrappers.
21968 Simplified some of the special cases for DOMWindow so they are
21969 different only in ways the need to be. Eliminated the
21970 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
21971 functions. Moved responsibility for creating the structure and
21972 parent prototype out of the prototype constructor into the
21973 createPrototype function. Removed the unused "DoNotCache" flag for
21974 objects other than DOMWindow. Use getDOMConstructor instead of
21975 cacheGlobalObject for constructors. Make each constructor have
21976 a unique structure ID.
21977
21978 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
21979 name of the info member to s_info so we can use the standard DOM
21980 binding macros to handl the prototype.
21981 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
21982 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
21983 Create a unique structure using getDOMStructure.
21984
21985 * bridge/runtime_array.cpp: Fixed namespacing a bit.
21986 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
21987 getDOMStructure.
21988 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
21989 will work.
21990
21991 * bridge/runtime_object.cpp:
21992 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
21993 getDOMStructure.
21994 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
21995 will work.
21996
21997 * history/CachedPage.cpp:
21998 (WebCore::CachedPage::restore): Let the window shell's
21999 setWindow function create the JSDOMWindow instead of doing it here.
22000
22001 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
22002
mitz@apple.comd6b74252008-09-19 21:02:55 +0000220032008-09-19 Dan Bernstein <mitz@apple.com>
22004
22005 Reviewed by Dave Hyatt.
22006
22007 This optimization was suggested by Daniel Fenwick
22008
22009 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
22010
22011 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +000022012 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +000022013 of one, due to the leading space being reordered to the left.
22014
22015 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
22016 getCFStringAttributes() and changed m_CFStringAttributes from an array
22017 to a single value.
22018 * platform/graphics/mac/CoreTextController.cpp:
22019 (WebCore::CoreTextController::CoreTextController): Added a
22020 mayUseNaturalWritingDirection parameter.
22021 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
22022 to force the bidi embedding level whenever
22023 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
22024 case, made the typesetter options dictionaries static.
22025 * platform/graphics/mac/CoreTextController.h:
22026 * platform/graphics/mac/FontMacCoreText.cpp:
22027 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
22028 (WebCore::Font::floatWidthForComplexText): Changed to allow the
22029 CoreTextController to not set the writing direction.
22030 * platform/graphics/mac/SimpleFontDataMac.mm:
22031 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
22032 parameter and the paragraph style attribute.
22033
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +0000220342008-09-19 David Hyatt <hyatt@apple.com>
22035
22036 Reviewed by Sam Weinig
22037
22038 https://bugs.webkit.org/show_bug.cgi?id=20941
22039
22040 Incorrect height calculation for replaced element inside nested
22041 positioned elements (where the inner has a percentage height and
22042 the outer implicitly has a fixed height because of explicit top/bottom
22043 values).
22044
22045 Added fast/block/positioning/replaced-inside-top-bottom.html
22046
22047 * rendering/RenderBox.cpp:
22048 (WebCore::RenderBox::availableHeightUsing):
22049
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +0000220502008-09-19 Chris Fleizach <cfleizach@apple.com>
22051
22052 Fix Tiger bustage
22053
22054 * page/mac/AccessibilityObjectWrapper.mm:
22055
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +0000220562008-09-18 Chris Fleizach <cfleizach@apple.com>
22057
22058 Reviewed by Darin Adler.
22059
22060 <rdar://problem/6211041> Expose legend tag in accessibility
22061
22062 Exposes the legend tag as the titleUIElement of a fieldset
22063
22064 Test: accessibility/legend.html
22065
22066 * page/AccessibilityObject.h:
22067 (WebCore::AccessibilityObject::isFieldset):
22068 * page/AccessibilityRenderObject.cpp:
22069 (WebCore::AccessibilityRenderObject::isFieldset):
22070 (WebCore::AccessibilityRenderObject::titleUIElement):
22071 * page/AccessibilityRenderObject.h:
22072 * rendering/RenderFieldset.h:
22073
cfleizach@apple.comcff26212008-09-19 20:04:13 +0000220742008-09-19 Chris Fleizach <cfleizach@apple.com>
22075
22076 Reviewed by Darin Adler.
22077
22078 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
22079
22080 Implement a few AX API methods that will be called by AppKit, which will
22081 speed up access to accessibility objects
22082
22083 * page/mac/AccessibilityObjectWrapper.mm:
22084 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
22085 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
22086 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
22087
zecke@webkit.org7594eb62008-09-19 11:06:55 +0000220882008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
22089
22090 Reviewed by Simon Hausmann.
22091
zecke@webkit.org3df68032008-09-19 11:43:27 +000022092 [qtwebkit] Set the m_should* flags to their proper value on entry
22093 With plugins it was possible that we finished a job twice. This was
22094 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
22095 setting the flag to (m_loadMode == LoadDeferred) they will always have
22096 the right value and we will not send responses twice.
22097
22098 * platform/network/qt/QNetworkReplyHandler.cpp:
22099
221002008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
22101
22102 Reviewed by Simon Hausmann.
22103
zecke@webkit.org7594eb62008-09-19 11:06:55 +000022104 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
22105 Handle text decoding errors before instructing the parser to parse. We
22106 have converted the text to QString and all encoding errors are gone and
22107 the parser will not be able to detect them. So handle them before parsing.
22108
22109 * dom/XMLTokenizerQt.cpp:
22110 (WebCore::XMLTokenizer::doWrite):
22111
darin@apple.comc9aea832008-09-19 06:49:35 +0000221122008-09-18 Darin Adler <darin@apple.com>
22113
22114 Reviewed by Maciej Stachowiak.
22115
22116 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
22117 make each distinct C++ class get a distinct JSC::Structure
22118
22119 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
22120 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
22121 instead of DOMExceptionTranslator.
22122
22123 * bindings/js/JSDOMBinding.cpp:
22124 (WebCore::getCachedDOMObjectWrapper): Updated function name.
22125 (WebCore::cacheDOMObjectWrapper): Ditto.
22126 (WebCore::forgetDOMObject): Ditto.
22127 (WebCore::getCachedDOMNodeWrapper): Ditto.
22128 (WebCore::forgetDOMNode): Ditto.
22129 (WebCore::cacheDOMNodeWrapper): Ditto.
22130 (WebCore::forgetAllDOMNodesForDocument): Ditto.
22131 (WebCore::markDOMNodesForDocument): Ditto.
22132 (WebCore::updateDOMNodeDocument): Ditto.
22133 (WebCore::getCachedDOMStructure): Added.
22134 (WebCore::createDOMStructure): Ditto.
22135
22136 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
22137 class and replace the static member functions with non-member
22138 functions. Added many other functions for getting at structures,
22139 prototypes, wrappers, and creating them. Also moved the
22140 cacheGlobalObject function here from JavaScriptCore; eventually
22141 I'll remove that once I get rid of the remaining callers. Also
22142 removed the DOMExceptionTranslator class.
22143
22144 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
22145 and put one of those maps in each window.
22146
22147 * bindings/js/JSDOMWindowCustom.cpp:
22148 (WebCore::markDOMObjectWrapper): Updated for function name change.
22149 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
22150 in the structure map.
22151
22152 * bindings/js/JSEventTargetNode.cpp:
22153 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
22154 a structure instead of a prototype.
22155 * bindings/js/JSEventTargetNode.h: Ditto.
22156 * bindings/js/JSHTMLAllCollection.h:
22157 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
22158
22159 * bindings/js/JSHTMLInputElementBase.cpp:
22160 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
22161 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
22162 structure instead of a prototype.
22163 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
22164 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
22165 to take a structure instead of a prototype. Created a dummy prototype
22166 class that causes the HTMLInputElement prototype to have the
22167 HTMLElement prototype.
22168
22169 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
22170 structures instead of prototypes. Changed the prototype self function
22171 to use the getDOMPrototype function -- later we can eliminate it and
22172 have callers invoke getDOMPrototype directly instead. Updated other
22173 functions that have name changes. Added code to generate the
22174 createPrototype member function. Changed use of cacheGlobalObject to
22175 get it from the WebCore namespace instead of the JSC namespace.
22176 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
22177
22178 * dom/Document.cpp:
22179 (WebCore::Document::~Document): Updated for name change and also
22180 removed unnecessary JSLock use -- there's no need to lock around this.
22181 * dom/Node.cpp:
22182 (WebCore::Node::setDocument): Ditto.
22183
22184 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
22185 instead of calling new directly.
22186
22187 * bindings/js/JSCSSRuleCustom.cpp:
22188 (WebCore::toJS): Updated for function name changes and used the
22189 CREATE_DOM_OBJECT_WRAPPER macro.
22190 * bindings/js/JSCSSValueCustom.cpp:
22191 (WebCore::toJS): Ditto.
22192 * bindings/js/JSCanvasPixelArrayCustom.cpp:
22193 (WebCore::toJS): Ditto.
22194 * bindings/js/JSDocumentCustom.cpp:
22195 (WebCore::JSDocument::mark): Ditto.
22196 (WebCore::toJS): Ditto.
22197 * bindings/js/JSElementCustom.cpp:
22198 (WebCore::toJSNewlyCreated): Ditto.
22199 * bindings/js/JSEventCustom.cpp:
22200 (WebCore::toJS): Ditto.
22201 * bindings/js/JSEventTargetBase.cpp:
22202 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
22203 of DOMExceptionTranslator.
22204 (WebCore::toJS): Updated for function name changes and used the
22205 CREATE_DOM_OBJECT_WRAPPER macro.
22206 * bindings/js/JSHTMLCollectionCustom.cpp:
22207 (WebCore::toJS): Ditto.
22208 * bindings/js/JSNodeCustom.cpp:
22209 (WebCore::JSNode::mark): Ditto.
22210 (WebCore::createWrapper): Ditto.
22211 (WebCore::toJS): Ditto.
22212 * bindings/js/JSSVGPathSegCustom.cpp:
22213 (WebCore::toJS): Ditto.
22214 * bindings/js/JSStyleSheetCustom.cpp:
22215 (WebCore::toJS): Ditto.
22216 (WebCore::JSStyleSheet::mark): Ditto.
22217 * bindings/js/JSTextCustom.cpp:
22218 (WebCore::toJSNewlyCreated): Ditto.
22219 * bindings/js/JSXMLHttpRequestConstructor.cpp:
22220 (WebCore::constructXMLHttpRequest): Ditto.
22221 * bindings/js/JSXMLHttpRequestCustom.cpp:
22222 (WebCore::JSXMLHttpRequest::mark): Ditto.
22223 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
22224 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
22225 * bindings/js/JSXSLTProcessorConstructor.cpp:
22226 (WebCore::constructXSLTProcessor): Ditto.
22227 * bindings/js/ScriptController.cpp:
22228 (WebCore::ScriptController::finishedWithEvent): Ditto.
22229 * xml/XMLHttpRequest.cpp:
22230 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
22231 (WebCore::XMLHttpRequest::dropProtection): Ditto.
22232
hyatt@apple.com083539d2008-09-19 06:30:16 +0000222332008-09-18 David Hyatt <hyatt@apple.com>
22234
22235 This patch gets a viewless scrollbar working on Mac. It is turned off
22236 by default. Hit testing works. For now the scrollbar just paints ugly
22237 debug rects in the place of the buttons, track and thumb. It does match
22238 Aqua metrics though.
22239
22240 Reviewed by Sam Weinig
22241
22242 * WebCore.xcodeproj/project.pbxproj:
22243 * page/mac/EventHandlerMac.mm:
22244 (WebCore::EventHandler::passMousePressEventToScrollbar):
22245 * platform/ScrollbarThemeComposite.cpp:
22246 (WebCore::ScrollbarThemeComposite::paint):
22247 (WebCore::ScrollbarThemeComposite::trackPosition):
22248 * platform/ScrollbarThemeComposite.h:
22249 * platform/mac/ScrollViewMac.mm:
22250 (WebCore::ScrollView::addChild):
22251 * platform/mac/ScrollbarThemeMac.cpp:
22252 (WebCore::):
22253 (WebCore::ScrollbarThemeMac::hasButtons):
22254 (WebCore::ScrollbarThemeMac::hasThumb):
22255 (WebCore::buttonRepaintRect):
22256 (WebCore::ScrollbarThemeMac::backButtonRect):
22257 (WebCore::ScrollbarThemeMac::forwardButtonRect):
22258 (WebCore::trackRepaintRect):
22259 (WebCore::ScrollbarThemeMac::trackRect):
22260 (WebCore::ScrollbarThemeMac::minimumThumbLength):
22261 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
22262 (WebCore::ScrollbarThemeMac::paintTrack):
22263 (WebCore::ScrollbarThemeMac::paintButton):
22264 (WebCore::ScrollbarThemeMac::paintThumb):
22265 * platform/mac/ScrollbarThemeMac.h:
22266 (WebCore::ScrollbarThemeMac::supportsControlTints):
22267 * platform/qt/ScrollbarThemeQt.cpp:
22268 (WebCore::ScrollbarThemeQt::trackPosition):
22269
collinj@webkit.org51261aa2008-09-19 06:13:22 +0000222702008-09-18 Collin Jackson <collinj@webkit.org>
22271
22272 Build fix; added missing header file to GNUmakefile.am
22273
22274 * GNUmakefile.am:
22275
weinig@apple.com39aecbe2008-09-19 04:56:21 +0000222762008-09-18 Sam Weinig <sam@webkit.org>
22277
22278 Reviewed by David "the Hair" Hyatt.
22279
22280 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
22281
22282 * GNUmakefile.am:
22283 * WebCore.pro:
22284 * WebCore.vcproj/WebCore.vcproj:
22285 * WebCore.xcodeproj/project.pbxproj:
22286 * rendering/DataRef.h: Removed.
22287 * rendering/SVGRenderStyle.cpp: Removed.
22288 * rendering/SVGRenderStyle.h: Removed.
22289 * rendering/SVGRenderStyleDefs.cpp: Removed.
22290 * rendering/SVGRenderStyleDefs.h: Removed.
22291 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
22292 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
22293 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
22294 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
22295 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
22296
mrowe@apple.coma5206592008-09-19 04:47:58 +0000222972008-09-18 Mark Rowe <mrowe@apple.com>
22298
22299 Reviewed by Dan Bernstein.
22300
22301 Add a means of clearing a FrameTree's name.
22302
22303 * WebCore.base.exp:
22304 * page/FrameTree.cpp:
22305 (WebCore::FrameTree::clearName):
22306 * page/FrameTree.h:
22307
hyatt@apple.com6eeef382008-09-19 04:30:53 +0000223082008-09-18 David Hyatt <hyatt@apple.com>
22309
22310 Eliminate addToSuperview from Widget, since it was only called
22311 by ScrollViewMac's addChild method. Just shift the original body
22312 of addToSuperView into addChild.
22313
22314 Reviewed by Sam Weinig
22315
22316 * platform/Widget.h:
22317 * platform/mac/ScrollViewMac.mm:
22318 (WebCore::ScrollView::addChild):
22319 * platform/mac/WidgetMac.mm:
22320
collinj@webkit.org9c672f62008-09-19 04:15:14 +0000223212008-09-18 Collin Jackson <collinj@webkit.org>
22322
22323 Reviewed by Antti Koivisto and Mark Rowe.
22324
22325 Test: http/tests/misc/dns-prefetch-control.html
22326
22327 https://bugs.webkit.org/show_bug.cgi?id=20690
22328
22329 Invoke WebCore::prefetchDNS() on host names that appear in
22330 in the href of hyperlinks and <link rel="dns-prefetch">. This
22331 can be used to implement DNS prefetching.
22332
22333 * WebCore.vcproj/WebCore.vcproj:
22334 * WebCore.xcodeproj/project.pbxproj:
22335 * dom/Document.cpp:
22336 (WebCore::Document::Document):
22337 (WebCore::Document::processHttpEquiv):
22338 (WebCore::Document::setSecurityOrigin):
22339 (WebCore::Document::initDNSPrefetch):
22340 (WebCore::Document::parseDNSPrefetchControlHeader):
22341 * dom/Document.h:
22342 (WebCore::Document::isDNSPrefetchEnabled):
22343 * html/HTMLAnchorElement.cpp:
22344 (WebCore::HTMLAnchorElement::parseMappedAttribute):
22345 * html/HTMLLinkElement.cpp:
22346 (WebCore::HTMLLinkElement::HTMLLinkElement):
22347 (WebCore::HTMLLinkElement::parseMappedAttribute):
22348 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
22349 (WebCore::HTMLLinkElement::process):
22350 * html/HTMLLinkElement.h:
22351 * html/PreloadScanner.cpp:
22352 (WebCore::PreloadScanner::processAttribute):
22353 * loader/FrameLoader.cpp:
22354 (WebCore::FrameLoader::begin):
22355 * platform/gtk/TemporaryLinkStubs.cpp:
22356 (WebCore::prefetchDNS):
22357 * platform/network/DNS.h: Added.
22358 * platform/network/cf/DNSCFNet.cpp: Added.
22359 (WebCore::prefetchDNS):
22360 * platform/qt/TemporaryLinkStubs.cpp:
22361 (WebCore::prefetchDNS):
22362 * platform/wx/TemporaryLinkStubs.cpp:
22363 (WebCore::prefetchDNS):
22364
hyatt@apple.comc5b931a2008-09-19 00:39:51 +0000223652008-09-18 David Hyatt <hyatt@apple.com>
22366
hyatt@apple.comcf31c162008-09-19 04:01:56 +000022367 Eliminate the convertToScreenCoordinate method on Widget, since
22368 ScrollView has redundant methods that already do the same thing.
22369
22370 Reviewed by Sam Weinig
22371
22372 * editing/mac/SelectionControllerMac.mm:
22373 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
22374 * platform/Widget.h:
22375 * platform/mac/WidgetMac.mm:
22376 (WebCore::Widget::containingWindow):
22377
223782008-09-18 David Hyatt <hyatt@apple.com>
22379
hyatt@apple.com179629b3c2008-09-19 03:16:26 +000022380 Move to only one constructor for Widgets. Rename data to m_data and make
22381 it have an #ifdef only for platforms that have platform-specific data (Mac
22382 and Gtk).
22383
22384 Reviewed by Sam Weinig
22385
22386 * WebCore.base.exp:
22387 * platform/Widget.cpp:
22388 (WebCore::Widget::init):
22389 * platform/Widget.h:
22390 * platform/gtk/WidgetGtk.cpp:
22391 (WebCore::Widget::Widget):
22392 (WebCore::Widget::~Widget):
22393 (WebCore::Widget::cursor):
22394 (WebCore::Widget::setCursor):
22395 * platform/mac/WidgetMac.mm:
22396 (WebCore::Widget::Widget):
22397 (WebCore::Widget::~Widget):
22398 (WebCore::Widget::addToSuperview):
22399 (WebCore::Widget::removeFromSuperview):
22400 (WebCore::Widget::beforeMouseDown):
22401 (WebCore::Widget::afterMouseDown):
22402 * platform/qt/WidgetQt.cpp:
22403 (WebCore::Widget::Widget):
22404 * platform/win/WidgetWin.cpp:
22405 (WebCore::Widget::Widget):
22406 * platform/wx/WidgetWx.cpp:
22407 (WebCore::Widget::Widget):
22408
224092008-09-18 David Hyatt <hyatt@apple.com>
22410
hyatt@apple.com470d7e72008-09-19 03:01:08 +000022411 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
22412 was no reason for it to be on Widget. This change eliminates Qt ifdefs
22413 from Widget.
22414
22415 Reviewed by Sam Weinig
22416
22417 * bindings/js/ScriptControllerQt.cpp:
22418 (WebCore::ScriptController::createScriptInstanceForWidget):
22419 * platform/qt/WidgetQt.cpp:
22420 (WebCore::WidgetPrivate::WidgetPrivate):
22421 (WebCore::WidgetPrivate::~WidgetPrivate):
22422 (WebCore::Widget::Widget):
22423 (WebCore::Widget::~Widget):
22424 * plugins/PluginView.cpp:
22425 (WebCore::PluginView::PluginView):
22426 * plugins/PluginView.h:
22427 (WebCore::PluginView::isNPAPIPlugin):
22428 (WebCore::PluginView::setIsNPAPIPlugin):
22429
224302008-09-18 David Hyatt <hyatt@apple.com>
22431
hyatt@apple.com557408b2008-09-19 02:36:08 +000022432 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
22433 ifdefs are now gone from Widget!
22434
22435 Reviewed by Sam Weinig
22436
22437 * platform/Widget.h:
22438 (WebCore::Widget::geometryChanged):
22439 * platform/gtk/WidgetGtk.cpp:
22440 * platform/qt/WidgetQt.cpp:
22441
224422008-09-18 David Hyatt <hyatt@apple.com>
22443
hyatt@apple.com17e57432008-09-19 02:29:27 +000022444 Consolidate convertTo/FromContainingWindow methods so that all platforms
22445 but Mac share the same code.
22446
22447 Move convertSelfToChild and convertChildToSelf to ScrollView, since
22448 Widget should know nothing about children. Make the methods cross-platform
22449 on ScrollView.
22450
22451 Reviewed by Sam Weinig
22452
22453 * platform/ScrollView.h:
22454 (WebCore::ScrollView::convertChildToSelf):
22455 (WebCore::ScrollView::convertSelfToChild):
22456 * platform/Widget.cpp:
22457 (WebCore::Widget::convertToContainingWindow):
22458 (WebCore::Widget::convertFromContainingWindow):
22459 * platform/Widget.h:
22460 (WebCore::Widget::geometryChanged):
22461 * platform/gtk/ScrollViewGtk.cpp:
22462 (WebCore::ScrollView::isScrollViewScrollbar):
22463 * platform/gtk/WidgetGtk.cpp:
22464 * platform/mac/ScrollViewMac.mm:
22465 (WebCore::ScrollView::isScrollViewScrollbar):
22466 * platform/mac/WidgetMac.mm:
22467 * platform/qt/ScrollViewQt.cpp:
22468 (WebCore::ScrollView::isScrollViewScrollbar):
22469 * platform/qt/WidgetQt.cpp:
22470 * platform/win/ScrollViewWin.cpp:
22471 (WebCore::ScrollView::isScrollViewScrollbar):
22472 * platform/win/WidgetWin.cpp:
22473
224742008-09-18 David Hyatt <hyatt@apple.com>
22475
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000022476 Make the conversion methods that go to and from some containingWindow
22477 cross-platform. Implement them on Mac.
22478
22479 Reviewed by Sam Weinig
22480
22481 * platform/Widget.h:
22482 (WebCore::Widget::setContainingWindow):
22483 * platform/mac/WidgetMac.mm:
22484 (WebCore::Widget::convertFromContainingWindow):
22485 (WebCore::Widget::convertToContainingWindow):
22486
weinig@apple.comd1ea02d2008-09-19 00:28:05 +0000224872008-09-18 Sam Weinig <sam@webkit.org>
22488
22489 Rubber-stamped by David "Yeah-yeah" Hyatt.
22490
22491 Cleanup RenderStyle.
22492
22493 * WebCore.xcodeproj/project.pbxproj:
22494 * rendering/style/CounterContent.h:
22495 * rendering/style/RenderStyle.cpp:
22496 * rendering/style/RenderStyle.h:
22497
dino@apple.comef93f532008-09-19 00:01:07 +0000224982008-09-18 Chris Marrin <cmarrin@apple.com>
22499
22500 Reviewed by Sam Weinig
22501
22502 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
22503 Now TransformOperations and AnimationList no longer
22504 inherit from Vector<> but rather have API to access.
22505
22506 * css/CSSComputedStyleDeclaration.cpp:
22507 (WebCore::computedTransform):
22508 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
22509 * css/CSSStyleSelector.cpp:
22510 (WebCore::CSSStyleSelector::createTransformOperations):
22511 * page/animation/AnimationBase.cpp:
22512 (WebCore::blendFunc):
22513 * page/animation/CompositeAnimation.cpp:
22514 (WebCore::CompositeAnimation::updateTransitions):
22515 (WebCore::CompositeAnimation::updateKeyframeAnimations):
22516 (WebCore::CompositeAnimation::animate):
22517 * page/animation/ImplicitAnimation.cpp:
22518 (WebCore::ImplicitAnimation::validateTransformFunctionList):
22519 * page/animation/KeyframeAnimation.cpp:
22520 (WebCore::KeyframeAnimation::validateTransformFunctionList):
22521 * rendering/RenderLayer.cpp:
22522 (WebCore::RenderLayer::updateReflectionStyle):
22523 * rendering/style/AnimationList.cpp:
22524 (WebCore::AnimationList::operator==):
22525 * rendering/style/AnimationList.h:
22526 (WebCore::AnimationList::operator!=):
22527 (WebCore::AnimationList::size):
22528 (WebCore::AnimationList::isEmpty):
22529 (WebCore::AnimationList::resize):
22530 (WebCore::AnimationList::remove):
22531 (WebCore::AnimationList::append):
22532 (WebCore::AnimationList::animation):
22533 * rendering/style/RenderStyle.cpp:
22534 (WebCore::StyleRareNonInheritedData::updateKeyframes):
22535 (WebCore::RenderStyle::applyTransform):
22536 (WebCore::RenderStyle::adjustAnimations):
22537 (WebCore::RenderStyle::adjustTransitions):
22538 (WebCore::RenderStyle::transitionForProperty):
22539 * rendering/style/RenderStyle.h:
22540 (WebCore::RenderStyle::hasTransform):
22541 * rendering/style/TransformOperations.cpp:
22542 (WebCore::TransformOperations::TransformOperations):
22543 (WebCore::TransformOperations::operator==):
22544 * rendering/style/TransformOperations.h:
22545 (WebCore::TransformOperations::apply):
22546 (WebCore::TransformOperations::operations):
22547
zecke@webkit.org20690ef2008-09-18 23:28:34 +0000225482008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
22549
zecke@webkit.org30db7422008-09-19 01:00:18 +000022550 Build fix.
22551
22552 [qt] Build fixes after the Widget/ScrollView cleanup
22553 topLevel() is now root()
22554
22555
22556 * platform/qt/ScrollViewQt.cpp:
22557 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
22558 (WebCore::ScrollView::addChild):
22559 (WebCore::ScrollView::removeChild):
22560
225612008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
22562
zecke@webkit.org20690ef2008-09-18 23:28:34 +000022563 Reviewed by Mark Rowe.
22564
22565 https://bugs.webkit.org/show_bug.cgi?id=20437
22566
22567 XMLTokenizer.cpp used to contain two different implementations. One was using
22568 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
22569 separating the two implementations from each other.
22570 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
22571 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
22572 XMLTokenizerLibxml2.cpp. There should be no functional changes.
22573
22574 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
22575 to work.
22576
22577 * GNUmakefile.am:
22578 * WebCore.pro:
22579 * WebCore.vcproj/WebCore.vcproj:
22580 * WebCore.xcodeproj/project.pbxproj:
22581 * WebCoreSources.bkl:
22582 * dom/XMLTokenizer.cpp:
22583 (WebCore::isScriptElement):
22584 (WebCore::castToScriptElement):
22585 (WebCore::XMLTokenizer::setCurrentNode):
22586 (WebCore::XMLTokenizer::write):
22587 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
22588 (WebCore::XMLTokenizer::enterText):
22589 (WebCore::toString):
22590 (WebCore::XMLTokenizer::exitText):
22591 (WebCore::XMLTokenizer::end):
22592 (WebCore::XMLTokenizer::insertErrorMessageBlock):
22593 * dom/XMLTokenizer.h:
22594 (WebCore::XMLTokenizer::wellFormed):
22595 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
22596 (WebCore::createMemoryParser):
22597 (WebCore::XMLTokenizer::XMLTokenizer):
22598 (WebCore::XMLTokenizer::~XMLTokenizer):
22599 (WebCore::XMLTokenizer::doWrite):
22600 (WebCore::ignorableWhitespaceHandler):
22601 (WebCore::XMLTokenizer::initializeParserContext):
22602 (WebCore::XMLTokenizer::doEnd):
22603 (WebCore::XMLTokenizer::lineNumber):
22604 (WebCore::XMLTokenizer::columnNumber):
22605 (WebCore::XMLTokenizer::stopParsing):
22606 (WebCore::XMLTokenizer::resumeParsing):
22607 (WebCore::parseXMLDocumentFragment):
22608 (WebCore::attributesStartElementNsHandler):
22609 (WebCore::parseAttributes):
22610 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
22611 (WebCore::EntityResolver::resolveUndeclaredEntity):
22612 (WebCore::XMLTokenizer::XMLTokenizer):
22613 (WebCore::XMLTokenizer::~XMLTokenizer):
22614 (WebCore::XMLTokenizer::doWrite):
22615 (WebCore::XMLTokenizer::initializeParserContext):
22616 (WebCore::XMLTokenizer::doEnd):
22617 (WebCore::XMLTokenizer::lineNumber):
22618 (WebCore::XMLTokenizer::columnNumber):
22619 (WebCore::XMLTokenizer::stopParsing):
22620 (WebCore::XMLTokenizer::resumeParsing):
22621 (WebCore::parseXMLDocumentFragment):
22622 (WebCore::attributesStartElementNsHandler):
22623 (WebCore::parseAttributes):
22624 (WebCore::):
22625
bdakin@apple.com4c244902008-09-18 23:08:35 +0000226262008-09-18 Beth Dakin <bdakin@apple.com>
22627
22628 Reviewed by Geoff Garen.
22629
22630 Build fix for non-Mac builds.
22631
22632 * css/CSSPrimitiveValue.cpp:
22633 (WebCore::CSSPrimitiveValue::cssText):
22634
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000226352008-09-18 Peter Kasting <pkasting@google.com>
22636
22637 Reviewed by hyatt. Landed by eseidel.
22638
22639 https://bugs.webkit.org/show_bug.cgi?id=20745
22640 Animated GIFs do not animate properly with (at least) CG.
22641
22642 * WebCore\platform\graphics\BitmapImage.cpp:
22643 * WebCore\platform\graphics\BitmapImage.h:
22644 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
22645 * WebCore\platform\graphics\cg\ImageCG.cpp:
22646 * WebCore\platform\graphics\qt\ImageQt.cpp:
22647 * WebCore\platform\graphics\wx\ImageWx.cpp:
22648
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +0000226492008-09-18 Chris Fleizach <cfleizach@apple.com>
22650
22651 Reviewed by Beth Dakin
22652
22653 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
22654 role specifies otherwise
22655
22656 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
22657
22658 Test: accessibility/table-with-aria-role.html
22659
22660 * page/AccessibilityTable.cpp:
22661 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
22662 (WebCore::AccessibilityTable::addChildren):
22663 (WebCore::AccessibilityTable::roleValue):
22664 (WebCore::AccessibilityTable::accessibilityIsIgnored):
22665 (WebCore::AccessibilityTable::title):
22666 * page/AccessibilityTableCell.cpp:
22667 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
22668 (WebCore::AccessibilityTableCell::isTableCell):
22669 (WebCore::AccessibilityTableCell::roleValue):
22670 * page/AccessibilityTableCell.h:
22671 * page/AccessibilityTableRow.cpp:
22672 (WebCore::AccessibilityTableRow::roleValue):
22673 (WebCore::AccessibilityTableRow::isTableRow):
22674 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
22675 * page/AccessibilityTableRow.h:
22676
sfalken@apple.coma96c5d32008-09-18 22:29:34 +0000226772008-09-18 Steve Falkenburg <sfalken@apple.com>
22678
22679 Use higher-resolution timers on all variants of Windows.
22680
22681 Reviewed by Darin Adler.
22682
22683 * platform/win/SharedTimerWin.cpp:
22684 (WebCore::setSharedTimerFireTime):
22685
22686
hyatt@apple.comb7d49b62008-09-18 22:21:25 +0000226872008-09-18 David Hyatt <hyatt@apple.com>
22688
22689 Make containingWindow() and setContainingWindow() cross-platform.
22690 Add a root() function cross-platform so Qt doesn't have to
22691 define its own.
22692
22693 Reviewed by Darin Adler
22694
22695 * platform/Widget.cpp:
22696 (WebCore::Widget::root):
22697 * platform/Widget.h:
22698 (WebCore::Widget::setContainingWindow):
22699 * platform/gtk/WidgetGtk.cpp:
22700 (WebCore::Widget::Widget):
22701 (WebCore::Widget::containingWindow):
22702 * platform/mac/ScrollViewMac.mm:
22703 (WebCore::ScrollView::addChild):
22704 (WebCore::ScrollView::removeChild):
22705 * platform/mac/WidgetMac.mm:
22706 (WebCore::Widget::containingWindow):
22707 * platform/qt/WidgetQt.cpp:
22708 (WebCore::Widget::invalidateRect):
22709 (WebCore::Widget::containingWindow):
22710 * platform/win/WidgetWin.cpp:
22711 (WebCore::Widget::Widget):
22712 (WebCore::Widget::~Widget):
22713 (WebCore::Widget::containingWindow):
22714
bdakin@apple.comfa1ce162008-09-18 22:18:01 +0000227152008-09-18 Beth Dakin <bdakin@apple.com>
22716
22717 Reviewed by Dave Hyatt.
22718
22719 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
22720 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
22721 dashboard-region=
22722 and corresponding: <rdar://problem/6174100>
22723
22724 This patch makes CSSParserValue::createCSSValue handle unknown
22725 identifiers.
22726
22727 * css/CSSParserValues.cpp:
22728 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
22729 with no id (an unknown identifier) create a CSSPrimitiveValue of
22730 type CSS_PARSER_IDENTIFIER
22731 * css/CSSPrimitiveValue.cpp:
22732 (WebCore::CSSPrimitiveValue::cssText):
22733 (WebCore::CSSPrimitiveValue::parserValue):
22734 * css/CSSPrimitiveValue.h:
22735 (WebCore::CSSPrimitiveValue::):
22736
weinig@apple.comfce49be2008-09-18 21:46:14 +0000227372008-09-18 Sam Weinig <sam@webkit.org>
22738
22739 Rubber-stamped by David "I'd prefer not" Hyatt.
22740
22741 More the remaining class out of RenderStyle.h/cpp
22742
22743 * GNUmakefile.am:
22744 * WebCore.pro:
22745 * WebCore.vcproj/WebCore.vcproj:
22746 * WebCore.xcodeproj/project.pbxproj:
22747 * WebCoreSources.bkl:
22748 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
22749 (WebCore::CursorData::CursorData):
22750 (WebCore::CursorData::operator==):
22751 (WebCore::CursorData::operator!=):
22752 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
22753 (WebCore::CursorList::operator[]):
22754 (WebCore::CursorList::CursorList):
22755 * rendering/style/RenderStyle.cpp:
22756 * rendering/style/RenderStyle.h:
22757 (WebCore::RenderStyle::deref):
22758 (WebCore::RenderStyle::hasOneRef):
22759 (WebCore::RenderStyle::InheritedFlags::operator!=):
22760 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
22761 (WebCore::RenderStyle::hasBackground):
22762 (WebCore::RenderStyle::outlineWidth):
22763 (WebCore::RenderStyle::autoWrap):
22764 (WebCore::RenderStyle::preserveNewline):
22765 (WebCore::RenderStyle::collapseWhiteSpace):
22766 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
22767 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
22768 (WebCore::RenderStyle::breakWords):
22769 (WebCore::RenderStyle::outlineOffset):
22770 (WebCore::RenderStyle::setLeft):
22771 (WebCore::RenderStyle::setRight):
22772 (WebCore::RenderStyle::setTop):
22773 (WebCore::RenderStyle::setBottom):
22774 (WebCore::RenderStyle::setDashboardRegion):
22775 (WebCore::RenderStyle::setBackgroundColor):
22776 (WebCore::RenderStyle::setBorderImage):
22777 (WebCore::RenderStyle::setBorderRadius):
22778 (WebCore::RenderStyle::setFontDescription):
22779 (WebCore::RenderStyle::adjustBackgroundLayers):
22780 (WebCore::RenderStyle::adjustMaskLayers):
22781 (WebCore::RenderStyle::deleteBindingURIs):
22782 (WebCore::RenderStyle::inheritBindingURIs):
22783 (WebCore::RenderStyle::isDisplayReplacedType):
22784 (WebCore::RenderStyle::isDisplayInlineType):
22785 (WebCore::RenderStyle::isOriginalDisplayInlineType):
22786 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
22787 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
22788 (WebCore::StyleInheritedData::operator!=):
22789 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
22790 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
22791 (WebCore::StyleRareInheritedData::operator!=):
22792 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
22793 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
22794 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
22795
hyatt@apple.com643534d2008-09-18 20:09:41 +0000227962008-09-18 David Hyatt <hyatt@apple.com>
22797
hyatt@apple.comd23089a2008-09-18 20:24:16 +000022798 Move the concept of suppression invalidation on Widgets to Scrollbar
22799 instead. Since this is only used by Scrollbars, there is no need for
22800 it to be on Widget.
22801
22802 Reviewed by Sam Weinig
22803
22804 * platform/Scrollbar.cpp:
22805 (WebCore::Scrollbar::Scrollbar):
22806 (WebCore::Scrollbar::invalidateRect):
22807 * platform/Scrollbar.h:
22808 (WebCore::Scrollbar::suppressInvalidation):
22809 (WebCore::Scrollbar::setSuppressInvalidation):
22810 * platform/Widget.h:
22811 * platform/gtk/WidgetGtk.cpp:
22812 (WebCore::Widget::Widget):
22813 (WebCore::Widget::invalidateRect):
22814 * platform/qt/WidgetQt.cpp:
22815 (WebCore::WidgetPrivate::WidgetPrivate):
22816 (WebCore::Widget::invalidateRect):
22817 * platform/win/WidgetWin.cpp:
22818 (WebCore::Widget::Widget):
22819 (WebCore::Widget::invalidateRect):
22820
228212008-09-18 David Hyatt <hyatt@apple.com>
22822
hyatt@apple.com643534d2008-09-18 20:09:41 +000022823 Make invalidate() on Widget non-virtual and make it just call
22824 invalidateRect() on the boundsGeometry() of the Widget.
22825
22826 Reviewed by Dan Bernstein
22827
22828 * platform/Widget.h:
22829 (WebCore::Widget::boundsGeometry):
22830 (WebCore::Widget::invalidate):
22831 * platform/gtk/WidgetGtk.cpp:
22832 * platform/mac/WidgetMac.mm:
22833 * platform/qt/WidgetQt.cpp:
22834 * platform/win/WidgetWin.cpp:
22835 * platform/wx/WidgetWx.cpp:
22836
weinig@apple.comcaf2df42008-09-18 19:40:24 +0000228372008-09-18 Sam Weinig <sam@webkit.org>
22838
22839 Rubber-stamped in exile by David Hyatt.
22840
22841 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
22842 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
22843 RenderStyle.h/cpp
22844
22845 * GNUmakefile.am:
22846 * WebCore.pro:
22847 * WebCore.vcproj/WebCore.vcproj:
22848 * WebCore.xcodeproj/project.pbxproj:
22849 * WebCoreSources.bkl:
22850 * css/CSSStyleSelector.cpp:
22851 * css/CSSStyleSelector.h:
22852 * page/animation/CompositeAnimation.cpp:
22853 * page/animation/KeyframeAnimation.cpp:
22854 * page/animation/KeyframeAnimation.h:
22855 * rendering/RenderCounter.h:
22856 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
22857 (WebCore::Animation::~Animation):
22858 (WebCore::Animation::animationsMatch):
22859 (WebCore::Animation::keyframeList):
22860 (WebCore::Animation::setAnimationKeyframe):
22861 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
22862 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
22863 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
22864 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
22865 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
22866 (WebCore::BindingURI::operator!=):
22867 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
22868 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
22869 (WebCore::ContentData::ContentData):
22870 (WebCore::ContentData::~ContentData):
22871 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
22872 (WebCore::CounterContent::CounterContent):
22873 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
22874 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
22875 (WebCore::CounterDirectives::CounterDirectives):
22876 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
22877 (WebCore::KeyframeList::insert):
22878 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
22879 (WebCore::KeyframeValue::KeyframeValue):
22880 (WebCore::KeyframeList::create):
22881 (WebCore::KeyframeList::KeyframeList):
22882 * rendering/style/RenderStyle.cpp:
22883 * rendering/style/RenderStyle.h:
22884 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
22885 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
22886 (WebCore::ShadowData::ShadowData):
22887 (WebCore::ShadowData::~ShadowData):
22888 (WebCore::ShadowData::operator!=):
22889 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
22890 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
22891 (WebCore::StyleFlexibleBoxData::operator!=):
22892 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
22893 (WebCore::TimingFunction::TimingFunction):
22894 (WebCore::TimingFunction::operator==):
22895
adele@apple.com5b2b5da2008-09-18 18:49:44 +0000228962008-09-18 Adele Peterson <adele@apple.com>
22897
22898 Reviewed by Dan Bernstein.
22899
22900 Fix RenderStyle leaks.
22901
22902 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
22903
kmccullough@apple.comd4089752008-09-18 17:21:49 +0000229042008-09-18 Kevin McCullough <kmccullough@apple.com>
22905
kmccullough@apple.com76c708f2008-09-18 18:03:23 +000022906 Accidentally checked in code.
22907
22908 * html/HTMLElementFactory.cpp:
22909 (WebCore::frameConstructor):
22910 (WebCore::iframeConstructor):
22911
229122008-09-18 Kevin McCullough <kmccullough@apple.com>
22913
kmccullough@apple.comd4089752008-09-18 17:21:49 +000022914 Reviewed by Tim.
22915
22916 <rdar://problem/5722310> gracefully handle too many console messages
22917 (20904)
22918 - Keep track of the most previous message and then compare it to the
22919 subsequent messages as they come in. If there are multiple of the same
22920 message create a count that indicates the current number.
22921
22922 * manual-tests/inspector/multiple-console-messages.html: Added.
22923 * page/inspector/Console.js:
22924 * page/inspector/inspector.css:
22925
alp@webkit.org18a1fbc2008-09-18 11:50:26 +0000229262008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
22927
22928 Reviewed by Alp Toker
22929
22930 https://bugs.webkit.org/show_bug.cgi?id=20830
22931 [GTK] Don't use deprecated pango API
22932
22933 Replace deprecated pango functions with non-deprecated ones for newer
22934 versions of pango
22935
22936 * platform/graphics/gtk/FontGtk.cpp:
22937 (WebCore::getDefaultPangoLayout):
22938 * platform/graphics/gtk/FontPlatformDataPango.cpp:
22939 (WebCore::FontPlatformData::FontPlatformData):
22940
alp@webkit.org2154ef22008-09-18 08:10:49 +0000229412008-09-18 Alp Toker <alp@nuanti.com>
22942
22943 Build fix for r36587. Add new sources (and sort the lists).
22944
22945 * GNUmakefile.am:
22946
weinig@apple.com3a98b2a2008-09-18 05:51:35 +0000229472008-09-17 Sam Weinig <sam@webkit.org>
22948
22949 Fix Windows build.
22950
22951 * WebCore.vcproj/WebCore.vcproj:
22952
hyatt@apple.comb3699722008-09-18 05:10:03 +0000229532008-09-17 David Hyatt <hyatt@apple.com>
22954
22955 Switch back to having frameGeometry be virtual in order to keep Mac
22956 the way it used to be.
22957
22958 Reviewed by Sam Weinig
22959
22960 * WebCore.base.exp:
22961 * platform/Widget.cpp:
22962 (WebCore::Widget::setParent):
22963 * platform/Widget.h:
22964 * platform/gtk/WidgetGtk.cpp:
22965 (WebCore::Widget::frameGeometry):
22966 (WebCore::Widget::setFrameGeometry):
22967 * platform/mac/WidgetMac.mm:
22968 (WebCore::Widget::frameGeometry):
22969 (WebCore::Widget::setFrameGeometry):
22970 * platform/qt/WidgetQt.cpp:
22971 (WebCore::Widget::frameGeometry):
22972 (WebCore::Widget::setFrameGeometry):
22973 * platform/win/WidgetWin.cpp:
22974 (WebCore::Widget::frameGeometry):
22975 (WebCore::Widget::setFrameGeometry):
22976 * platform/wx/WidgetWx.cpp:
22977 (WebCore::Widget::frameGeometry):
22978 (WebCore::Widget::setFrameGeometry):
22979 * plugins/PluginView.cpp:
22980 (WebCore::PluginView::setFrameGeometry):
22981 (WebCore::PluginView::geometryChanged):
22982 * plugins/PluginView.h:
22983 * plugins/gtk/PluginViewGtk.cpp:
22984 (WebCore::PluginView::updatePluginWidget):
22985 * plugins/qt/PluginViewQt.cpp:
22986 (WebCore::PluginView::updatePluginWidget):
22987 * plugins/win/PluginViewWin.cpp:
22988 (WebCore::PluginView::updatePluginWidget):
22989
weinig@apple.com00f4d5c2008-09-18 03:23:08 +0000229902008-09-17 Sam Weinig <sam@webkit.org>
22991
weinig@apple.com4fd54cd2008-09-18 05:03:21 +000022992 Reviewed by Mark Rowe.
22993
22994 Fix assertion in DOMWindow::adjustWindowRect where we were passing
22995 in garbage values and were getting lucky that they were a not Nan.
22996
22997 * bindings/js/JSDOMWindowBase.cpp:
22998 (WebCore::windowProtoFuncOpen):
22999
230002008-09-17 Sam Weinig <sam@webkit.org>
23001
weinig@apple.com95b14762008-09-18 04:28:40 +000023002 Fix gtk build.
23003
23004 * rendering/style/MatrixTransformOperation.cpp:
23005
230062008-09-17 Sam Weinig <sam@webkit.org>
23007
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000023008 Rubber-stamped with love by David Hyatt.
23009
23010 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
23011 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
23012 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
23013
23014 * GNUmakefile.am:
23015 * WebCore.pro:
23016 * WebCore.vcproj/WebCore.vcproj:
23017 * WebCore.xcodeproj/project.pbxproj:
23018 * WebCoreSources.bkl:
23019 * css/CSSStyleSelector.cpp:
23020 * page/animation/AnimationBase.cpp:
23021 (WebCore::solveEpsilon):
23022 * rendering/RenderLayer.cpp:
23023 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
23024 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
23025 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
23026 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
23027 * rendering/style/RenderStyle.cpp:
23028 * rendering/style/RenderStyle.h:
23029 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
23030 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
23031 (WebCore::RotateTransformOperation::RotateTransformOperation):
23032 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
23033 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
23034 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
23035 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
23036 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
23037 (WebCore::SkewTransformOperation::SkewTransformOperation):
23038 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
23039 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
23040 (WebCore::StyleTransformData::operator!=):
23041 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
23042 (WebCore::TransformOperation::):
23043 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
23044 (WebCore::TransformOperations::TransformOperations):
23045 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
23046 (WebCore::TransformOperations::operator!=):
23047 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
23048 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
23049 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
23050
mrowe@apple.comdbfa8852008-09-18 02:59:20 +0000230512008-09-17 Mark Rowe <mrowe@apple.com>
23052
23053 Build fix.
23054
23055 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
23056
hyatt@apple.com76057b42008-09-18 02:48:46 +0000230572008-09-17 David Hyatt <hyatt@apple.com>
23058
23059 (1) Inline a bunch of methods for accessing frame geometry.
23060 (2) Make sure frameGeometry() works even when you have no underlying
23061 native widget.
23062 (3) Cache a frame geometry rect cross-platform (even for widgets that
23063 have underlying native widgets.
23064 (4) PluginView's updateWindow call is now a virtual function on Widget.
23065
23066 Reviewed by Sam Weinig
23067
23068 * ChangeLog:
23069 * WebCore.base.exp:
23070 * platform/Widget.cpp:
23071 (WebCore::Widget::setFrameGeometry):
23072 * platform/Widget.h:
23073 (WebCore::Widget::x):
23074 (WebCore::Widget::y):
23075 (WebCore::Widget::width):
23076 (WebCore::Widget::height):
23077 (WebCore::Widget::size):
23078 (WebCore::Widget::pos):
23079 (WebCore::Widget::frameGeometry):
23080 (WebCore::Widget::resize):
23081 (WebCore::Widget::move):
23082 (WebCore::Widget::isFrameView):
23083 (WebCore::Widget::windowClipRect):
23084 * platform/mac/WidgetMac.mm:
23085 (WebCore::Widget::~Widget):
23086 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
23087 * platform/win/WidgetWin.cpp:
23088 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
23089 * plugins/PluginView.cpp:
23090 (WebCore::PluginView::setFrameGeometry):
23091 (WebCore::PluginView::geometryChanged):
23092 * plugins/PluginView.h:
23093 * plugins/gtk/PluginViewGtk.cpp:
23094 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
23095 * plugins/qt/PluginViewQt.cpp:
23096 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
23097 * plugins/win/PluginViewWin.cpp:
23098 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
23099 * plugins/wx/PluginViewWx.cpp:
23100
weinig@apple.coma812a3ce2008-09-18 01:46:26 +0000231012008-09-17 Sam Weinig <sam@webkit.org>
23102
weinig@apple.comb4b66742008-09-18 02:47:55 +000023103 Reviewed by David "Waterman" Hyatt.
23104
23105 Fix a leak of NSViews in WidgetMac.mm.
23106
23107 * platform/mac/WidgetMac.mm:
23108 (WebCore::Widget::~Widget):
23109
231102008-09-17 Sam Weinig <sam@webkit.org>
23111
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000023112 Rubber-stamped by David Waterman Hyatt.
23113
23114 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
23115 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
23116
23117 * GNUmakefile.am:
23118 * WebCore.pro:
23119 * WebCore.vcproj/WebCore.vcproj:
23120 * WebCore.xcodeproj/project.pbxproj:
23121 * WebCoreSources.bkl:
23122 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
23123 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
23124 (WebCore::FillLayer::operator!=):
23125 (WebCore::FillLayer::hasImage):
23126 (WebCore::FillLayer::hasFixedImage):
23127 * rendering/style/RenderStyle.cpp:
23128 * rendering/style/RenderStyle.h:
23129 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
23130 (WebCore::StyleBackgroundData::StyleBackgroundData):
23131 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
23132 (WebCore::StyleBackgroundData::~StyleBackgroundData):
23133 (WebCore::StyleBackgroundData::operator!=):
23134 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
23135 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
23136 (WebCore::StyleBoxData::operator!=):
23137 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
23138 (WebCore::StyleDashboardRegion::operator!=):
23139 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
23140 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
23141 (WebCore::StyleMarqueeData::operator!=):
23142 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
23143 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
23144 (WebCore::StyleMultiColData::operator!=):
23145 (WebCore::StyleMultiColData::ruleWidth):
23146 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
23147 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
23148 (WebCore::StyleVisualData::operator==):
23149
hyatt@apple.comb4f28b32008-09-18 00:39:36 +0000231502008-09-17 David Hyatt <hyatt@apple.com>
23151
hyatt@apple.com3f19eac2008-09-18 00:56:04 +000023152 Remove WidgetClient from Widget.
23153
23154 Reviewed by Sam Weinig
23155
23156 * WebCore.xcodeproj/project.pbxproj:
23157 * platform/Widget.h:
23158 (WebCore::Widget::setClient):
23159 (WebCore::Widget::client):
23160 * platform/WidgetClient.h: Removed.
23161 * platform/gtk/WidgetGtk.cpp:
23162 * platform/mac/WidgetMac.mm:
23163 (WebCore::Widget::Widget):
23164 (WebCore::Widget::show):
23165 (WebCore::Widget::hide):
23166 * platform/qt/WidgetQt.cpp:
23167 (WebCore::WidgetPrivate::WidgetPrivate):
23168 * platform/win/WidgetWin.cpp:
23169 (WebCore::Widget::Widget):
23170 * platform/wx/WidgetWx.cpp:
23171 (WebCore::Widget::Widget):
23172
231732008-09-17 David Hyatt <hyatt@apple.com>
23174
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000023175 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
23176 only applies to Scrollbars so the method has been moved there and made
23177 cross-platform. Scrollbar subclasses that have a corresponding native
23178 widget can subclass setEnabled to change the enabled state of the native
23179 widget.
23180
23181 Reviewed by Sam Weinig & Darin Adler
23182
23183 * WebCore.base.exp:
23184 * platform/Scrollbar.cpp:
23185 (WebCore::Scrollbar::Scrollbar):
23186 * platform/Scrollbar.h:
23187 (WebCore::Scrollbar::enabled):
23188 (WebCore::Scrollbar::setEnabled):
23189 * platform/Widget.h:
23190 * platform/gtk/ScrollbarGtk.cpp:
23191 (ScrollbarGtk::setEnabled):
23192 * platform/gtk/ScrollbarGtk.h:
23193 * platform/gtk/WidgetGtk.cpp:
23194 * platform/mac/ScrollbarMac.h:
23195 * platform/mac/ScrollbarMac.mm:
23196 (WebCore::ScrollbarMac::scrollbarHit):
23197 (WebCore::ScrollbarMac::setEnabled):
23198 * platform/mac/WidgetMac.mm:
23199 * platform/qt/WidgetQt.cpp:
23200 (WebCore::WidgetPrivate::WidgetPrivate):
23201 * platform/win/WidgetWin.cpp:
23202 (WebCore::Widget::Widget):
23203 * platform/wx/WidgetWx.cpp:
23204
weinig@apple.com1ea40602008-09-17 23:56:27 +0000232052008-09-17 Sam Weinig <sam@webkit.org>
23206
23207 Rubber-stamped by David Hyatt.
23208
23209 Split all RenderStyle enums into their own file.
23210
23211 * GNUmakefile.am:
23212 * WebCore.vcproj/WebCore.vcproj:
23213 * WebCore.xcodeproj/project.pbxproj:
23214 * rendering/style/BorderValue.h:
23215 * rendering/style/CollapsedBorderValue.h:
23216 * rendering/style/RenderStyle.h:
23217 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
23218 (WebCore::):
23219 * rendering/style/StyleCachedImage.h:
23220 * rendering/style/StyleGeneratedImage.h:
23221 * rendering/style/StyleImage.h:
23222
sfalken@apple.combf270912008-09-17 23:53:17 +0000232232008-09-17 Steve Falkenburg <sfalken@apple.com>
23224
23225 Add back isFrameView check to fix failed assertion during scroll bar teardown.
23226
23227 Reviewed by Dave Hyatt.
23228
23229 * platform/Scrollbar.cpp:
23230 (WebCore::Scrollbar::setParent):
23231
beidson@apple.com4398e482008-09-17 23:30:00 +0000232322008-09-17 Brady Eidson <beidson@apple.com>
23233
23234 Reviewed by Mac build fix
23235
23236 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
23237
sfalken@apple.com85cc1392008-09-17 23:28:13 +0000232382008-09-17 Steve Falkenburg <sfalken@apple.com>
23239
23240 Fix build.
23241
23242 * platform/win/ScrollViewWin.cpp:
23243 (WebCore::ScrollView::setParentVisible):
23244 * plugins/win/PluginViewWin.cpp:
23245 (WebCore::PluginView::init):
23246
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +0000232472008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
23248
23249 Reviewed by Simon.
23250
23251 [QtWebKit] Implement error handling in TextCodecQt::decode
23252 Use the QTextCodec parsing state to set the sawError out variable. This
23253 is needed to pass Test 70 of acid3. The test case for this bug is
23254 fast/encoding/invalid-xml.html that is now partially passed. To pass
23255 it completely the Qt text codecs need to be adjusted to have proper
23256 error handling.
23257
23258 * platform/text/qt/TextCodecQt.cpp:
23259 (WebCore::TextCodecQt::decode):
23260
weinig@apple.comf6f0f112008-09-17 23:03:16 +0000232612008-09-17 Sam Weinig <sam@webkit.org>
23262
23263 Rubber-stamped by Dave Hyatt.
23264
23265 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
23266 out of RenderStyle.h/cpp
23267
23268 * GNUmakefile.am:
23269 * WebCore.pro:
23270 * WebCore.vcproj/WebCore.vcproj:
23271 * WebCore.xcodeproj/project.pbxproj:
23272 * WebCoreSources.bkl:
23273 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
23274 (WebCore::BorderData::hasBorderRadius):
23275 (WebCore::BorderData::borderLeftWidth):
23276 (WebCore::BorderData::borderRightWidth):
23277 (WebCore::BorderData::borderTopWidth):
23278 (WebCore::BorderData::borderBottomWidth):
23279 (WebCore::BorderData::operator!=):
23280 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
23281 (WebCore::):
23282 (WebCore::BorderValue::BorderValue):
23283 (WebCore::BorderValue::nonZero):
23284 (WebCore::BorderValue::isTransparent):
23285 (WebCore::BorderValue::isVisible):
23286 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
23287 (WebCore::):
23288 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
23289 (WebCore::CollapsedBorderValue::operator==):
23290 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
23291 (WebCore::OutlineValue::OutlineValue):
23292 * rendering/style/RenderStyle.cpp:
23293 * rendering/style/RenderStyle.h:
23294 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
23295 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
23296 (WebCore::StyleSurroundData::operator!=):
23297
bdakin@apple.com06b97182008-09-17 23:00:29 +0000232982008-09-17 Beth Dakin <bdakin@apple.com>
23299
23300 Reviewed by Darin Adler.
23301
23302 This is a better fix for: Invalid CSS code crashes Safari
23303 https://bugs.webkit.org/show_bug.cgi?id=20512
23304
23305 The spec indicates that the only valid input for a counter is a
23306 number or an identifier. So that is exactly what we allow.
23307
23308 * css/CSSParser.cpp:
23309 (WebCore::CSSParser::parseCounterContent):
23310
alp@webkit.org97ba9222008-09-17 22:16:26 +0000233112008-09-17 Alp Toker <alp@nuanti.com>
23312
23313 GTK+ build fix. Adapt to use PlatformWidget functions.
23314
23315 * platform/gtk/ScrollViewGtk.cpp:
23316 (WebCore::ScrollViewScrollbar::geometryChanged):
23317 (WebCore::ScrollView::addChild):
23318 (WebCore::ScrollView::removeChild):
23319 * platform/gtk/ScrollbarGtk.cpp:
23320 (ScrollbarGtk::ScrollbarGtk):
23321 (ScrollbarGtk::~ScrollbarGtk):
23322 (ScrollbarGtk::geometryChanged):
23323
weinig@apple.com930ed392008-09-17 22:00:45 +0000233242008-09-17 Sam Weinig <sam@webkit.org>
23325
23326 Reviewed by Adele Peterson.
23327
23328 Patch for <rdar://problem/6133884>
23329 Calling window.resizeTo() on a subframe shouldn't change the window size
23330
23331 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
23332
23333 * page/DOMWindow.cpp:
23334 (WebCore::DOMWindow::moveBy):
23335 (WebCore::DOMWindow::moveTo):
23336 (WebCore::DOMWindow::resizeBy):
23337 (WebCore::DOMWindow::resizeTo):
23338
bdakin@apple.com8f952d82008-09-17 21:35:02 +0000233392008-09-17 Beth Dakin <bdakin@apple.com>
23340
23341 Reviewed by Adam Roben.
23342
23343 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
23344 code crashes Safari
23345 and corresponding: <rdar://problem/6173832>
23346
23347 Reading through the spec, it seems like a function is not valid
23348 input for a counter. So this patch checks for that and bails in the
23349 case of invalid input.
23350
23351 * css/CSSParser.cpp:
23352 (WebCore::CSSParser::parseCounterContent):
23353
antti@apple.comb37d4052008-09-17 21:14:13 +0000233542008-09-17 Greg Bolsinga <bolsinga@apple.com>
23355
23356 Reviewed by Antti Koivisto.
23357
23358 Fix <rdar://problem/6227089>
23359 Crash in WebCore::Frame::setNeedsReapplyStyles()
23360
23361 View is null checked elsewhere too.
23362
23363 * page/Frame.cpp:
23364 (WebCore::Frame::setNeedsReapplyStyles):
23365
hyatt@apple.com8e340252008-09-17 20:59:45 +0000233662008-09-17 David Hyatt <hyatt@apple.com>
23367
23368 Make the notion of having a native widget backing a Widget cross-platform.
23369 The PlatformWidget abstraction (which already existed) is used for this.
23370 Windows = HWND
23371 Qt = QWidget
23372 Mac = NSView
23373 wx = wxWindow
23374 Gtk = GtkWidget
23375
23376 There are new cross-platform methods that replace all of the unique
23377 platform-specific methods.
23378 platformWidget()
23379 setPlatformWidget()
23380
23381 For plugins, on every platform except Qt on Windows, the plugin's native
23382 widget is now stored in the Widget base class. Since Qt on Windows uses
23383 HWNDs for plugins instead of QWidget, it is the only platform to keep the
23384 m_window variable in PluginView.
23385
23386 Reviewed by Sam Weinig
23387
23388 * WebCore.base.exp:
23389 * bindings/js/ScriptControllerMac.mm:
23390 (WebCore::ScriptController::createScriptInstanceForWidget):
23391 * page/mac/AccessibilityObjectWrapper.mm:
23392 (-[AccessibilityObjectWrapper attachmentView]):
23393 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
23394 * page/mac/EventHandlerMac.mm:
23395 (WebCore::EventHandler::passMouseDownEventToWidget):
23396 (WebCore::EventHandler::mouseDownViewIfStillGood):
23397 (WebCore::EventHandler::passWheelEventToWidget):
23398 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
23399 * platform/Widget.cpp:
23400 (WebCore::Widget::init):
23401 (WebCore::Widget::setParent):
23402 (WebCore::Widget::releasePlatformWidget):
23403 (WebCore::Widget::retainPlatformWidget):
23404 * platform/Widget.h:
23405 (WebCore::Widget::platformWidget):
23406 (WebCore::Widget::setPlatformWidget):
23407 * platform/gtk/WidgetGtk.cpp:
23408 (WebCore::Widget::Widget):
23409 (WebCore::Widget::setFocus):
23410 (WebCore::gdkDrawable):
23411 (WebCore::Widget::setCursor):
23412 (WebCore::Widget::show):
23413 (WebCore::Widget::hide):
23414 (WebCore::Widget::setEnabled):
23415 (WebCore::Widget::isEnabled):
23416 (WebCore::Widget::paint):
23417 * platform/mac/PlatformScreenMac.mm:
23418 (WebCore::screenRect):
23419 (WebCore::screenAvailableRect):
23420 * platform/mac/ScrollViewMac.mm:
23421 (WebCore::ScrollView::scrollView):
23422 (WebCore::ScrollView::update):
23423 (WebCore::ScrollView::inWindow):
23424 * platform/mac/ScrollbarMac.mm:
23425 (WebCore::ScrollbarMac::ScrollbarMac):
23426 (WebCore::ScrollbarMac::~ScrollbarMac):
23427 (WebCore::ScrollbarMac::updateThumbPosition):
23428 (WebCore::ScrollbarMac::updateThumbProportion):
23429 (WebCore::ScrollbarMac::scrollbarHit):
23430 * platform/mac/WidgetMac.mm:
23431 (WebCore::Widget::Widget):
23432 (WebCore::Widget::setEnabled):
23433 (WebCore::Widget::isEnabled):
23434 (WebCore::Widget::setFocus):
23435 (WebCore::Widget::getOuterView):
23436 (WebCore::Widget::paint):
23437 (WebCore::Widget::invalidate):
23438 (WebCore::Widget::invalidateRect):
23439 (WebCore::Widget::setIsSelected):
23440 (WebCore::Widget::releasePlatformWidget):
23441 (WebCore::Widget::retainPlatformWidget):
23442 * platform/qt/WidgetQt.cpp:
23443 (WebCore::WidgetPrivate::WidgetPrivate):
23444 (WebCore::Widget::Widget):
23445 (WebCore::Widget::setFrameGeometry):
23446 (WebCore::Widget::show):
23447 (WebCore::Widget::hide):
23448 (WebCore::Widget::isEnabled):
23449 (WebCore::Widget::setEnabled):
23450 (WebCore::Widget::invalidateRect):
23451 (WebCore::Widget::containingWindow):
23452 * platform/win/WidgetWin.cpp:
23453 (WebCore::Widget::Widget):
23454 * platform/wx/WidgetWx.cpp:
23455 (WebCore::Widget::Widget):
23456 (WebCore::Widget::frameGeometry):
23457 (WebCore::Widget::setFocus):
23458 (WebCore::Widget::setCursor):
23459 (WebCore::Widget::show):
23460 (WebCore::Widget::hide):
23461 (WebCore::Widget::setFrameGeometry):
23462 (WebCore::Widget::setEnabled):
23463 (WebCore::Widget::isEnabled):
23464 (WebCore::Widget::invalidate):
23465 (WebCore::Widget::invalidateRect):
23466 (WebCore::Widget::paint):
23467 * plugins/PluginView.cpp:
23468 (WebCore::PluginView::PluginView):
23469 * plugins/PluginView.h:
23470 (WebCore::PluginView::platformPluginWidget):
23471 * plugins/gtk/PluginViewGtk.cpp:
23472 (WebCore::PluginView::updateWindow):
23473 (WebCore::PluginView::setFocus):
23474 (WebCore::PluginView::show):
23475 (WebCore::PluginView::hide):
23476 (WebCore::PluginView::setParent):
23477 (WebCore::PluginView::setNPWindowRect):
23478 (WebCore::PluginView::setParentVisible):
23479 (WebCore::PluginView::getValue):
23480 (WebCore::PluginView::forceRedraw):
23481 (WebCore::PluginView::init):
23482 * plugins/qt/PluginViewQt.cpp:
23483 (WebCore::PluginView::updateWindow):
23484 (WebCore::PluginView::setFocus):
23485 (WebCore::PluginView::show):
23486 (WebCore::PluginView::hide):
23487 (WebCore::PluginView::setParent):
23488 (WebCore::PluginView::setNPWindowRect):
23489 (WebCore::PluginView::setParentVisible):
23490 (WebCore::PluginView::getValue):
23491 (WebCore::PluginView::~PluginView):
23492 (WebCore::PluginView::init):
23493 * plugins/win/PluginViewWin.cpp:
23494 (WebCore::PluginView::updateWindow):
23495 (WebCore::PluginView::setFocus):
23496 (WebCore::PluginView::show):
23497 (WebCore::PluginView::hide):
23498 (WebCore::PluginView::paint):
23499 (WebCore::PluginView::setParent):
23500 (WebCore::PluginView::setParentVisible):
23501 (WebCore::PluginView::setNPWindowRect):
23502 (WebCore::PluginView::stop):
23503 (WebCore::PluginView::invalidateRect):
23504 (WebCore::PluginView::forceRedraw):
23505 (WebCore::PluginView::~PluginView):
23506 (WebCore::PluginView::init):
23507
weinig@apple.comf713d132008-09-17 20:16:48 +0000235082008-09-17 Sam Weinig <sam@webkit.org>
23509
23510 Fix assert.
23511
23512 * platform/Widget.cpp:
23513 (WebCore::Widget::setParent):
23514
hyatt@apple.comd9242e32008-09-17 18:46:31 +0000235152008-09-17 David Hyatt <hyatt@apple.com>
23516
23517 Beginnings of Widget refactoring (in order to make the mixing of
23518 widgets with and without corresponding native widgets more cross-platform).
23519
23520 This first patch makes the concept of a parent ScrollView cross-platform.
23521
23522 Note the similarity of the show/hide methods on the three PluginViews. This
23523 will be refactored better in a later patch so that they can all share
23524 a base class Widget show/hide method. For now the changes were made
23525 simply to be able to bring WidgetWin's setParent method up into Widget.
23526
23527 Reviewed by Sam Weinig
23528
23529 * WebCore.base.exp:
23530 * platform/ScrollView.h:
23531 * platform/Widget.cpp:
23532 (WebCore::Widget::init):
23533 (WebCore::Widget::setParent):
23534 * platform/Widget.h:
23535 (WebCore::Widget::isSelfVisible):
23536 (WebCore::Widget::isParentVisible):
23537 (WebCore::Widget::isVisible):
23538 (WebCore::Widget::setParentVisible):
23539 (WebCore::Widget::isPluginView):
23540 (WebCore::Widget::parent):
23541 (WebCore::Widget::handleEvent):
23542 (WebCore::Widget::geometryChanged):
23543 * platform/gtk/WidgetGtk.cpp:
23544 (WebCore::Widget::Widget):
23545 * platform/mac/ScrollViewMac.mm:
23546 (WebCore::ScrollView::addChild):
23547 (WebCore::ScrollView::removeChild):
23548 * platform/mac/ScrollbarMac.mm:
23549 (WebCore::ScrollbarMac::~ScrollbarMac):
23550 * platform/mac/WidgetMac.mm:
23551 (WebCore::Widget::Widget):
23552 (WebCore::Widget::~Widget):
23553 * platform/qt/WidgetQt.cpp:
23554 (WebCore::WidgetPrivate::WidgetPrivate):
23555 (WebCore::Widget::Widget):
23556 (WebCore::Widget::topLevel):
23557 * platform/win/ScrollViewWin.cpp:
23558 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
23559 (WebCore::ScrollView::setAncestorVisible):
23560 (WebCore::ScrollView::show):
23561 (WebCore::ScrollView::hide):
23562 * platform/win/WidgetWin.cpp:
23563 (WebCore::Widget::Widget):
23564 (WebCore::Widget::setParent):
23565 * platform/wx/WidgetWx.cpp:
23566 (WebCore::Widget::Widget):
23567 * plugins/PluginView.cpp:
23568 (WebCore::PluginView::PluginView):
23569 * plugins/PluginView.h:
23570 * plugins/gtk/PluginViewGtk.cpp:
23571 (WebCore::PluginView::show):
23572 (WebCore::PluginView::hide):
23573 (WebCore::PluginView::setParentVisible):
23574 * plugins/qt/PluginViewQt.cpp:
23575 (WebCore::PluginView::show):
23576 (WebCore::PluginView::hide):
23577 (WebCore::PluginView::setParentVisible):
23578 * plugins/win/PluginViewWin.cpp:
23579 (WebCore::PluginView::show):
23580 (WebCore::PluginView::hide):
23581 (WebCore::PluginView::setParentVisible):
23582
ap@webkit.org18da1a32008-09-17 16:50:22 +0000235832008-09-17 Alexey Proskuryakov <ap@webkit.org>
23584
23585 Reviewed by Adam Roben.
23586
23587 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
23588
23589 * platform/text/TextCodecICU.cpp:
23590 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
23591
vestbo@webkit.orge48e6362008-09-17 13:29:42 +0000235922008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
23593
23594 Fix the QtWebKit/Mac build
23595
23596 * platform/qt/ScrollViewQt.cpp: add include
23597
ap@webkit.org18da1a32008-09-17 16:50:22 +0000235982008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +000023599
23600 Add a #define to control whether or not to use an NSScroller on Mac.
23601 This ifdef will allow the new NSView-less NSScroller on Mac to be
23602 developed side by side with the current one.
23603
23604 The new scroller paints a debug red if turned on (although due to
23605 Widget issues you won't see anything paint yet).
23606
23607 Reviewed by olliej
23608
23609 * platform/Scrollbar.cpp:
23610 * platform/Scrollbar.h:
23611 * platform/mac/ScrollbarMac.h:
23612 * platform/mac/ScrollbarMac.mm:
23613 * platform/mac/ScrollbarThemeMac.cpp:
23614 (WebCore::ScrollbarThemeMac::paint):
23615 * platform/mac/ScrollbarThemeMac.h:
23616
alp@webkit.orgf06bac02008-09-17 04:30:12 +0000236172008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
23618
23619 Reviewed by Alp Toker.
23620
23621 http://bugs.webkit.org/show_bug.cgi?id=20854
23622 [GTK] Windows can be not realized in ScrollView::update
23623
23624 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
23625
23626 * platform/gtk/ScrollViewGtk.cpp:
23627 (WebCore::ScrollView::update):
23628
alp@webkit.org226f72a2008-09-17 04:22:02 +0000236292008-09-16 Alp Toker <alp@nuanti.com>
23630
23631 Suggested by Dave Hyatt.
23632
23633 Build fix and cleanup. Rename ScrollBar to Scrollbar.
23634
23635 * GNUmakefile.am:
23636 * WebCore.pro:
23637 * WebCore.vcproj/WebCore.vcproj:
23638 * WebCore.xcodeproj/project.pbxproj:
23639 * WebCoreSources.bkl:
23640 * editing/EditorCommand.cpp:
23641 * page/EventHandler.cpp:
23642 * page/gtk/EventHandlerGtk.cpp:
23643 * page/mac/EventHandlerMac.mm:
23644 * page/mac/FrameMac.mm:
23645 * page/qt/EventHandlerQt.cpp:
23646 * page/wx/EventHandlerWx.cpp:
23647 * platform/PopupMenu.h:
23648 * platform/ScrollBar.cpp: Removed.
23649 * platform/ScrollBar.h: Removed.
23650 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
23651 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
23652 * platform/gtk/ScrollbarGtk.cpp:
23653 (ScrollbarGtk::ScrollbarGtk):
23654 * platform/gtk/ScrollbarGtk.h:
23655 * platform/mac/ScrollbarMac.h:
23656 * platform/qt/ScrollViewQt.cpp:
23657 * platform/qt/ScrollbarQt.cpp:
23658 * platform/qt/ScrollbarThemeQt.cpp:
23659 * platform/win/PlatformScrollBar.h:
23660 * platform/win/PopupMenuWin.cpp:
23661 * platform/win/ScrollViewWin.cpp:
23662 * platform/win/ScrollbarThemeWin.cpp:
23663 * platform/wx/ScrollViewWx.cpp:
23664 * platform/wx/TemporaryLinkStubs.cpp:
23665 * rendering/HitTestResult.cpp:
23666 * rendering/RenderLayer.cpp:
23667 * rendering/RenderTextControl.cpp:
23668
hyatt@apple.com7597c172008-09-17 02:15:08 +0000236692008-09-16 David Hyatt <hyatt@apple.com>
23670
hyatt@apple.comfde412d2008-09-17 03:49:48 +000023671 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
23672 it can be called from ScrollbarQt.
23673
23674 * platform/ScrollBar.cpp:
23675 (WebCore::Scrollbar::moveThumb):
23676 (WebCore::Scrollbar::handleMouseMoveEvent):
23677 (WebCore::Scrollbar::handleMousePressEvent):
23678 * platform/ScrollBar.h:
23679 * platform/qt/ScrollViewQt.cpp:
23680 * platform/qt/ScrollbarQt.cpp:
23681 (WebCore::Scrollbar::handleContextMenuEvent):
23682
236832008-09-16 David Hyatt <hyatt@apple.com>
23684
hyatt@apple.com4e3b8602008-09-17 03:17:11 +000023685 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
23686 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
23687 now just use Scrollbar.
23688
23689 Reviewed by Sam Weinig
23690
23691 * GNUmakefile.am:
23692 * WebCore.pro:
23693 * WebCore.vcproj/WebCore.vcproj:
23694 * WebCore.xcodeproj/project.pbxproj:
23695 * page/mac/FrameMac.mm:
23696 * platform/PopupMenu.h:
23697 (WebCore::PopupMenu::scrollbar):
23698 * platform/ScrollBar.cpp:
23699 (WebCore::createNativeScrollbar):
23700 * platform/ScrollBar.h:
23701 * platform/gtk/PlatformScrollBar.h: Removed.
23702 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
23703 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
23704 (gtkScrollEventCallback):
23705 (ScrollbarGtk::ScrollbarGtk):
23706 (ScrollbarGtk::~ScrollbarGtk):
23707 (ScrollbarGtk::updateThumbPosition):
23708 (ScrollbarGtk::updateThumbProportion):
23709 (ScrollbarGtk::setFrameGeometry):
23710 (ScrollbarGtk::geometryChanged):
23711 (ScrollbarGtk::gtkValueChanged):
23712 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
23713 * platform/mac/PlatformScrollBar.h: Removed.
23714 * platform/mac/PlatformScrollBarMac.mm: Removed.
23715 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
23716 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
23717 (-[WebCoreScrollBar initWithScrollbarMac:]):
23718 (-[WebCoreScrollBar detachScrollbarMac]):
23719 (WebCore::Scrollbar::createNativeScrollbar):
23720 (WebCore::ScrollbarMac::ScrollbarMac):
23721 (WebCore::ScrollbarMac::~ScrollbarMac):
23722 (WebCore::ScrollbarMac::updateThumbPosition):
23723 (WebCore::ScrollbarMac::updateThumbProportion):
23724 (WebCore::ScrollbarMac::scrollbarHit):
23725 * platform/qt/PlatformScrollBar.h: Removed.
23726 * platform/qt/PlatformScrollBarQt.cpp: Removed.
23727 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
23728 (WebCore::Scrollbar::handleContextMenuEvent):
23729 * rendering/HitTestResult.cpp:
23730 * rendering/RenderLayer.cpp:
23731 (WebCore::RenderLayer::createScrollbar):
23732 (WebCore::RenderLayer::destroyScrollbar):
23733 * rendering/RenderLayer.h:
23734 * rendering/RenderListBox.cpp:
23735 (WebCore::RenderListBox::~RenderListBox):
23736 (WebCore::RenderListBox::updateFromElement):
23737 (WebCore::RenderListBox::isPointInOverflowControl):
23738 * rendering/RenderObject.h:
23739 * rendering/RenderTextControl.cpp:
23740
237412008-09-16 David Hyatt <hyatt@apple.com>
23742
hyatt@apple.com7597c172008-09-17 02:15:08 +000023743 Make the scrollbar resizer-dodging logic cross-platform in the
23744 Scrollbar class.
23745
23746 Reviewed by Sam Weinig
23747
23748 * platform/ScrollBar.cpp:
23749 (WebCore::Scrollbar::setFrameGeometry):
23750 (WebCore::Scrollbar::setParent):
23751 (WebCore::Scrollbar::windowClipRect):
23752 * platform/ScrollBar.h:
23753 * platform/ScrollView.h:
23754 (WebCore::ScrollView::windowResizerRect):
23755 (WebCore::ScrollView::resizerOverlapsContent):
23756 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
23757 * platform/Widget.h:
23758 (WebCore::Widget::setParent):
23759 * platform/mac/WidgetMac.mm:
23760 (WebCore::Widget::convertToContainingWindow):
23761 * platform/win/PlatformScrollBar.h:
23762 * platform/win/PlatformScrollBarWin.cpp:
23763
mitz@apple.com6d925202008-09-16 17:34:10 +0000237642008-09-16 Dan Bernstein <mitz@apple.com>
23765
mitz@apple.comd9462a52008-09-16 17:40:20 +000023766 Reviewed by Darin Adler.
23767
23768 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
23769 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
23770
23771 Covered by fast/repaint/4776765.html
23772
23773 * rendering/RenderBlock.cpp:
23774 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
23775 did not have layout in the beginning.
23776 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
23777 layout in the beginning, repaint it in its new position, to compensate
23778 for the above (regardless of whether it "moved").
23779 * rendering/RenderObject.cpp:
23780 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
23781 about generalizing this fix in the future.
23782
237832008-09-16 Dan Bernstein <mitz@apple.com>
23784
mitz@apple.com6d925202008-09-16 17:34:10 +000023785 Reviewed by Dave Hyatt.
23786
23787 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
23788 Div does not notice when grandparent changes height
23789
23790 Test: fast/block/basic/quirk-percent-height-grandchild.html
23791
23792 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
23793 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
23794
23795 Test: fast/replaced/percent-height-in-anonymous-block.html
23796
23797 Added a two-way mapping between boxes with percentage heights and
23798 their non-parent ancestors up to the one the height is computed relative
23799 to. In quirks mode (the first bug), this can be any number of containing
23800 block with auto height. In strict mode (the second bug) this can be
23801 the containing block of an anonymous block containing a replaced
23802 element.
23803
23804 * rendering/RenderBlock.cpp:
23805 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
23806 mapping to/from this block to percentage-height descendants.
23807 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
23808 percentage-height descendants (and their containing block ancestry chain
23809 up to this block) for layout. This ensures that those descendants whose
23810 height depends on the height of this block (or an ancestor) are updated.
23811 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
23812 a two-way mapping between this block and the given box.
23813 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
23814 all the mapping to/from this box.
23815 * rendering/RenderBlock.h:
23816 * rendering/RenderBox.cpp:
23817 (WebCore::RenderBox::setStyle): Added calls to
23818 removePercentHeightDescendant() when style changes and the box
23819 previously had a percentage height. An exception is when the style
23820 change does not require layout, in which case the box still has
23821 a percentage height and the mappings are valid. In all other cases,
23822 any required mappings will be (re-)established during layout.
23823 (WebCore::RenderBox::destroy): Added a call to
23824 removePercentHeightDescendant.
23825 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
23826 mode, if a higher-than-parent containing block is affecting the box's
23827 height, creates a mapping between the box and that block.
23828 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
23829 anonymous containing blocks, if any, and when that happens, use
23830 addPercentHeightDescendant() to ensure that the non-anonymous block
23831 is aware of the dependent percent-height box.
23832
alp@webkit.org1dbd9a92008-09-16 16:59:18 +0000238332008-09-16 Dirk Schulze <vbs85@gmx.de>
23834
23835 Reviewed by Oliver Hunt and Alp Toker.
23836
23837 Implemented toDataURL in Cairo. Only PNG support
23838 at the moment.
23839
23840 Qt, Cairo and wx require toDataURL implementations
23841 https://bugs.webkit.org/show_bug.cgi?id=17719
23842
23843 * platform/MIMETypeRegistry.cpp:
23844 (WebCore::initializeSupportedImageMIMETypesForEncoding):
23845 * platform/graphics/cairo/ImageBufferCairo.cpp:
23846 (WebCore::ImageBuffer::ImageBuffer):
23847 (WebCore::writeFunction):
23848 (WebCore::ImageBuffer::toDataURL):
23849
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +0000238502008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
23851
23852 Reviewed by Simon.
23853
23854 Hide unused media element controls in the QtWebKit port
23855
23856 * platform/qt/html4-adjustments-qt.css
23857
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +0000238582008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
23859
23860 Reviewed by Simon.
23861
23862 Fix compilation of the Qt scrollbar code.
23863
23864 * platform/qt/PlatformScrollBarQt.cpp:
23865 (WebCore::scPart):
23866 (WebCore::styleOptionSlider):
23867 (WebCore::thumbLength):
23868 (WebCore::pixelPosToRangeValue):
23869 (WebCore::PlatformScrollbar::handleContextMenuEvent):
23870
treat@webkit.orga35f6b62008-09-16 14:15:29 +0000238712008-09-16 Adam Treat <treat@kde.org>
23872
23873 Reviewed by Anders Carlsson.
23874
23875 Prevent accesses off of the end of the buffer introduced in r36450
23876 and when checking for descriptions of mime. Also, coding style fix.
23877
23878 * plugins/qt/PluginPackageQt.cpp:
23879 (WebCore::PluginPackage::fetchInfo):
23880
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +0000238812008-09-15 Rob Buis <buis@kde.org>
23882
23883 Reviewed by Eric.
23884
23885 https://bugs.webkit.org/show_bug.cgi?id=20634
23886 SVG transform attribute is ignored by <use> in <clipPath>
23887
23888 Transform the paths with the local transform when part
23889 of a clip path.
23890
23891 Test: svg/custom/use-clipped-transform.svg
23892
23893 * svg/SVGClipPathElement.cpp:
23894 (WebCore::SVGClipPathElement::canvasResource):
23895 * svg/SVGStyledTransformableElement.cpp:
23896 (WebCore::SVGStyledTransformableElement::toClipPath):
23897 * svg/SVGStyledTransformableElement.h:
23898
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +0000238992008-09-15 Dave Hyatt <hyatt@apple.com>
23900
23901 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
23902 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
23903
23904 Reviewed by Sam Weinig
23905
23906 * platform/ScrollBar.cpp:
23907 (WebCore::thumbUnderMouse):
23908 (WebCore::Scrollbar::autoscrollPressedPart):
23909 (WebCore::Scrollbar::startTimerIfNeeded):
23910 (WebCore::moveThumb):
23911 (WebCore::Scrollbar::handleMouseMoveEvent):
23912 (WebCore::Scrollbar::handleMousePressEvent):
23913 * platform/ScrollBar.h:
23914 (WebCore::Scrollbar::pressedPos):
23915 (WebCore::Scrollbar::pixelStep):
23916 (WebCore::Scrollbar::setPressedPos):
23917 * platform/ScrollbarTheme.h:
23918 (WebCore::ScrollbarTheme::thumbPosition):
23919 (WebCore::ScrollbarTheme::thumbLength):
23920 (WebCore::ScrollbarTheme::trackPosition):
23921 (WebCore::ScrollbarTheme::trackLength):
23922 * platform/ScrollbarThemeComposite.cpp:
23923 (WebCore::ScrollbarThemeComposite::trackPosition):
23924 * platform/ScrollbarThemeComposite.h:
23925 * platform/qt/PlatformScrollBarQt.cpp:
23926 (WebCore::PlatformScrollbar::PlatformScrollbar):
23927 (WebCore::):
23928 * platform/qt/ScrollbarThemeQt.cpp:
23929 (WebCore::styleOptionSlider):
23930 (WebCore::ScrollbarThemeQt::hitTest):
23931 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
23932 (WebCore::ScrollbarThemeQt::invalidatePart):
23933 (WebCore::ScrollbarThemeQt::thumbPosition):
23934 (WebCore::):
23935 * platform/qt/ScrollbarThemeQt.h:
23936 * platform/win/ScrollbarThemeSafari.cpp:
23937 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
23938 * platform/win/ScrollbarThemeSafari.h:
23939 * platform/win/ScrollbarThemeWin.cpp:
23940 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
23941 * platform/win/ScrollbarThemeWin.h:
23942
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +0000239432008-09-15 David Smith <catfish.man@gmail.com>
23944
23945 Reviewed by Sam Weinig.
23946
23947 https://bugs.webkit.org/show_bug.cgi?id=20180
23948
23949 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
23950
23951 * GNUmakefile.am: Add CSSNthSelector
23952 * WebCore.pro: Add CSSNthSelector
23953 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
23954 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
23955 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
23956 * css/CSSNthSelector.cpp: Added.
23957 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
23958 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
23959 * css/CSSNthSelector.h: Added.
23960 (WebCore::CSSNthSelector::CSSNthSelector):
23961 (WebCore::CSSNthSelector::~CSSNthSelector):
23962 * css/CSSParser.cpp:
23963 (WebCore::CSSParser::createFloatingNthSelector):
23964 * css/CSSParser.h:
23965 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
23966 (WebCore::CSSSelector::CSSSelector):
23967 * css/CSSStyleSelector.cpp:
23968 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
23969
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +0000239702008-09-15 Matt Lilek <webkit@mattlilek.com>
23971
23972 Reviewed by Tim Hatcher.
23973
23974 Clean up some inspector JS callbacks to remove an extra return.
23975
23976 * page/InspectorController.cpp:
23977 (WebCore::hideDOMNodeHighlight):
23978 (WebCore::loaded):
23979 (WebCore::unloading):
23980 (WebCore::attach):
23981 (WebCore::detach):
23982 (WebCore::startDebuggingAndReloadInspectedPage):
23983 (WebCore::stopDebugging):
23984 (WebCore::debuggerAttached):
23985 (WebCore::pauseOnExceptions):
23986 (WebCore::pauseInDebugger):
23987 (WebCore::resumeDebugger):
23988 (WebCore::stepOverStatementInDebugger):
23989 (WebCore::stepIntoStatementInDebugger):
23990 (WebCore::stepOutOfFunctionInDebugger):
23991 (WebCore::isWindowVisible):
23992 (WebCore::closeWindow):
23993
hyatt@apple.com8e809932008-09-16 02:29:09 +0000239942008-09-15 Dave Hyatt <hyatt@apple.com>
23995
23996 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
23997 now share most of their code.
23998
23999 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
24000 also is never used in our code anyway.
24001
24002 Reviewed by Sam Weinig
24003
24004 * WebCore.vcproj/WebCore.vcproj:
24005 * platform/ScrollTypes.h:
24006 (WebCore::):
24007 * platform/ScrollbarThemeComposite.cpp:
24008 (WebCore::ScrollbarThemeComposite::splitTrack):
24009 (WebCore::ScrollbarThemeComposite::thumbLength):
24010 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
24011 * platform/ScrollbarThemeComposite.h:
24012 * platform/mac/PlatformScrollBarMac.mm:
24013 (NSControlSizeForScrollBarControlSize):
24014 * platform/win/PlatformScrollBar.h:
24015 * platform/win/PlatformScrollBarSafari.cpp: Removed.
24016 * platform/win/PlatformScrollBarWin.cpp:
24017 (WebCore::PlatformScrollbar::PlatformScrollbar):
24018 * platform/win/ScrollbarThemeSafari.cpp:
24019 (WebCore::ScrollbarTheme::nativeTheme):
24020 (WebCore::):
24021 (WebCore::scrollbarControlStateFromThemeState):
24022 (WebCore::ScrollbarThemeSafari::hasButtons):
24023 (WebCore::ScrollbarThemeSafari::hasThumb):
24024 (WebCore::buttonRepaintRect):
24025 (WebCore::ScrollbarThemeSafari::backButtonRect):
24026 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
24027 (WebCore::trackRepaintRect):
24028 (WebCore::ScrollbarThemeSafari::trackRect):
24029 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
24030 (WebCore::ScrollbarThemeSafari::paintTrack):
24031 (WebCore::ScrollbarThemeSafari::paintButton):
24032 (WebCore::ScrollbarThemeSafari::paintThumb):
24033 * platform/win/ScrollbarThemeSafari.h:
24034 * platform/win/ScrollbarThemeWin.cpp:
24035 * platform/win/ScrollbarThemeWin.h:
24036
cfleizach@apple.com0ce07032008-09-16 00:17:58 +0000240372008-09-15 Chris Fleizach <cfleizach@apple.com>
24038
24039 Reviewed by Darin Adler, Beth Dakin
24040
24041 <rdar://problem/4003789> Expose lists as AXList
24042 <rdar://problem/5707399> VO: Definition lists not announced in Safari
24043
24044 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
24045 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
24046 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
24047 as does each <dd> tag ("definition")
24048
24049 Test: accessibility/lists.html
24050
24051 * GNUmakefile.am:
24052 * WebCore.pro:
24053 * WebCore.vcproj/WebCore.vcproj:
24054 * WebCore.xcodeproj/project.pbxproj:
24055 * WebCoreSources.bkl:
24056 * page/AXObjectCache.cpp:
24057 * page/AccessibilityList.cpp: Added.
24058 * page/AccessibilityList.h: Added.
24059 * page/AccessibilityObject.h:
24060 * page/AccessibilityRenderObject.cpp:
24061 * page/AccessibilityTable.cpp:
24062 * page/mac/AccessibilityObjectWrapper.mm:
24063 * page/mac/WebCoreViewFactory.h:
24064 * platform/LocalizedStrings.h:
24065 * platform/mac/LocalizedStringsMac.mm:
24066 * platform/qt/Localizations.cpp:
24067
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +0000240682008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
24069
24070 Reviewed by Eric.
24071
24072 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
24073 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
24074
24075 Several renames:
24076 dispatchHTMLEvent -> dispatchEventForType
24077 setHTMLEventListener -> setEventListenerForType
24078 getHTMLEventListener -> eventListenerForType
24079 removeHTMLEventListener -> removeEventListenerForType
24080 isHTMLEventListener -> isAttachedToEventTargetNode
24081 ...
24082
24083 Similar renames for the dispatch/get/set/*Window*Event functions.
24084 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
24085
24086 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
24087 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
24088
24089 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
24090 SVG is able to use the code as well now. This affects most files in html/.
24091
24092 No functional changes.
24093
24094 * GNUmakefile.am:
24095 * WebCore.pro:
24096 * WebCore.vcproj/WebCore.vcproj:
24097 * WebCore.xcodeproj/project.pbxproj:
24098 * bindings/js/JSDOMWindowBase.cpp:
24099 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
24100 (WebCore::JSDOMWindowBase::setListener):
24101 (WebCore::JSDOMWindowBase::getListener):
24102 (WebCore::JSDOMWindowBase::findJSEventListener):
24103 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
24104 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
24105 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
24106 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
24107 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
24108 * bindings/js/JSDOMWindowBase.h:
24109 * bindings/js/JSEventListener.cpp:
24110 (WebCore::JSAbstractEventListener::handleEvent):
24111 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
24112 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
24113 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
24114 (WebCore::JSEventListener::JSEventListener):
24115 (WebCore::JSEventListener::~JSEventListener):
24116 (WebCore::JSLazyEventListener::JSLazyEventListener):
24117 (WebCore::eventParameterName):
24118 (WebCore::JSLazyEventListener::parseCode):
24119 (WebCore::getNodeEventListener):
24120 * bindings/js/JSEventListener.h:
24121 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
24122 (WebCore::JSUnprotectedEventListener::create):
24123 (WebCore::JSEventListener::create):
24124 (WebCore::JSLazyEventListener::):
24125 (WebCore::JSLazyEventListener::create):
24126 * bindings/js/JSEventTargetNode.cpp:
24127 (WebCore::JSEventTargetNode::setListener):
24128 (WebCore::JSEventTargetNode::getListener):
24129 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
24130 * bindings/js/JSSVGLazyEventListener.h: Removed.
24131 * bindings/js/ScriptController.cpp:
24132 (WebCore::ScriptController::createHTMLEventHandler):
24133 (WebCore::ScriptController::createSVGEventHandler):
24134 * dom/Document.cpp:
24135 (WebCore::Document::setFocusedNode):
24136 (WebCore::Document::handleWindowEvent):
24137 (WebCore::Document::setWindowEventListenerForType):
24138 (WebCore::Document::windowEventListenerForType):
24139 (WebCore::Document::removeWindowEventListenerForType):
24140 (WebCore::Document::addWindowEventListener):
24141 (WebCore::Document::hasWindowEventListener):
24142 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
24143 (WebCore::Document::createEventListener):
24144 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
24145 * dom/Document.h:
24146 * dom/EventListener.h:
24147 (WebCore::EventListener::isAttachedToEventTargetNode):
24148 * dom/EventTargetNode.cpp:
24149 (WebCore::EventTargetNode::dispatchFocusEvent):
24150 (WebCore::EventTargetNode::dispatchBlurEvent):
24151 (WebCore::EventTargetNode::dispatchEventForType):
24152 (WebCore::EventTargetNode::removeEventListenerForType):
24153 (WebCore::EventTargetNode::setEventListenerForType):
24154 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
24155 (WebCore::EventTargetNode::eventListenerForType):
24156 * dom/EventTargetNode.h:
24157 * dom/XMLTokenizer.cpp:
24158 (WebCore::XMLTokenizer::notifyFinished):
24159 * editing/ReplaceSelectionCommand.cpp:
24160 (WebCore::ReplacementFragment::ReplacementFragment):
24161 * html/HTMLBodyElement.cpp:
24162 (WebCore::HTMLBodyElement::parseMappedAttribute):
24163 * html/HTMLButtonElement.cpp:
24164 (WebCore::HTMLButtonElement::parseMappedAttribute):
24165 * html/HTMLElement.cpp:
24166 (WebCore::HTMLElement::parseMappedAttribute):
24167 (WebCore::HTMLElement::checkDTD):
24168 * html/HTMLElement.h:
24169 * html/HTMLFormControlElement.cpp:
24170 (WebCore::HTMLFormControlElement::onChange):
24171 * html/HTMLFormElement.cpp:
24172 (WebCore::HTMLFormElement::prepareSubmit):
24173 (WebCore::HTMLFormElement::reset):
24174 (WebCore::HTMLFormElement::parseMappedAttribute):
24175 * html/HTMLFrameElementBase.cpp:
24176 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
24177 * html/HTMLFrameSetElement.cpp:
24178 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
24179 * html/HTMLImageElement.cpp:
24180 (WebCore::HTMLImageElement::parseMappedAttribute):
24181 * html/HTMLImageLoader.cpp:
24182 (WebCore::HTMLImageLoader::dispatchLoadEvent):
24183 * html/HTMLInputElement.cpp:
24184 (WebCore::HTMLInputElement::parseMappedAttribute):
24185 (WebCore::HTMLInputElement::setValueFromRenderer):
24186 (WebCore::HTMLInputElement::onSearch):
24187 * html/HTMLMediaElement.cpp:
24188 (WebCore::HTMLMediaElement::asyncEventTimerFired):
24189 (WebCore::HTMLMediaElement::load):
24190 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
24191 (WebCore::HTMLMediaElement::setReadyState):
24192 (WebCore::HTMLMediaElement::seek):
24193 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
24194 (WebCore::HTMLMediaElement::willSaveToCache):
24195 * html/HTMLObjectElement.cpp:
24196 (WebCore::HTMLObjectElement::parseMappedAttribute):
24197 * html/HTMLScriptElement.cpp:
24198 (WebCore::HTMLScriptElement::parseMappedAttribute):
24199 (WebCore::HTMLScriptElement::dispatchLoadEvent):
24200 (WebCore::HTMLScriptElement::dispatchErrorEvent):
24201 * html/HTMLSelectElement.cpp:
24202 (WebCore::HTMLSelectElement::parseMappedAttribute):
24203 * html/HTMLTextAreaElement.cpp:
24204 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
24205 * html/HTMLTokenizer.cpp:
24206 (WebCore::HTMLTokenizer::notifyFinished):
24207 * page/AccessibilityRenderObject.cpp:
24208 (WebCore::AccessibilityRenderObject::mouseButtonListener):
24209 * page/EventHandler.cpp:
24210 (WebCore::EventHandler::canMouseDownStartSelect):
24211 (WebCore::EventHandler::canMouseDragExtendSelect):
24212 * page/Frame.cpp:
24213 (WebCore::Frame::sendScrollEvent):
24214 * page/Page.cpp:
24215 (WebCore::networkStateChanged):
24216 * rendering/RenderListBox.cpp:
24217 (WebCore::RenderListBox::valueChanged):
24218 * rendering/RenderTextControl.cpp:
24219 (WebCore::RenderTextControl::selectionChanged):
24220 * svg/SVGDocumentExtensions.cpp:
24221 * svg/SVGDocumentExtensions.h:
24222 * svg/SVGElement.cpp:
24223 (WebCore::SVGElement::parseMappedAttribute):
24224 (WebCore::SVGElement::finishParsingChildren):
24225 * svg/SVGElement.h:
24226 * svg/SVGSVGElement.cpp:
24227 (WebCore::SVGSVGElement::parseMappedAttribute):
24228 * svg/SVGSVGElement.h:
24229
hyatt@apple.com63739ce2008-09-15 23:44:10 +0000242302008-09-15 Dave Hyatt <hyatt@apple.com>
24231
24232 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
24233 need to be converted.
24234
24235 Reviewed by Sam Weinig
24236
24237 * platform/ScrollBar.cpp:
24238 (WebCore::Scrollbar::Scrollbar):
24239 (WebCore::Scrollbar::updateThumbPosition):
24240 (WebCore::Scrollbar::updateThumbProportion):
24241 (WebCore::Scrollbar::autoscrollPressedPart):
24242 (WebCore::Scrollbar::startTimerIfNeeded):
24243 * platform/ScrollBar.h:
24244 * platform/ScrollbarTheme.h:
24245 (WebCore::ScrollbarTheme::invalidateParts):
24246 * platform/ScrollbarThemeComposite.cpp:
24247 (WebCore::ScrollbarThemeComposite::hitTest):
24248 (WebCore::ScrollbarThemeComposite::invalidatePart):
24249 (WebCore::ScrollbarThemeComposite::thumbPosition):
24250 (WebCore::ScrollbarThemeComposite::thumbLength):
24251 (WebCore::ScrollbarThemeComposite::trackLength):
24252 * platform/ScrollbarThemeComposite.h:
24253 * platform/win/PlatformScrollBarSafari.cpp:
24254 (WebCore::PlatformScrollbar::PlatformScrollbar):
24255 * platform/win/PlatformScrollBarWin.cpp:
24256 (WebCore::PlatformScrollbar::PlatformScrollbar):
24257
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +0000242582008-09-15 David Smith <catfish.man@gmail.com>
24259
24260 "Just do it"'d by Mark Rowe
24261
24262 https://bugs.webkit.org/show_bug.cgi?id=20856
24263 Add missing license header
24264
24265 * dom/NodeRenderStyle.h:
24266
dino@apple.combf52b682008-09-15 21:31:43 +0000242672008-09-15 Dean Jackson <dino@apple.com>
24268
24269 Reviewed by Tim Hatcher.
24270
dino@apple.com3db0b8f2008-09-15 21:52:23 +000024271 Add default constructor for ShadowData
24272 https://bugs.webkit.org/show_bug.cgi?id=20757
24273
24274 Test: transitions/shadow.html
24275
24276 * rendering/style/RenderStyle.h:
24277
242782008-09-15 Dean Jackson <dino@apple.com>
24279
24280 Reviewed by Tim Hatcher.
24281
dino@apple.com03abdce2008-09-15 21:40:52 +000024282 RenderStyle should update keyframes.
24283 http://bugs.webkit.org/show_bug.cgi?id=20756
24284
24285 * rendering/style/RenderStyle.cpp:
24286 (WebCore::StyleRareNonInheritedData::updateKeyframes):
24287
242882008-09-15 Dean Jackson <dino@apple.com>
24289
24290 Reviewed by Tim Hatcher.
24291
dino@apple.combf52b682008-09-15 21:31:43 +000024292 Unnecessary ASSERT in ImplicitAnimation destructor.
24293 https://bugs.webkit.org/show_bug.cgi?id=20817
24294
24295 * page/animation/ImplicitAnimation.cpp:
24296 (WebCore::ImplicitAnimation::~ImplicitAnimation):
24297
treat@webkit.org7e5abc22008-09-15 20:53:49 +0000242982008-09-15 Adam Treat <treat@kde.org>
24299
24300 Reviewed by Simon.
24301
24302 Fix plugin extension info. It was returning the mimetype where the
24303 extension was given.
24304
24305 * plugins/qt/PluginPackageQt.cpp:
24306 (WebCore::PluginPackage::fetchInfo):
24307
dino@apple.comecc18dc2008-09-15 20:40:28 +0000243082008-09-15 Dean Jackson <dino@apple.com>
24309
24310 Reviewed by Tim Hatcher
24311
24312 Coding style violation!!!! Cleanup AnimationBase.cpp
24313
24314 * page/animation/AnimationBase.cpp:
24315 (WebCore::blendFunc):
24316
hyatt@apple.comf4a9d932008-09-15 20:03:25 +0000243172008-09-15 David Hyatt <hyatt@apple.com>
24318
24319 Move all hit testing code for scrollbars into the base class. Refactor
24320 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
24321 functions.
24322
24323 No platform is using this code yet. Although it has been moved and compiles
24324 (even on Mac), it is not being used on any platform.
24325
24326 Reviewed by Sam Weinig
24327
24328 * platform/ScrollBar.cpp:
24329 (WebCore::Scrollbar::autoscrollPressedPart):
24330 (WebCore::Scrollbar::startTimerIfNeeded):
24331 (WebCore::Scrollbar::handleMouseMoveEvent):
24332 (WebCore::Scrollbar::handleMouseOutEvent):
24333 (WebCore::Scrollbar::handleMouseReleaseEvent):
24334 (WebCore::Scrollbar::handleMousePressEvent):
24335 * platform/ScrollBar.h:
24336 (WebCore::Scrollbar::handleContextMenuEvent):
24337 * platform/ScrollbarTheme.h:
24338 (WebCore::ScrollbarTheme::hitTest):
24339 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
24340 (WebCore::ScrollbarTheme::invalidatePart):
24341 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
24342 (WebCore::ScrollbarTheme::centerOnThumb):
24343 (WebCore::ScrollbarTheme::thumbPosition):
24344 (WebCore::ScrollbarTheme::thumbLength):
24345 (WebCore::ScrollbarTheme::trackLength):
24346 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
24347 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
24348 * platform/Widget.h:
24349 (WebCore::Widget::parent):
24350 * platform/mac/PlatformScrollBar.h:
24351 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
24352 (WebCore::PlatformScrollbar::handleMouseOutEvent):
24353 (WebCore::PlatformScrollbar::handleMousePressEvent):
24354 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
24355 * platform/mac/WidgetMac.mm:
24356 (WebCore::Widget::convertFromContainingWindow):
24357 * platform/win/ScrollbarThemeWin.cpp:
24358 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
24359 * platform/win/ScrollbarThemeWin.h:
24360
mitz@apple.comd17dc392008-09-15 18:48:20 +0000243612008-09-15 Dan Bernstein <mitz@apple.com>
24362
24363 Reviewed by Sam Weinig.
24364
24365 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
24366
24367 Cache the next breakable position for text nodes in InlineIterator.
24368
24369 * rendering/bidi.cpp:
24370 (WebCore::InlineIterator::InlineIterator):
24371 (WebCore::InlineIterator::increment):
24372 (WebCore::RenderBlock::findNextLineBreak):
24373
simon.fraser@apple.comda604642008-09-15 17:10:48 +0000243742008-09-15 Simon Fraser <simon.fraser@apple.com>
24375
24376 Reviewed by Dan Bernstein
24377
24378 Fix assertion and integral pixel issue when creating subimages.
24379 https://bugs.webkit.org/show_bug.cgi?id=20786
24380
24381 * platform/graphics/cg/ImageCG.cpp:
24382 (WebCore::BitmapImage::draw):
24383
vestbo@webkit.orge7eda302008-09-15 12:43:37 +0000243842008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
24385
24386 Reviewed by Simon.
24387
24388 Implment seek() and clean up and improve debugging output
24389
24390 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
24391 (debugMediaObject):
24392 (WebCore::MediaPlayerPrivate::seek):
24393 (WebCore::MediaPlayerPrivate::setVolume):
24394 (WebCore::MediaPlayerPrivate::setMuted):
24395 (WebCore::MediaPlayerPrivate::updateStates):
24396 (WebCore::MediaPlayerPrivate::naturalSize):
24397 (WebCore::MediaPlayerPrivate::paint):
24398 (WebCore::MediaPlayerPrivate::stateChanged):
24399 (WebCore::MediaPlayerPrivate::tick):
24400
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +0000244012008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
24402
24403 Reviewed by Simon.
24404
24405 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
24406
24407 m_mediaObject, m_audioOutput, m_videoWidget get created in the
24408 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
24409 only check if we use the MediaPlayerPrivate after it has been deleted.
24410
24411 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
24412
24413 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
24414 (WebCore::MediaPlayerPrivate::play):
24415 (WebCore::MediaPlayerPrivate::setVolume):
24416 (WebCore::MediaPlayerPrivate::updateStates):
24417
andersca@apple.com18d62682008-09-15 11:35:22 +0000244182008-09-15 Anders Carlsson <andersca@apple.com>
24419
24420 Reviewed by Maciej.
24421
24422 <rdar://problem/6163988>
24423 https://bugs.webkit.org/show_bug.cgi?id=20457
24424 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
24425
24426 Check the width and height and throw an exception if any of them are 0.
24427
24428 * html/CanvasRenderingContext2D.cpp:
24429 (WebCore::CanvasRenderingContext2D::createPattern):
24430
vestbo@webkit.org3a27e182008-09-15 11:28:59 +0000244312008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
24432
24433 Reviewed by Simon.
24434
24435 Render media element controls with antialiasing enabled
24436
24437 * platform/qt/RenderThemeQt.cpp:
24438 (WebCore::RenderThemeQt::paintMediaMuteButton):
24439 (WebCore::RenderThemeQt::paintMediaPlayButton):
24440 (WebCore::RenderThemeQt::paintMediaSliderTrack):
24441 (WebCore::RenderThemeQt::paintMediaSliderThumb):
24442
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +0000244432008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
24444
24445 Reviewed by Simon.
24446
24447 Upon non fatal error, switch to the pause state (so that playback can continue)
24448
24449 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
24450 (WebCore::MediaPlayerPrivate::updateStates):
24451
vestbo@webkit.org12a59572008-09-15 11:16:13 +0000244522008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
24453
24454 Reviewed by Simon.
24455
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +000024456 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
24457
24458 * WebCore.pro:
24459
244602008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
24461
24462 Reviewed by Simon.
24463
vestbo@webkit.org12a59572008-09-15 11:16:13 +000024464 Make QtInstance::create() private and fix caching
24465
24466 * bindings/js/ScriptControllerQt.cpp:
24467 (WebCore::ScriptController::createScriptInstanceForWidget):
24468 * bridge/qt/qt_instance.cpp:
24469 (JSC::Bindings::QtInstance::getQtInstance):
24470 (JSC::Bindings::QtInstance::getRuntimeObject):
24471 * bridge/qt/qt_instance.h:
24472 (JSC::Bindings::QtInstance::create):
24473 * bridge/qt/qt_runtime.cpp:
24474 (JSC::Bindings::convertQVariantToValue):
24475 (JSC::Bindings::QtConnectionObject::execute):
24476
dsmith@webkit.orgaba15862008-09-15 08:45:35 +0000244772008-09-15 David Smith <catfish.man@gmail.com>
24478
24479 Reviewed by Dave Hyatt.
24480
24481 https://bugs.webkit.org/show_bug.cgi?id=20180
24482
24483 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
24484 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
24485 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
24486
24487 * css/CSSStyleSelector.cpp:
24488 (WebCore::CSSStyleSelector::CSSStyleSelector):
24489 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
24490 * css/CSSStyleSelector.h:
24491
hyatt@apple.com065494e2008-09-15 06:33:40 +0000244922008-09-14 Dave Hyatt <hyatt@apple.com>
24493
24494 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
24495 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
24496
24497 Reviewed by Sam Weinig
24498
24499 * platform/ScrollBar.h:
24500 (WebCore::Scrollbar::client):
24501 (WebCore::Scrollbar::currentPos):
24502 (WebCore::Scrollbar::totalSize):
24503 * platform/ScrollbarTheme.h:
24504 * platform/ScrollbarThemeComposite.cpp:
24505 (WebCore::pageForScrollView):
24506 (WebCore::ScrollbarThemeComposite::paint):
24507 * platform/ScrollbarThemeComposite.h:
24508 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
24509 * platform/win/PlatformScrollBar.h:
24510 * platform/win/PlatformScrollBarSafari.cpp:
24511 * platform/win/PlatformScrollBarWin.cpp:
24512 * platform/win/ScrollbarThemeSafari.h:
24513 (WebCore::ScrollbarThemeSafari::hasButtons):
24514 (WebCore::ScrollbarThemeSafari::hasThumb):
24515 (WebCore::ScrollbarThemeSafari::backButtonRect):
24516 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
24517 (WebCore::ScrollbarThemeSafari::trackRect):
24518 (WebCore::ScrollbarThemeSafari::splitTrack):
24519 (WebCore::ScrollbarThemeSafari::paintTrack):
24520 (WebCore::ScrollbarThemeSafari::paintButton):
24521 (WebCore::ScrollbarThemeSafari::paintThumb):
24522 * platform/win/ScrollbarThemeWin.cpp:
24523 (WebCore::isRunningOnVistaOrLater):
24524 (WebCore::checkAndInitScrollbarTheme):
24525 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
24526 (WebCore::ScrollbarThemeWin::themeChanged):
24527 (WebCore::ScrollbarThemeWin::hasThumb):
24528 (WebCore::ScrollbarThemeWin::backButtonRect):
24529 (WebCore::ScrollbarThemeWin::forwardButtonRect):
24530 (WebCore::ScrollbarThemeWin::trackRect):
24531 (WebCore::ScrollbarThemeWin::splitTrack):
24532 (WebCore::ScrollbarThemeWin::paintTrack):
24533 (WebCore::ScrollbarThemeWin::paintButton):
24534 (WebCore::gripperRect):
24535 (WebCore::paintGripper):
24536 (WebCore::ScrollbarThemeWin::paintThumb):
24537 (WebCore::ScrollbarThemeWin::thumbPosition):
24538 (WebCore::ScrollbarThemeWin::thumbLength):
24539 (WebCore::ScrollbarThemeWin::trackLength):
24540 * platform/win/ScrollbarThemeWin.h:
24541 (WebCore::ScrollbarThemeWin::hasButtons):
24542 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
24543
timothy@apple.comd91172c2008-09-15 05:38:00 +0000245442008-09-14 Anthony Ricaud <rik24d@gmail.com>
24545
24546 Moving all resource graphs under the same container for future scalable feature.
24547 This is a speedup on resize but maybe a loss on changing the sorting function.
24548
24549 https://bugs.webkit.org/show_bug.cgi?id=20555
24550
24551 Reviewed by Timothy Hatcher.
24552
24553 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
24554 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
24555 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
24556
ap@webkit.orga14074b2008-09-15 04:52:44 +0000245572008-09-14 Alexey Proskuryakov <ap@webkit.org>
24558
24559 Reviewed by Maciej Stachowiak.
24560
24561 https://bugs.webkit.org/show_bug.cgi?id=20738
24562 compareBoundaryPoints gives incorrect results
24563
24564 Test: fast/dom/Range/compareBoundaryPoints-2.html
24565
24566 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
24567 and END_TO_START.
24568 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
24569
mjs@apple.com285bdcf2008-09-15 02:55:16 +0000245702008-09-14 Maciej Stachowiak <mjs@apple.com>
24571
24572 Unreviewed build fix.
24573
mjs@apple.comcbb31e52008-09-15 03:10:35 +000024574 Trying again.
24575
24576 * bindings/js/JSQuarantinedObjectWrapper.cpp:
24577 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
24578
245792008-09-14 Maciej Stachowiak <mjs@apple.com>
24580
24581 Unreviewed build fix.
24582
mjs@apple.com285bdcf2008-09-15 02:55:16 +000024583 Blind attempt to fix build. Correct parameters for hasInstance.
24584
24585 * bindings/js/JSQuarantinedObjectWrapper.cpp:
24586 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
24587 * bindings/js/JSQuarantinedObjectWrapper.h:
24588
mitz@apple.come85f7362008-09-15 02:23:24 +0000245892008-09-14 Dan Bernstein <mitz@apple.com>
24590
24591 Rubber-stamped by Sam Weinig.
24592
24593 - revert <http://trac.webkit.org/changeset/36382> because it exposed
24594 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
24595 on Tiger.
24596
24597 * platform/graphics/mac/FontCacheMac.mm:
24598 (WebCore::FontCache::getFontDataForCharacters):
24599 (WebCore::FontCache::getLastResortFallbackFont):
24600
hyatt@apple.comf18feec2008-09-15 00:56:11 +0000246012008-09-14 Dave Hyatt <hyatt@apple.com>
24602
24603 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
24604 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
24605 theme.
24606
24607 Reviewed by Sam Weinig
24608
24609 * WebCore.vcproj/WebCore.vcproj:
24610 * platform/win/ScrollbarThemeSafari.h:
24611 * platform/win/ScrollbarThemeWin.h:
24612
alp@webkit.orgd694e942008-09-15 00:20:15 +0000246132008-09-14 Alp Toker <alp@nuanti.com>
24614
24615 https://bugs.webkit.org/show_bug.cgi?id=20320
24616 [GTK] A white rectangle is visible behind widgets with rounded corners
24617
24618 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
24619 style exempt).
24620
24621 Requested by Michael Monreal.
24622
24623 * platform/gtk/RenderThemeGtk.cpp:
24624 (WebCore::RenderThemeGtk::RenderThemeGtk):
24625 * platform/gtk/gtk2drawing.c:
24626 (moz_gtk_set_widget_name):
24627 (ensure_window_widget):
24628 (setup_widget_prototype):
24629 (ensure_button_arrow_widget):
24630 (moz_gtk_get_combo_box_inner_button):
24631 (moz_gtk_get_combo_box_button_inner_widgets):
24632 (ensure_combo_box_widgets):
24633 (moz_gtk_get_combo_box_entry_inner_widgets):
24634 (moz_gtk_get_combo_box_entry_arrow):
24635 (ensure_combo_box_entry_widgets):
24636 (ensure_toolbar_widget):
24637 (ensure_tooltip_widget):
24638 (ensure_menu_bar_widget):
24639 (ensure_menu_bar_item_widget):
24640 (ensure_menu_popup_widget):
24641 (ensure_menu_item_widget):
24642 (ensure_image_menu_item_widget):
24643 (ensure_menu_separator_widget):
24644 (ensure_check_menu_item_widget):
24645 (ensure_tree_header_cell_widget):
24646 (ensure_scrolled_window_widget):
24647 (moz_gtk_button_paint):
24648 (moz_gtk_init):
24649 (moz_gtk_button_get_inner_border):
24650 (moz_gtk_toggle_paint):
24651 (calculate_button_inner_rect):
24652 (calculate_arrow_rect):
24653 (moz_gtk_scrollbar_button_paint):
24654 (moz_gtk_scrollbar_thumb_paint):
24655 (moz_gtk_caret_paint):
24656 (moz_gtk_entry_paint):
24657 (moz_gtk_treeview_paint):
24658 (moz_gtk_tree_header_cell_paint):
24659 (moz_gtk_combo_box_paint):
24660 (moz_gtk_downarrow_paint):
24661 (moz_gtk_combo_box_entry_button_paint):
24662 (moz_gtk_toolbar_paint):
24663 (moz_gtk_tab_scroll_arrow_paint):
24664 (moz_gtk_menu_bar_paint):
24665 (moz_gtk_menu_item_paint):
24666 (moz_gtk_get_widget_border):
24667 (moz_gtk_get_combo_box_entry_button_size):
24668 (moz_gtk_get_tab_scroll_arrow_size):
24669 (moz_gtk_get_downarrow_size):
24670 (moz_gtk_images_in_menus):
24671 (moz_gtk_widget_paint):
24672 (moz_gtk_shutdown):
24673 * platform/gtk/gtkdrawing.h:
24674
hyatt@apple.com3ab48302008-09-14 23:55:16 +0000246752008-09-14 David Hyatt <hyatt@apple.com>
24676
24677 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
24678 painting. Mac and Gtk themes don't do anything and just let the
24679 underlying widget paint. Qt now uses the theme to paint. wx doesn't
24680 do anything yet.
24681
24682 Reviewed by Sam Weinig
24683
24684 * platform/ScrollBar.cpp:
24685 (WebCore::Scrollbar::paint):
24686 * platform/ScrollBar.h:
24687 (WebCore::Scrollbar::value):
24688 (WebCore::Scrollbar::visibleSize):
24689 (WebCore::Scrollbar::maximum):
24690 (WebCore::Scrollbar::lineStep):
24691 (WebCore::Scrollbar::pageStep):
24692 (WebCore::Scrollbar::pixelStep):
24693 (WebCore::Scrollbar::pressedPart):
24694 (WebCore::Scrollbar::hoveredPart):
24695 (WebCore::Scrollbar::theme):
24696 * platform/ScrollbarTheme.h:
24697 (WebCore::ScrollbarTheme::paint):
24698 (WebCore::ScrollbarTheme::scrollbarThickness):
24699 (WebCore::ScrollbarTheme::supportsControlTints):
24700 (WebCore::ScrollbarTheme::themeChanged):
24701 * platform/gtk/PlatformScrollBar.h:
24702 * platform/gtk/PlatformScrollBarGtk.cpp:
24703 * platform/mac/PlatformScrollBar.h:
24704 * platform/mac/PlatformScrollBarMac.mm:
24705 * platform/qt/PlatformScrollBar.h:
24706 * platform/qt/PlatformScrollBarQt.cpp:
24707 * platform/qt/ScrollbarThemeQt.cpp:
24708 (WebCore::styleOptionSlider):
24709 * platform/qt/ScrollbarThemeQt.h:
24710 (WebCore::ScrollbarThemeQt::paint):
24711 * platform/win/PlatformScrollBarSafari.cpp:
24712 (WebCore::PlatformScrollbar::paint):
24713 * platform/win/ScrollbarThemeSafari.h:
24714 (WebCore::ScrollbarThemeSafari::supportsControlTints):
24715 * platform/wx/PlatformScrollBar.h:
24716 * platform/wx/TemporaryLinkStubs.cpp:
24717 (PlatformScrollbar::~PlatformScrollbar):
24718
weinig@apple.comcb93e262008-09-14 21:36:11 +0000247192008-09-14 Sam Weinig <sam@webkit.org>
24720
weinig@apple.com6ef2b872008-09-14 22:15:28 +000024721 Qt build fix.
24722
24723 * platform/qt/PlatformScrollBarQt.cpp:
24724
247252008-09-14 Sam Weinig <sam@webkit.org>
24726
weinig@apple.com064861a2008-09-14 22:12:49 +000024727 Reviewed by Mark Rowe.
24728
24729 Remove extraneous semicolons.
24730
24731 * bindings/scripts/CodeGeneratorObjC.pm:
24732 * html/HTMLLinkElement.cpp:
24733 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
24734 * html/HTMLScriptElement.cpp:
24735 (WebCore::HTMLScriptElement::charsetAttributeValue):
24736 (WebCore::HTMLScriptElement::typeAttributeValue):
24737 * platform/graphics/qt/GradientQt.cpp:
24738 (WebCore::Gradient::platformGradient):
24739 * platform/qt/ScrollViewQt.cpp:
24740 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
24741 * platform/win/ScrollViewWin.cpp:
24742 (WebCore::ScrollView::updateScrollbars):
24743 * rendering/RenderBlock.cpp:
24744 (WebCore::RenderBlock::paintEllipsisBoxes):
24745 * svg/SVGPathSegList.cpp:
24746 (WebCore::SVGPathSegList::toPathData):
24747
247482008-09-14 Sam Weinig <sam@webkit.org>
24749
weinig@apple.comcb93e262008-09-14 21:36:11 +000024750 Qt build fix.
24751
weinig@apple.com31311a62008-09-14 22:00:15 +000024752 * platform/qt/ScrollViewQt.cpp:
24753 (WebCore::ScrollView::updateScrollbars):
24754
247552008-09-14 Sam Weinig <sam@webkit.org>
24756
24757 Qt build fix.
24758
weinig@apple.comcb93e262008-09-14 21:36:11 +000024759 * platform/qt/PlatformScrollBarQt.cpp:
24760 (WebCore::PlatformScrollbar::PlatformScrollbar):
24761 (WebCore::PlatformScrollbar::paint):
24762
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +0000247632008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
24764
24765 Gtk build fix, not reviewed.
24766
24767 * platform/gtk/PlatformScrollBarGtk.cpp:
24768 (PlatformScrollbar::PlatformScrollbar):
24769 * platform/gtk/ScrollViewGtk.cpp:
24770 (WebCore::ScrollView::updateScrollbars):
24771
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +0000247722008-09-13 Dave Hyatt <hyatt@apple.com>
24773
hyatt@apple.com21ab7c62008-09-14 01:26:22 +000024774 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
24775 to set the dimensions of a scrollbar.
24776
24777 Reviewed by Sam Weinig
24778
24779 * platform/ScrollBar.h:
24780 * platform/gtk/PlatformScrollBar.h:
24781 * platform/gtk/PlatformScrollBarGtk.cpp:
24782 (PlatformScrollbar::setFrameGeometry):
24783 * platform/gtk/ScrollViewGtk.cpp:
24784 (WebCore::ScrollView::updateScrollbars):
24785 * platform/mac/PlatformScrollBarMac.mm:
24786 * platform/qt/PlatformScrollBarQt.cpp:
24787 * platform/qt/ScrollViewQt.cpp:
24788 (WebCore::ScrollView::updateScrollbars):
24789 * platform/win/PlatformScrollBar.h:
24790 * platform/win/PlatformScrollBarSafari.cpp:
24791 (WebCore::PlatformScrollbar::PlatformScrollbar):
24792 (WebCore::PlatformScrollbar::setFrameGeometry):
24793 * platform/win/PlatformScrollBarWin.cpp:
24794 (WebCore::PlatformScrollbar::PlatformScrollbar):
24795 (WebCore::PlatformScrollbar::setFrameGeometry):
24796 * platform/win/PopupMenuWin.cpp:
24797 (WebCore::PopupWndProc):
24798 * platform/win/ScrollViewWin.cpp:
24799 (WebCore::ScrollView::updateScrollbars):
24800 * platform/wx/PlatformScrollBar.h:
24801 * platform/wx/TemporaryLinkStubs.cpp:
24802 (PlatformScrollbar::updateThumbProportion):
24803 * rendering/RenderLayer.cpp:
24804 (WebCore::RenderLayer::positionOverflowControls):
24805 * rendering/RenderListBox.cpp:
24806 (WebCore::RenderListBox::paintScrollbar):
24807
248082008-09-13 Dave Hyatt <hyatt@apple.com>
24809
hyatt@apple.comed9485a2008-09-14 01:06:57 +000024810 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
24811
24812 Reviewed by Sam Weinig
24813
24814 * platform/ScrollBar.h:
24815 * platform/gtk/PlatformScrollBar.h:
24816 * platform/gtk/PlatformScrollBarGtk.cpp:
24817 * platform/mac/PlatformScrollBar.h:
24818 * platform/mac/PlatformScrollBarMac.mm:
24819 * platform/win/PlatformScrollBar.h:
24820 * platform/win/PlatformScrollBarSafari.cpp:
24821 * platform/win/PlatformScrollBarWin.cpp:
24822 * platform/wx/PlatformScrollBar.h:
24823 * platform/wx/TemporaryLinkStubs.cpp:
24824 (PlatformScrollbar::~PlatformScrollbar):
24825
248262008-09-13 Dave Hyatt <hyatt@apple.com>
24827
hyatt@apple.com64d98032008-09-14 00:58:29 +000024828 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
24829 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
24830
24831 Reviewed by Sam Weinig
24832
24833 * platform/ScrollBar.h:
24834 * platform/gtk/PlatformScrollBar.h:
24835 * platform/gtk/PlatformScrollBarGtk.cpp:
24836 * platform/mac/PlatformScrollBar.h:
24837 * platform/mac/PlatformScrollBarMac.mm:
24838 * platform/win/PlatformScrollBarSafari.cpp:
24839 * platform/win/PlatformScrollBarWin.cpp:
24840 * platform/wx/PlatformScrollBar.h:
24841 * platform/wx/TemporaryLinkStubs.cpp:
24842 (PlatformScrollbar::~PlatformScrollbar):
24843
248442008-09-13 Dave Hyatt <hyatt@apple.com>
24845
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000024846 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
24847
24848 Reviewed by Sam Weinig
24849
24850 * platform/ScrollBar.cpp:
24851 (WebCore::Scrollbar::~Scrollbar):
24852 * platform/ScrollBar.h:
24853 * platform/qt/PlatformScrollBarQt.cpp:
24854 (WebCore::PlatformScrollbar::~PlatformScrollbar):
24855 * platform/win/PlatformScrollBarSafari.cpp:
24856 (WebCore::PlatformScrollbar::~PlatformScrollbar):
24857 * platform/win/PlatformScrollBarWin.cpp:
24858 (WebCore::PlatformScrollbar::~PlatformScrollbar):
24859
hyatt@apple.coma3c52492008-09-13 23:57:08 +0000248602008-09-13 David Hyatt <hyatt@apple.com>
24861
24862 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
24863 function on Scrollbar. Fixes Qt build bustage.
24864
24865 Reviewed by Sam Weinig
24866
24867 * platform/ScrollBar.h:
24868 (WebCore::Scrollbar::orientation):
24869 (WebCore::Scrollbar::value):
24870 (WebCore::Scrollbar::maximum):
24871 * platform/qt/PlatformScrollBar.h:
24872
mitz@apple.comb3d22882008-09-13 23:06:59 +0000248732008-09-13 Dan Bernstein <mitz@apple.com>
24874
24875 Reviewed by Sam Weinig.
24876
24877 - use the LastResort font for missing glyphs instead of showing the
24878 primary font's missing glyph
24879
24880 Test: platform/mac/fast/text/last-resort-font.html
24881
24882 * platform/graphics/mac/FontCacheMac.mm:
24883 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
24884 last resort font if a substitute font cannot be found.
24885 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
24886 comment (the user's preferred standard font is included in the search
24887 thanks to code in FontCache::getFontData()) and changed to return the
24888 LastResort font.
24889
hyatt@apple.com0c378c72008-09-13 22:59:05 +0000248902008-09-13 Dave Hyatt <hyatt@apple.com>
24891
24892 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
24893 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
24894 patches will move rendering and hit testing functionality into this class.
24895
24896 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
24897 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
24898
24899 Reviewed by Sam Weinig
24900
24901 * GNUmakefile.am:
24902 * WebCore.pro:
24903 * WebCore.vcproj/WebCore.vcproj:
24904 * platform/ScrollBar.cpp:
24905 (WebCore::Scrollbar::Scrollbar):
24906 * platform/ScrollBar.h:
24907 * platform/ScrollbarTheme.h: Added.
24908 (WebCore::ScrollbarTheme::~ScrollbarTheme):
24909 (WebCore::ScrollbarTheme::scrollbarThickness):
24910 (WebCore::ScrollbarTheme::themeChanged):
24911 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
24912 (WebCore::ScrollbarTheme::nativeTheme):
24913 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
24914 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
24915 * platform/gtk/ScrollbarThemeGtk.h: Added.
24916 * platform/mac/PlatformScrollBar.h:
24917 * platform/mac/ScrollbarThemeMac.cpp: Added.
24918 (WebCore::ScrollbarTheme::nativeTheme):
24919 (WebCore::):
24920 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
24921 (WebCore::ScrollbarThemeMac::scrollbarThickness):
24922 * platform/mac/ScrollbarThemeMac.h: Added.
24923 * platform/qt/PlatformScrollBarQt.cpp:
24924 * platform/qt/ScrollbarThemeQt.cpp: Added.
24925 (WebCore::ScrollbarTheme::nativeTheme):
24926 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
24927 (WebCore::ScrollbarThemeQt::scrollbarThickness):
24928 * platform/qt/ScrollbarThemeQt.h: Added.
24929 * platform/win/PlatformScrollBar.h:
24930 * platform/win/PlatformScrollBarSafari.cpp:
24931 * platform/win/PlatformScrollBarWin.cpp:
24932 * platform/win/PopupMenuWin.cpp:
24933 (WebCore::PopupMenu::calculatePositionAndSize):
24934 * platform/win/ScrollViewWin.cpp:
24935 (WebCore::ScrollView::updateScrollbars):
24936 (WebCore::ScrollView::themeChanged):
24937 * platform/win/ScrollbarThemeSafari.cpp: Added.
24938 (WebCore::ScrollbarTheme::nativeTheme):
24939 (WebCore::):
24940 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
24941 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
24942 * platform/win/ScrollbarThemeSafari.h: Added.
24943 * platform/win/ScrollbarThemeWin.cpp: Added.
24944 (WebCore::ScrollbarTheme::nativeTheme):
24945 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
24946 (WebCore::ScrollbarThemeWin::scrollbarThickness):
24947 (WebCore::ScrollbarThemeWin::themeChanged):
24948 * platform/win/ScrollbarThemeWin.h: Added.
24949 * platform/wx/TemporaryLinkStubs.cpp:
24950 (ScrollbarTheme::nativeTheme):
24951 * rendering/RenderLayer.cpp:
24952 (WebCore::scrollCornerRect):
24953 * rendering/RenderTextControl.cpp:
24954 (WebCore::RenderTextControl::calcHeight):
24955 (WebCore::RenderTextControl::calcPrefWidths):
24956
cfleizach@apple.comd26c2762008-09-13 21:05:18 +0000249572008-09-13 Chris Fleizach <cfleizach@apple.com>
24958
24959 Reviewed by Timothy Hatcher.
24960
24961 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
24962
24963 * page/mac/AccessibilityObjectWrapper.mm:
24964 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
24965
mitz@apple.com6307c9f2008-09-13 20:27:37 +0000249662008-09-13 Dan Bernstein <mitz@apple.com>
24967
24968 Reviewed by Timothy Hatcher.
24969
24970 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
24971
24972 No regression test because the back/forward cache is disabled in DumpRenderTree
24973
24974 * rendering/RenderContainer.cpp:
24975 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
24976 is being destroyed.
24977
kevino@webkit.org1e178ee2008-09-13 18:48:39 +0000249782008-09-13 Kevin Ollivier <kevino@theolliviers.com>
24979
24980 wx build fixes for new methods recently introduced.
24981
24982 * platform/graphics/wx/AffineTransformWx.cpp:
24983 (WebCore::AffineTransform::AffineTransform):
24984 (WebCore::AffineTransform::setMatrix):
24985 (WebCore::AffineTransform::setA):
24986 (WebCore::AffineTransform::setB):
24987 (WebCore::AffineTransform::setC):
24988 (WebCore::AffineTransform::setD):
24989 (WebCore::AffineTransform::setE):
24990 (WebCore::AffineTransform::setF):
24991 * platform/wx/LocalizedStringsWx.cpp:
24992 (WebCore::AXDefinitionListTermText):
24993 (WebCore::AXDefinitionListDefinitionText):
24994
hyatt@apple.com30ed5442008-09-13 18:39:58 +0000249952008-09-12 Dave Hyatt <hyatt@apple.com>
24996
24997 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
24998 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
24999 "PlatformScrollbar."
25000
25001 Reviewed by Sam Weinig
25002
25003 * WebCore.vcproj/WebCore.vcproj:
25004 * editing/EditorCommand.cpp:
25005 * page/EventHandler.cpp:
25006 (WebCore::EventHandler::selectCursor):
25007 (WebCore::EventHandler::handleMousePressEvent):
25008 (WebCore::EventHandler::handleMouseMoveEvent):
25009 * page/EventHandler.h:
25010 * page/MouseEventWithHitTestResults.cpp:
25011 (WebCore::MouseEventWithHitTestResults::scrollbar):
25012 * page/MouseEventWithHitTestResults.h:
25013 * page/gtk/EventHandlerGtk.cpp:
25014 (WebCore::EventHandler::passMousePressEventToScrollbar):
25015 * page/mac/EventHandlerMac.mm:
25016 (WebCore::EventHandler::passMousePressEventToScrollbar):
25017 * page/qt/EventHandlerQt.cpp:
25018 (WebCore::EventHandler::passMousePressEventToScrollbar):
25019 * page/win/EventHandlerWin.cpp:
25020 (WebCore::EventHandler::passMousePressEventToScrollbar):
25021 * page/wx/EventHandlerWx.cpp:
25022 (WebCore::EventHandler::passMousePressEventToScrollbar):
25023 * platform/PopupMenu.h:
25024 * platform/ScrollBar.cpp:
25025 (WebCore::Scrollbar::Scrollbar):
25026 (WebCore::Scrollbar::autoscrollTimerFired):
25027 (WebCore::Scrollbar::autoscrollPressedPart):
25028 (WebCore::Scrollbar::startTimerIfNeeded):
25029 (WebCore::Scrollbar::stopTimerIfNeeded):
25030 (WebCore::Scrollbar::pressedPartScrollDirection):
25031 (WebCore::Scrollbar::pressedPartScrollGranularity):
25032 * platform/ScrollBar.h:
25033 (WebCore::Scrollbar::handleMousePressEvent):
25034 (WebCore::Scrollbar::invalidatePart):
25035 (WebCore::Scrollbar::thumbUnderMouse):
25036 * platform/ScrollView.h:
25037 * platform/ScrollbarClient.h: Added.
25038 (WebCore::ScrollbarClient::~ScrollbarClient):
25039 * platform/gtk/ScrollViewGtk.cpp:
25040 (WebCore::ScrollView::scrollbarUnderMouse):
25041 * platform/qt/PlatformScrollBar.h:
25042 * platform/qt/PlatformScrollBarQt.cpp:
25043 (WebCore::PlatformScrollbar::PlatformScrollbar):
25044 (WebCore::scrollbarPart):
25045 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
25046 (WebCore::PlatformScrollbar::handleMouseOutEvent):
25047 (WebCore::PlatformScrollbar::handleMousePressEvent):
25048 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
25049 * platform/qt/ScrollViewQt.cpp:
25050 (WebCore::ScrollView::scrollbarUnderMouse):
25051 (WebCore::ScrollView::wheelEvent):
25052 * platform/win/PlatformScrollBar.h:
25053 * platform/win/PlatformScrollBarSafari.cpp:
25054 (WebCore::PlatformScrollbar::PlatformScrollbar):
25055 * platform/win/PlatformScrollBarWin.cpp:
25056 (WebCore::PlatformScrollbar::PlatformScrollbar):
25057 * platform/win/ScrollViewWin.cpp:
25058 (WebCore::ScrollView::scrollbarUnderMouse):
25059 * rendering/HitTestResult.cpp:
25060 (WebCore::HitTestResult::setScrollbar):
25061 * rendering/HitTestResult.h:
25062 (WebCore::HitTestResult::scrollbar):
25063 * rendering/RenderLayer.cpp:
25064 (WebCore::RenderLayer::hitTestOverflowControls):
25065 * rendering/RenderLayer.h:
25066 * rendering/RenderListBox.h:
25067
sfalken@apple.comb4e407e2008-09-13 02:59:00 +0000250682008-09-12 Steve Falkenburg <sfalken@apple.com>
25069
25070 Fix Mac build.
25071
25072 * css/CSSStyleSelector.cpp:
25073 (WebCore::getTransformOperationType):
25074
dino@apple.comf937dc62008-09-13 00:45:39 +0000250752008-09-12 Chris Marrin <cmarrin@apple.com>
25076
25077 Reviewed by Dave Hyatt.
25078
25079 Make transform animation behavior match spec
25080 https://bugs.webkit.org/show_bug.cgi?id=20770
25081
25082 Tests: transitions/transform-op-list-match.html
25083 transitions/transform-op-list-no-match.html
25084
25085 * css/CSSStyleSelector.cpp:
25086 * css/CSSStyleSelector.h:
25087 * page/animation/AnimationBase.cpp:
25088 * page/animation/AnimationBase.h:
25089 * page/animation/ImplicitAnimation.cpp:
25090 * page/animation/ImplicitAnimation.h:
25091 * page/animation/KeyframeAnimation.cpp:
25092 * page/animation/KeyframeAnimation.h:
25093 * rendering/RenderLayer.cpp:
25094 * rendering/style/RenderStyle.cpp:
25095 * rendering/style/RenderStyle.h:
25096
timothy@apple.comab374dd2008-09-12 22:43:38 +0000250972008-09-12 Ojan Vafai <ojan@chromium.org>
25098
25099 Properly escape contents of links added to the inspector.
25100 For now, just build the link with the DOM and get the
25101 outerHTML. Eventually, we probably just want to do
25102 this entirely with the DOM.
25103
25104 Reviewed by Timothy Hatcher.
25105
25106 https://bugs.webkit.org/show_bug.cgi?id=20684
25107
25108 * manual-tests/inspector/escape-links.html: Added.
25109 * page/inspector/StylesSidebarPane.js:
25110 * page/inspector/inspector.js:
25111 * page/inspector/utilities.js:
25112
adele@apple.com87fb3c72008-09-12 22:14:13 +0000251132008-09-12 Adele Peterson <adele@apple.com>
25114
25115 Reviewed by John Sullivan and Kevin McCullough.
25116
25117 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
25118
25119 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
25120 Hit testing again on the main frame will only work if we aren't already on the main frame. If we are already on the main frame, that will
25121 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
25122
kmccullough@apple.combdba2e32008-09-12 22:08:56 +0000251232008-09-12 Kevin McCullough <kmccullough@apple.com>
25124
25125 RS by Tim .
25126
25127 Re-introducing the code since it was not the cause of the crash.
25128 See r36343.
25129
25130 * rendering/RenderObject.cpp:
25131 (WebCore::RenderObject::canBeProgramaticallyScrolled):
25132 * rendering/RenderObject.h:
25133
dino@apple.comf712ed02008-09-12 21:54:57 +0000251342008-09-12 Chris Marrin <cmarrin@apple.com>
25135
25136 Reviewed by Dave Hyatt.
25137
25138 When changing one animation in a list, don't reset other animations
25139 https://bugs.webkit.org/show_bug.cgi?id=20675
25140
25141 Test: animations/change-one-anim.html
25142
25143 * page/animation/AnimationBase.cpp:
25144 (WebCore::AnimationBase::getNumProperties):
25145 * page/animation/AnimationBase.h:
25146 * page/animation/AnimationController.cpp:
25147 * page/animation/CompositeAnimation.cpp:
25148 (WebCore::CompositeAnimation::updateKeyframeAnimations):
25149 * page/animation/CompositeAnimation.h:
25150 * page/animation/ImplicitAnimation.cpp:
25151 * page/animation/KeyframeAnimation.cpp:
25152 * page/animation/KeyframeAnimation.h:
25153 (WebCore::KeyframeAnimation::setIndex):
25154
beidson@apple.com521e2b52008-09-12 18:40:03 +0000251552008-09-12 Brady Eidson <beidson@apple.com>
25156
25157 Reviewed by Mitz Pettel
25158
25159 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
25160
25161 * loader/DocumentLoader.cpp:
25162 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
25163 Subresources can never be created from nil data, but there is always a MainResource, whether
25164 or not there's any data. So in the case where the main resource has no data, fake it for the
25165 sake of creating the ArchiveResource.
25166
hyatt@apple.com818ffe92008-09-12 18:37:23 +0000251672008-09-12 Dave Hyatt <hyatt@apple.com>
25168
25169 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
25170 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
25171 Remove all the isWidget and hasPlatformScrollbars guards.
25172
25173 Reviewed by Tim Hatcher
25174
25175 * platform/ScrollBar.h:
25176 * platform/gtk/PlatformScrollBar.h:
25177 * platform/mac/PlatformScrollBar.h:
25178 * platform/qt/PlatformScrollBar.h:
25179 * platform/win/PlatformScrollBar.h:
25180 * platform/win/ScrollViewWin.cpp:
25181 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
25182 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
25183 * platform/wx/PlatformScrollBar.h:
25184 * rendering/RenderLayer.cpp:
25185 (WebCore::RenderLayer::horizontalScrollbarWidget):
25186 (WebCore::RenderLayer::verticalScrollbarWidget):
25187 (WebCore::RenderLayer::createScrollbar):
25188 (WebCore::RenderLayer::destroyScrollbar):
25189 * rendering/RenderListBox.cpp:
25190 (WebCore::RenderListBox::~RenderListBox):
25191 (WebCore::RenderListBox::updateFromElement):
25192 (WebCore::RenderListBox::isPointInOverflowControl):
25193
mitz@apple.com0bef1302008-09-12 18:22:07 +0000251942008-09-12 Dan Bernstein <mitz@apple.com>
25195
25196 Reviewed by Sam Weinig.
25197
25198 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
25199
25200 * page/animation/AnimationController.cpp:
25201 * page/animation/AnimationController.h:
25202 * page/animation/CompositeAnimation.cpp:
25203 * page/animation/CompositeAnimation.h:
25204 * page/animation/ImplicitAnimation.cpp:
25205 * page/animation/ImplicitAnimation.h:
25206 * page/animation/KeyframeAnimation.cpp:
25207 * page/animation/KeyframeAnimation.h:
25208
timothy@apple.com43203432008-09-12 04:44:40 +0000252092008-09-11 Timothy Hatcher <timothy@apple.com>
25210
25211 Add a renderedImage method to DOMNode to get an image
25212 of the rendering for the node and it's descendants.
25213
25214 <rdar://problem/5849349> Would like API to create
25215 an image for a DOM node
25216
25217 Reviewed by Oliver Hunt.
25218
25219 * bindings/objc/DOM.mm:
25220 (-[DOMNode renderedImage]): Call Frame::nodeImage.
25221 * bindings/objc/DOMPrivate.h:
25222 * page/Frame.h:
25223 * page/mac/FrameMac.mm:
25224 (WebCore::Frame::nodeImage):
25225
dino@apple.com9300a0b2008-09-12 00:36:31 +0000252262008-09-08 Chris Marrin <cmarrin@apple.com>
25227
25228 Reviewed by Dave Hyatt
25229
25230 Need to support comma separated list of key times in keyframes selectors
25231 https://bugs.webkit.org/show_bug.cgi?id=20680
25232
25233 Test: animations/keyframes-comma-separated.html
25234
25235 * css/CSSGrammar.y:
25236 * css/CSSParser.cpp:
25237 (WebCore::CSSParser::createKeyframeRule):
25238 * css/CSSParser.h:
25239 * css/CSSStyleSelector.cpp:
25240 (WebCore::CSSStyleSelector::addKeyframeStyle):
25241 * css/WebKitCSSKeyframeRule.cpp:
25242 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
25243 (WebCore::WebKitCSSKeyframeRule::cssText):
25244 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
25245 * css/WebKitCSSKeyframeRule.h:
25246 (WebCore::WebKitCSSKeyframeRule::keyText):
25247 (WebCore::WebKitCSSKeyframeRule::setKeyText):
25248 (WebCore::WebKitCSSKeyframeRule::getKeys):
25249 * css/WebKitCSSKeyframesRule.cpp:
25250 (WebCore::WebKitCSSKeyframesRule::append):
25251 (WebCore::WebKitCSSKeyframesRule::insertRule):
25252 (WebCore::WebKitCSSKeyframesRule::deleteRule):
25253 (WebCore::WebKitCSSKeyframesRule::findRule):
25254 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
25255 * css/WebKitCSSKeyframesRule.h:
25256 * page/animation/AnimationBase.cpp:
25257 (WebCore::AnimationBase::blendProperties):
25258
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +0000252592008-09-11 Kevin McCullough <kmccullough@apple.com>
25260
25261 RS by Tim.
25262
25263 Reverting because this caused a crash.
25264
25265 * rendering/RenderObject.cpp:
25266 (WebCore::RenderObject::canBeProgramaticallyScrolled):
25267 (WebCore::RenderObject::hasScrollableView):
25268 * rendering/RenderObject.h:
25269
dino@apple.com19853b32008-09-11 21:59:08 +0000252702008-09-11 Dean Jackson <dino@apple.com>
25271
25272 Reviewed by Dan Bernstein.
25273
25274 Fix assertion on transition property "none"
25275 https://bugs.webkit.org/show_bug.cgi?id=20751
25276
25277 Test: transitions/transition-end-event-set-none.html
25278
25279 * page/animation/CompositeAnimation.cpp:
25280 (WebCore::CompositeAnimation::updateTransitions):
25281
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +0000252822008-09-11 David Smith <catfish.man@gmail.com>
25283
dsmith@webkit.org08103d92008-09-11 21:54:30 +000025284 Rubber-stamped by mitzpettel.
25285
25286 Remove an accidentally added extra file.
25287
25288 * WebCore: Removed.
25289
252902008-09-11 David Smith <catfish.man@gmail.com>
25291
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000025292 Reviewed by Darin
25293
25294 https://bugs.webkit.org/show_bug.cgi?id=20180
25295
25296 This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
25297
25298 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
25299 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
25300 * dom/Element.cpp: include NodeRenderStyle.h
25301 * dom/Node.cpp: Remove the definition of renderStyle()
25302 (WebCore::Node::nonRendererRenderStyle):
25303 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
25304 * dom/NodeRenderStyle.h: Added.
25305 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
25306 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
25307 * html/HTMLOptGroupElement.h:
25308 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
25309 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
25310 * html/HTMLOptionElement.h:
25311 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
25312 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
25313 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
25314 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
25315
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +0000253162008-09-11 Kevin McCullough <kmccullough@apple.com>
25317
25318 Reviewed by Adele and Tim.
25319
25320 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
25321 Inspector does not scroll to the line of the results (20167)
25322 - This was put in by Max to fix auto scrolling but is not correct for
25323 the whole web: rdar://problem/6213098
25324
25325 * rendering/RenderObject.cpp:
25326 (WebCore::RenderObject::canBeProgramaticallyScrolled):
25327 * rendering/RenderObject.h:
25328
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +0000253292008-09-11 Chris Fleizach <cfleizach@apple.com>
25330
25331 Reviewed by Beth Dakin
25332
25333 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
25334
25335 Test: accessibility/frame-with-title.html
25336
25337 * page/AccessibilityRenderObject.cpp:
25338 (WebCore::AccessibilityRenderObject::accessibilityDescription):
25339
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +0000253402008-09-11 Dirk Schulze <vbs85@gmx.de>
25341
25342 Reviewed by Simon.
25343
hausmann@webkit.orgea57c432008-09-11 08:03:07 +000025344 Fixed stroke() and strokeRect() to support gradients
25345 and patterns on Qt.
25346
25347 [Qt] Canvas stroke don't work for gradients and patterns
25348 [https://bugs.webkit.org/show_bug.cgi?id=20749]
25349
25350 * platform/graphics/qt/GraphicsContextQt.cpp:
25351 (WebCore::GraphicsContext::strokePath):
25352 (WebCore::GraphicsContext::strokeRect):
25353
253542008-09-11 Dirk Schulze <vbs85@gmx.de>
25355
25356 Reviewed by Simon.
25357
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +000025358 https://bugs.webkit.org/show_bug.cgi?id=20729
25359
25360 Fixed canvas gradients for Qt
25361
25362 [Qt] Canvas gradients don't work as expected
25363 [https://bugs.webkit.org/show_bug.cgi?id=20729]
25364
25365 * platform/graphics/qt/GradientQt.cpp:
25366 (WebCore::Gradient::platformGradient):
25367
253682008-09-11 Dirk Schulze <vbs85@gmx.de>
25369
25370 Reviewed by Simon.
25371
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000025372 https://bugs.webkit.org/show_bug.cgi?id=20568
25373
25374 Add support for patterns to Qt.
25375
25376 * platform/graphics/qt/PatternQt.cpp:
25377 (WebCore::Pattern::createPlatformPattern):
25378
mitz@apple.com442c5892008-09-10 18:21:14 +0000253792008-09-10 Dan Bernstein <mitz@apple.com>
25380
25381 Reviewed by Sam Weinig.
25382
25383 - clean up AnimationBase
25384
25385 * page/animation/AnimationBase.cpp:
25386 * page/animation/AnimationBase.h:
25387 * page/animation/CompositeAnimation.cpp:
25388 * page/animation/ImplicitAnimation.cpp:
25389 * page/animation/ImplicitAnimation.h:
25390 * page/animation/KeyframeAnimation.cpp:
25391 * page/animation/KeyframeAnimation.h:
25392
ap@webkit.orgbaf12872008-09-10 16:42:10 +0000253932008-09-10 Alexey Proskuryakov <ap@webkit.org>
25394
25395 Reviewed by Darin Adler.
25396
25397 https://bugs.webkit.org/show_bug.cgi?id=20741
25398 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
25399
25400 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
25401 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
25402 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
25403
25404 I also found and fixed a potential crasher for non-Mac ports.
25405
25406 Tests: fast/encoding/hebrew/8859-8-e.html
25407 fast/encoding/hebrew/8859-8-i.html
25408 fast/encoding/hebrew/8859-8.html
25409 fast/encoding/hebrew/csISO88598I.html
25410 fast/encoding/hebrew/hebrew.html
25411 fast/encoding/hebrew/iso-ir-138.html
25412 fast/encoding/hebrew/logical.html
25413
25414 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
25415 (case-insensitively, because different versions of ICU report this MIME name in different
25416 case).
25417
25418 * platform/text/TextCodecICU.cpp:
25419 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
25420 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
25421 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
25422 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
25423 we also support these via TEC (which we should stop doing), but on Windows, this would
25424 likely crash.
25425
hyatt@apple.com0197e6b2008-09-10 05:29:46 +0000254262008-09-09 Dave Hyatt <hyatt@apple.com
25427
25428 Resurrect PlatformScrollbarWin.
25429
25430 Reviewed by Adam Roben
25431
25432 * WebCore.vcproj/WebCore.vcproj:
25433 * platform/win/PlatformScrollBarWin.cpp:
25434 (WebCore::isRunningOnVistaOrLater):
25435 (WebCore::checkAndInitScrollbarTheme):
25436 (WebCore::PlatformScrollbar::PlatformScrollbar):
25437 (WebCore::PlatformScrollbar::invalidateTrack):
25438 (WebCore::PlatformScrollbar::invalidatePart):
25439 (WebCore::PlatformScrollbar::paint):
25440 (WebCore::PlatformScrollbar::hasButtons):
25441 (WebCore::PlatformScrollbar::hasThumb):
25442 (WebCore::PlatformScrollbar::backButtonRect):
25443 (WebCore::PlatformScrollbar::forwardButtonRect):
25444 (WebCore::PlatformScrollbar::trackRect):
25445 (WebCore::PlatformScrollbar::gripperRect):
25446 (WebCore::PlatformScrollbar::thumbLength):
25447 (WebCore::PlatformScrollbar::paintButton):
25448 (WebCore::PlatformScrollbar::paintTrack):
25449 (WebCore::PlatformScrollbar::paintThumb):
25450 (WebCore::PlatformScrollbar::paintGripper):
25451 (WebCore::PlatformScrollbar::hitTest):
25452 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
25453 (WebCore::PlatformScrollbar::handleMouseOutEvent):
25454 (WebCore::PlatformScrollbar::themeChanged):
25455
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +0000254562008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
25457
25458 Reviewed by Maciej Stachowiak.
25459
25460 Bug 20759: Remove MacroAssembler
25461 <https://bugs.webkit.org/show_bug.cgi?id=20759>
25462
25463 Make the necessary changes to ForwardingHeaders to remove
25464 MacroAssembler.
25465
25466 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
25467 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
25468 * ForwardingHeaders/masm/X86Assembler.h: Added.
25469
alp@webkit.org509e3d42008-09-10 01:26:20 +0000254702008-09-09 Alp Toker <alp@nuanti.com>
25471
25472 Reviewed by Dave Hyatt.
25473
25474 https://bugs.webkit.org/show_bug.cgi?id=16792
25475 [GTK] Fails to render Japanese/Chinese text with simple path
25476
25477 https://bugs.webkit.org/show_bug.cgi?id=16942
25478 [GTK] Oddities in font selection and fall back
25479
25480 https://bugs.webkit.org/show_bug.cgi?id=16862
25481 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
25482
25483 GTK+ font fixes and enhancements.
25484
25485 Implement font fallback for the simple FontConfig-based text path and
25486 improve the Pango-based complex text path to make use of requested
25487 font properties and available font selection.
25488
25489 Add text shadow support to the complex path.
25490
25491 * platform/graphics/gtk/FontCacheGtk.cpp:
25492 (WebCore::FontCache::getFontDataForCharacters):
25493 (WebCore::FontCache::getSimilarFontPlatformData):
25494 * platform/graphics/gtk/FontGtk.cpp:
25495 (WebCore::setPangoAttributes):
25496 (WebCore::Font::drawComplexText):
25497 (WebCore::getDefaultPangoLayout):
25498 (WebCore::Font::floatWidthForComplexText):
25499 (WebCore::Font::offsetForPositionForComplexText):
25500 (WebCore::Font::selectionRectForComplexText):
25501 * platform/graphics/gtk/FontPlatformData.h:
25502 (WebCore::FontPlatformData::FontPlatformData):
25503 (WebCore::FontPlatformData::hash):
25504 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
25505 (WebCore::FontPlatformData::FontPlatformData):
25506 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
25507 (WebCore::SimpleFontData::platformDestroy):
25508
hyatt@apple.com33f37f62008-09-09 23:51:46 +0000255092008-09-09 Dave Hyatt <hyatt@apple.com>
25510
25511 Make the Windows classic case work again. Overlap in slider constants and other constants broke
25512 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
25513 value to make sure it's really a slider thumb to resolve this conflict.
25514
25515 Reviewed by Adam Roben
25516
25517 * rendering/RenderThemeWin.cpp:
25518 (WebCore::drawControl):
25519
dino@apple.com442d0652008-09-09 23:36:56 +0000255202008-09-05 Chris Marrin <cmarrin@apple.com>
25521
25522 Reviewed by Sam Weinig.
25523
25524 Need to handle the case when 0% or 100% keyframe is omitted
25525 https://bugs.webkit.org/show_bug.cgi?id=20679
25526
25527 Tests: animations/keyframes-from-missing.html
25528 animations/keyframes-to-missing.html
25529
25530 * css/CSSStyleSelector.cpp:
25531 (WebCore::CSSStyleSelector::addKeyframeStyle):
25532
hyatt@apple.com419d0ad2008-09-09 23:11:14 +0000255332008-09-09 Dave Hyatt <hyatt@apple.com>
25534
25535 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
25536 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
25537 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
25538 what changes have been made as compared with the old RenderThemeWin).
25539
25540 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
25541 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
25542 vs. printer advancement rounding).
25543
25544 Reviewed by Adam/Sam
25545
25546 * css/CSSStyleSelector.cpp:
25547 (WebCore::CSSStyleSelector::applyProperty):
25548 * platform/graphics/Icon.h:
25549 (WebCore::Icon::create):
25550 * rendering/RenderThemeWin.cpp:
25551 (WebCore::RenderThemeWin::RenderThemeWin):
25552 (WebCore::RenderThemeWin::~RenderThemeWin):
25553 (WebCore::RenderThemeWin::buttonTheme):
25554 (WebCore::RenderThemeWin::textFieldTheme):
25555 (WebCore::RenderThemeWin::menuListTheme):
25556 (WebCore::RenderThemeWin::sliderTheme):
25557 (WebCore::RenderThemeWin::close):
25558 (WebCore::RenderThemeWin::themeChanged):
25559 (WebCore::RenderThemeWin::supportsHover):
25560 (WebCore::fillFontDescription):
25561 (WebCore::RenderThemeWin::systemFont):
25562 (WebCore::RenderThemeWin::supportsFocus):
25563 (WebCore::RenderThemeWin::determineClassicState):
25564 (WebCore::RenderThemeWin::determineState):
25565 (WebCore::RenderThemeWin::determineSliderThumbState):
25566 (WebCore::RenderThemeWin::getClassicThemeData):
25567 (WebCore::RenderThemeWin::getThemeData):
25568 (WebCore::drawControl):
25569 (WebCore::RenderThemeWin::paintButton):
25570 (WebCore::RenderThemeWin::paintTextField):
25571 (WebCore::RenderThemeWin::paintMenuList):
25572 (WebCore::RenderThemeWin::adjustMenuListStyle):
25573 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
25574 (WebCore::RenderThemeWin::paintMenuListButton):
25575 (WebCore::RenderThemeWin::paintSliderTrack):
25576 (WebCore::RenderThemeWin::paintSliderThumb):
25577 (WebCore::RenderThemeWin::adjustSliderThumbSize):
25578 (WebCore::RenderThemeWin::paintSearchField):
25579 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
25580 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
25581 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
25582 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
25583 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
25584 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
25585 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
25586 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
25587 * rendering/RenderThemeWin.h:
25588 (WebCore::ThemeData::ThemeData):
25589 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
25590 (WebCore::RenderThemeWin::adjustButtonStyle):
25591 (WebCore::RenderThemeWin::adjustTextFieldStyle):
25592 (WebCore::RenderThemeWin::adjustTextAreaStyle):
25593
dino@apple.comd511ce52008-09-09 19:50:25 +0000255942008-09-09 Dean Jackson <dino@apple.com>
25595
25596 Reviewed by Sam Weinig.
25597
25598 Document::createEvent missing cases for animation and
25599 transition events.
25600 https://bugs.webkit.org/show_bug.cgi?id=20734
25601
25602 Test: transitions/transition-end-event-create.html
25603 Test: animations/animation-events-create.html
25604
25605 * dom/Document.cpp:
25606 (WebCore::Document::createEvent):
25607 - add the two cases
25608
mitz@apple.com1da7b882008-09-09 18:12:06 +0000256092008-09-09 Dan Bernstein <mitz@apple.com>
25610
mitz@apple.com54921562008-09-09 18:48:34 +000025611 - Tiger build fix
25612
25613 * WebCore.Tiger.exp:
25614 * WebCore.base.exp:
25615 * platform/mac/WebCoreSystemInterface.h:
25616 * platform/mac/WebCoreSystemInterface.mm:
25617
256182008-09-09 Dan Bernstein <mitz@apple.com>
25619
mitz@apple.com1da7b882008-09-09 18:12:06 +000025620 Reviewed by Darin Adler.
25621
25622 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
25623
25624 * WebCore.Tiger.exp:
25625 * WebCore.base.exp:
25626 * platform/graphics/SimpleFontData.h:
25627 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
25628 (WebCore::GlyphPage::fill):
25629 * platform/graphics/mac/SimpleFontDataMac.mm:
25630 (WebCore::initFontData):
25631 (WebCore::SimpleFontData::platformInit):
25632 (WebCore::SimpleFontData::platformDestroy):
25633 * platform/mac/WebCoreSystemInterface.h:
25634 * platform/mac/WebCoreSystemInterface.mm:
25635
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +0000256362008-09-09 Kevin McCullough <kmccullough@apple.com>
25637
25638 Reviewed by Tim.
25639
25640 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
25641 breakpoints inside eval.
25642
25643 * page/inspector/inspector.js:
25644
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +0000256452008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
25646
25647 Reviewed by Simon.
25648
25649 Fix compilation of the Qt port with disabled plugins on Windows
25650
25651 * WebCore.pro:
25652 * plugins/PluginView.cpp:
25653 (WebCore::PluginView::PluginView):
25654 * plugins/PluginView.h:
25655
ap@webkit.org2ba74d32008-09-09 08:11:01 +0000256562008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
25657
25658 Reviewed by Alexey Proskuryakov.
25659
25660 Try MIME charset names before trying IANA names
25661 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
25662
25663 With this change, shorter and more widely used names (preferred MIME
25664 names) are returned by document.charset, document.characterSet,
25665 document.inputEncoding rather than IANA names. This helps
25666 fixing bug 18085 in addition to web developers who are more familiar
25667 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
25668 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
25669 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
25670 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
25671 used, the former is still recognized as aliases to the latter so that
25672 there's very little, if any, to worry about.
25673
25674 * platform/text/TextCodecICU.cpp:
25675 (WebCore::TextCodecICU::registerExtendedEncodingNames):
25676
weinig@apple.com22294302008-09-09 06:55:39 +0000256772008-09-08 Sam Weinig <sam@webkit.org>
25678
25679 Reviewed by Maciej Stachowiak and Oliver Hunt.
25680
25681 Add forwarding headers.
25682
25683 * ForwardingHeaders/wtf/HashFunctions.h: Added.
25684
dino@apple.comd9962af2008-09-09 01:02:00 +0000256852008-09-05 Dean Jackson <dino@apple.com>
25686
25687 Reviewed by Dan Bernstein.
25688
25689 Update grammar so that we can add a keyframe rule via the DOM.
25690 https://bugs.webkit.org/show_bug.cgi?id=20613
25691
25692 * css/CSSGrammar.y:
25693 * css/tokenizer.flex:
25694
antti@apple.com4b17a932008-09-09 00:40:45 +0000256952008-09-08 Antti Koivisto <antti@apple.com>
25696
25697 Reviewed by Dan Bernstein.
25698
25699 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
25700 actually show up in any of the default stylesheets.
25701
25702 * css/CSSStyleSelector.cpp:
25703 (WebCore::elementCanUseSimpleDefaultStyle):
25704
mitz@apple.com66fa91a2008-09-09 00:35:22 +0000257052008-09-08 Dimitri Glazkov <dglazkov@google.com>
25706
25707 Reviewed by Dan Bernstein.
25708
25709 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
25710 Zero width and space characters are displayed incorrectly if not contained in a fallback font
25711
25712 Adds an extra check for Object Replacement Character (U+FFFC) to address
25713 the issue with fast/text/zero-width-characters.html test when run
25714 with Windows system default fonts.
25715
25716 * platform/graphics/Font.h:
25717 (WebCore::Font::treatAsZeroWidthSpace):
25718
dino@apple.comf0a4b212008-09-08 22:51:49 +0000257192008-09-08 Dean Jackson <dino@apple.com>
25720
25721 Reviewed by Sam Weinig.
25722
25723 Code style issue I forgot to fix from previous commit.
25724
25725 * platform/graphics/AffineTransform.cpp:
25726 (WebCore::AffineTransform::blend):
25727
dino@apple.com26625122008-09-08 22:46:41 +0000257282008-09-08 Chris Marrin <cmarrin@apple.com>
25729
25730 Reviewed by Sam Weinig
25731
25732 - Animation of -webkit-transform matrix() function should not do linear interpolation
25733 https://bugs.webkit.org/show_bug.cgi?id=20667
25734
25735 Test: animations/matrix-anim.html
25736
25737 * ChangeLog:
25738 * platform/graphics/AffineTransform.cpp:
25739 (WebCore::affineTransformDecompose):
25740 (WebCore::affineTransformCompose):
25741 (WebCore::AffineTransform::blend):
25742 * platform/graphics/AffineTransform.h:
25743 * rendering/style/RenderStyle.cpp:
25744 (WebCore::MatrixTransformOperation::blend):
25745
ap@webkit.org243a9752008-09-08 16:21:16 +0000257462008-09-08 Alexey Proskuryakov <ap@webkit.org>
25747
25748 Reviewed by Darin Adler.
25749
25750 https://bugs.webkit.org/show_bug.cgi?id=20668
25751 multipart/form-data does not always include Content-type for submitted files
25752
25753 Cannot be tested with DRT or manual tests.
25754
25755 * platform/MIMETypeRegistry.cpp:
25756 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
25757 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
25758 unknown extensions, not just missing ones.
25759
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +0000257602008-09-08 Simon Hausmann <hausmann@webkit.org>
25761
25762 Build fix for the Qt/Windows build, define USE_JSC to
25763 enable the WebCore::String -> JSC::UString operator that
25764 MSVC insists on seeing
25765
25766 * WebCore.pro:
25767
andersca@apple.com3ac4f552008-09-08 11:39:34 +0000257682008-09-08 Anders Carlsson <andersca@apple.com>
25769
25770 Reviewed by Maciej.
25771
25772 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
25773
25774 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
25775 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
25776
25777 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
25778
25779 * bindings/js/JSDOMWindowBase.h:
25780 * loader/FrameLoader.cpp:
25781 (WebCore::FrameLoader::commitProvisionalLoad):
25782
antti@apple.com57b3a102008-09-08 07:01:36 +0000257832008-09-07 Antti Koivisto <antti@apple.com>
25784
25785 Reviewed by Dave Hyatt.
25786
25787 Don't leak the simple stylesheet.
25788 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
25789
25790 * css/CSSStyleSelector.cpp:
25791 (WebCore::loadFullDefaultStyle):
25792 (WebCore::loadSimpleDefaultStyle):
25793 (WebCore::CSSStyleSelector::styleForElement):
25794
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +0000257952008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
25796
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +000025797 Reviewed by Oliver Hunt.
25798
25799 Bug 20711: Change KJS prefix on preprocessor macros to JSC
25800 <https://bugs.webkit.org/show_bug.cgi?id=20711>
25801
25802 * bindings/js/JSEventTargetBase.h:
25803 * bindings/js/JSHTMLInputElementBase.cpp:
25804 * bindings/js/JSHTMLInputElementBase.h:
25805 * bindings/scripts/CodeGeneratorJS.pm:
25806
258072008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
25808
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000025809 Reviewed by Maciej Stachowiak.
25810
25811 Bug 20704: Replace the KJS namespace
25812 <https://bugs.webkit.org/show_bug.cgi?id=20704>
25813
25814 Rename the KJS namespace to JSC. There are still some uses of KJS in the
25815 names of JNI functions, and I will check if these are safe to change
25816 as well.
25817
25818 * WebCore.base.exp:
25819 * bindings/js/GCController.cpp:
25820 * bindings/js/JSAttrCustom.cpp:
25821 * bindings/js/JSAudioConstructor.cpp:
25822 * bindings/js/JSAudioConstructor.h:
25823 (WebCore::JSAudioConstructor::classInfo):
25824 * bindings/js/JSCSSRuleCustom.cpp:
25825 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
25826 * bindings/js/JSCSSValueCustom.cpp:
25827 * bindings/js/JSCanvasPixelArrayCustom.cpp:
25828 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
25829 * bindings/js/JSClipboardCustom.cpp:
25830 * bindings/js/JSConsoleCustom.cpp:
25831 * bindings/js/JSCustomSQLStatementCallback.cpp:
25832 (WebCore::JSCustomSQLStatementCallback::handleEvent):
25833 * bindings/js/JSCustomSQLStatementCallback.h:
25834 (WebCore::JSCustomSQLStatementCallback::create):
25835 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
25836 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
25837 * bindings/js/JSCustomSQLStatementErrorCallback.h:
25838 (WebCore::JSCustomSQLStatementErrorCallback::create):
25839 * bindings/js/JSCustomSQLTransactionCallback.cpp:
25840 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
25841 * bindings/js/JSCustomSQLTransactionCallback.h:
25842 (WebCore::JSCustomSQLTransactionCallback::create):
25843 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
25844 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
25845 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
25846 (WebCore::JSCustomSQLTransactionErrorCallback::create):
25847 * bindings/js/JSCustomVoidCallback.cpp:
25848 (WebCore::JSCustomVoidCallback::handleEvent):
25849 * bindings/js/JSCustomVoidCallback.h:
25850 (WebCore::JSCustomVoidCallback::create):
25851 * bindings/js/JSCustomXPathNSResolver.cpp:
25852 (WebCore::JSCustomXPathNSResolver::create):
25853 * bindings/js/JSCustomXPathNSResolver.h:
25854 * bindings/js/JSDOMApplicationCacheCustom.cpp:
25855 (WebCore::JSDOMApplicationCache::dispatchEvent):
25856 * bindings/js/JSDOMBinding.cpp:
25857 (WebCore::jsOwnedStringOrNull):
25858 * bindings/js/JSDOMBinding.h:
25859 (WebCore::DOMObject::DOMObject):
25860 (WebCore::cacheDOMObject):
25861 (WebCore::cacheSVGDOMObject):
25862 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
25863 (WebCore::toJS):
25864 * bindings/js/JSDOMWindowBase.cpp:
25865 * bindings/js/JSDOMWindowBase.h:
25866 (WebCore::JSDOMWindowBase::classInfo):
25867 (WebCore::JSDOMWindowBase::d):
25868 * bindings/js/JSDOMWindowCustom.cpp:
25869 (WebCore::JSDOMWindow::getPropertyAttributes):
25870 * bindings/js/JSDOMWindowCustom.h:
25871 (WebCore::asJSDOMWindow):
25872 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
25873 (WebCore::JSDOMWindow::customPut):
25874 (WebCore::JSDOMWindowBase::allowsAccessFrom):
25875 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
25876 * bindings/js/JSDOMWindowShell.cpp:
25877 (WebCore::JSDOMWindowShell::getPropertyAttributes):
25878 * bindings/js/JSDOMWindowShell.h:
25879 (WebCore::JSDOMWindowShell::classInfo):
25880 * bindings/js/JSDatabaseCustom.cpp:
25881 * bindings/js/JSDocumentCustom.cpp:
25882 * bindings/js/JSDocumentFragmentCustom.cpp:
25883 * bindings/js/JSElementCustom.cpp:
25884 * bindings/js/JSEventCustom.cpp:
25885 * bindings/js/JSEventListener.cpp:
25886 * bindings/js/JSEventListener.h:
25887 (WebCore::JSUnprotectedEventListener::create):
25888 (WebCore::JSEventListener::create):
25889 * bindings/js/JSEventTargetBase.cpp:
25890 * bindings/js/JSEventTargetBase.h:
25891 (WebCore::JSEventTargetBase::getValueProperty):
25892 (WebCore::JSEventTargetBase::putValueProperty):
25893 (WebCore::JSEventTargetBase::getOwnPropertySlot):
25894 (WebCore::JSEventTargetBase::put):
25895 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
25896 (WebCore::JSEventTargetPrototype::self):
25897 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
25898 (WebCore::JSEventTargetPrototype::classInfo):
25899 * bindings/js/JSEventTargetNode.cpp:
25900 * bindings/js/JSEventTargetNode.h:
25901 (WebCore::JSEventTargetNode::getOwnPropertySlot):
25902 (WebCore::JSEventTargetNode::getValueProperty):
25903 (WebCore::JSEventTargetNode::put):
25904 (WebCore::JSEventTargetNode::putValueProperty):
25905 * bindings/js/JSHTMLAllCollection.h:
25906 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
25907 (WebCore::JSHTMLAllCollection::toBoolean):
25908 * bindings/js/JSHTMLAppletElementCustom.cpp:
25909 * bindings/js/JSHTMLCollectionCustom.cpp:
25910 * bindings/js/JSHTMLDocumentCustom.cpp:
25911 * bindings/js/JSHTMLElementCustom.cpp:
25912 * bindings/js/JSHTMLEmbedElementCustom.cpp:
25913 * bindings/js/JSHTMLFormElementCustom.cpp:
25914 * bindings/js/JSHTMLFrameElementCustom.cpp:
25915 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
25916 * bindings/js/JSHTMLIFrameElementCustom.cpp:
25917 * bindings/js/JSHTMLInputElementBase.cpp:
25918 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
25919 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
25920 * bindings/js/JSHTMLInputElementBase.h:
25921 (WebCore::JSHTMLInputElementBase::classInfo):
25922 * bindings/js/JSHTMLObjectElementCustom.cpp:
25923 * bindings/js/JSHTMLOptionElementConstructor.cpp:
25924 * bindings/js/JSHTMLOptionElementConstructor.h:
25925 (WebCore::JSHTMLOptionElementConstructor::classInfo):
25926 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
25927 * bindings/js/JSHTMLSelectElementCustom.cpp:
25928 (WebCore::selectIndexSetter):
25929 (WebCore::JSHTMLSelectElement::indexSetter):
25930 * bindings/js/JSHTMLSelectElementCustom.h:
25931 * bindings/js/JSHistoryCustom.cpp:
25932 * bindings/js/JSImageConstructor.cpp:
25933 * bindings/js/JSImageConstructor.h:
25934 (WebCore::JSImageConstructor::classInfo):
25935 * bindings/js/JSInspectedObjectWrapper.cpp:
25936 * bindings/js/JSInspectedObjectWrapper.h:
25937 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
25938 (WebCore::JSInspectedObjectWrapper::classInfo):
25939 * bindings/js/JSInspectorCallbackWrapper.cpp:
25940 * bindings/js/JSInspectorCallbackWrapper.h:
25941 (WebCore::JSInspectorCallbackWrapper::classInfo):
25942 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
25943 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
25944 * bindings/js/JSLocationCustom.cpp:
25945 * bindings/js/JSMimeTypeArrayCustom.cpp:
25946 * bindings/js/JSNSResolver.cpp:
25947 * bindings/js/JSNSResolver.h:
25948 (WebCore::JSNSResolver::create):
25949 * bindings/js/JSNamedNodeMapCustom.cpp:
25950 * bindings/js/JSNamedNodesCollection.cpp:
25951 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
25952 * bindings/js/JSNamedNodesCollection.h:
25953 (WebCore::JSNamedNodesCollection::classInfo):
25954 * bindings/js/JSNavigatorCustom.cpp:
25955 * bindings/js/JSNodeCustom.cpp:
25956 * bindings/js/JSNodeFilterCondition.cpp:
25957 (WebCore::JSNodeFilterCondition::acceptNode):
25958 * bindings/js/JSNodeFilterCondition.h:
25959 (WebCore::JSNodeFilterCondition::create):
25960 * bindings/js/JSNodeFilterCustom.cpp:
25961 * bindings/js/JSNodeIteratorCustom.cpp:
25962 * bindings/js/JSNodeListCustom.cpp:
25963 * bindings/js/JSPluginArrayCustom.cpp:
25964 * bindings/js/JSPluginCustom.cpp:
25965 * bindings/js/JSPluginElementFunctions.cpp:
25966 (WebCore::getRuntimeObject):
25967 * bindings/js/JSPluginElementFunctions.h:
25968 * bindings/js/JSQuarantinedObjectWrapper.cpp:
25969 (WebCore::JSQuarantinedObjectWrapper::construct):
25970 (WebCore::JSQuarantinedObjectWrapper::call):
25971 * bindings/js/JSQuarantinedObjectWrapper.h:
25972 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
25973 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
25974 (WebCore::JSQuarantinedObjectWrapper::className):
25975 * bindings/js/JSRGBColor.cpp:
25976 * bindings/js/JSRGBColor.h:
25977 (WebCore::JSRGBColor::classInfo):
25978 * bindings/js/JSSQLResultSetRowListCustom.cpp:
25979 * bindings/js/JSSQLTransactionCustom.cpp:
25980 * bindings/js/JSSVGLazyEventListener.cpp:
25981 * bindings/js/JSSVGLazyEventListener.h:
25982 * bindings/js/JSSVGLengthCustom.cpp:
25983 * bindings/js/JSSVGMatrixCustom.cpp:
25984 (WebCore::JSSVGMatrix::inverse):
25985 (WebCore::JSSVGMatrix::rotateFromVector):
25986 * bindings/js/JSSVGPathSegCustom.cpp:
25987 * bindings/js/JSSVGPathSegListCustom.cpp:
25988 (WebCore::JSSVGPathSegList::initialize):
25989 (WebCore::JSSVGPathSegList::getItem):
25990 (WebCore::JSSVGPathSegList::insertItemBefore):
25991 (WebCore::JSSVGPathSegList::replaceItem):
25992 (WebCore::JSSVGPathSegList::removeItem):
25993 (WebCore::JSSVGPathSegList::appendItem):
25994 * bindings/js/JSSVGPointListCustom.cpp:
25995 * bindings/js/JSSVGTransformListCustom.cpp:
25996 * bindings/js/JSStorageCustom.cpp:
25997 * bindings/js/JSStyleSheetCustom.cpp:
25998 * bindings/js/JSStyleSheetListCustom.cpp:
25999 * bindings/js/JSTextCustom.cpp:
26000 * bindings/js/JSTreeWalkerCustom.cpp:
26001 * bindings/js/JSXMLHttpRequestConstructor.cpp:
26002 * bindings/js/JSXMLHttpRequestConstructor.h:
26003 (WebCore::JSXMLHttpRequestConstructor::classInfo):
26004 * bindings/js/JSXMLHttpRequestCustom.cpp:
26005 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
26006 * bindings/js/JSXSLTProcessorConstructor.cpp:
26007 * bindings/js/JSXSLTProcessorConstructor.h:
26008 (WebCore::JSXSLTProcessorConstructor::classInfo):
26009 * bindings/js/JSXSLTProcessorCustom.cpp:
26010 * bindings/js/ScheduledAction.cpp:
26011 * bindings/js/ScheduledAction.h:
26012 * bindings/js/ScriptController.cpp:
26013 (WebCore::ScriptController::attachDebugger):
26014 (WebCore::ScriptController::windowScriptNPObject):
26015 * bindings/js/ScriptController.h:
26016 * bindings/js/ScriptControllerGtk.cpp:
26017 (WebCore::ScriptController::createScriptInstanceForWidget):
26018 * bindings/js/ScriptControllerMac.mm:
26019 (WebCore::ScriptController::createScriptInstanceForWidget):
26020 (WebCore::ScriptController::windowScriptObject):
26021 (WebCore::ScriptController::clearPlatformScriptObjects):
26022 (WebCore::updateRenderingForBindings):
26023 (WebCore::ScriptController::initJavaJSBindings):
26024 * bindings/js/ScriptControllerQt.cpp:
26025 (WebCore::ScriptController::createScriptInstanceForWidget):
26026 * bindings/js/ScriptControllerWin.cpp:
26027 (WebCore::ScriptController::createScriptInstanceForWidget):
26028 * bindings/js/ScriptControllerWx.cpp:
26029 (WebCore::ScriptController::createScriptInstanceForWidget):
26030 * bindings/js/StringSourceProvider.h:
26031 (WebCore::StringSourceProvider::getRange):
26032 * bindings/objc/DOM.mm:
26033 (-[DOMNode JSC::Bindings::]):
26034 * bindings/objc/DOMInternal.h:
26035 * bindings/objc/DOMInternal.mm:
26036 (-[WebScriptObject _initializeScriptDOMNodeImp]):
26037 * bindings/objc/DOMUtility.mm:
26038 (JSC::createDOMWrapper):
26039 (WebCore::createDOMWrapper):
26040 * bindings/objc/WebScriptObject.mm:
26041 (WebCore::createJSWrapper):
26042 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
26043 * bindings/objc/WebScriptObjectPrivate.h:
26044 * bindings/scripts/CodeGeneratorJS.pm:
26045 * bridge/NP_jsobject.cpp:
26046 * bridge/NP_jsobject.h:
26047 * bridge/c/c_class.cpp:
26048 * bridge/c/c_class.h:
26049 * bridge/c/c_instance.cpp:
26050 * bridge/c/c_instance.h:
26051 * bridge/c/c_runtime.cpp:
26052 * bridge/c/c_runtime.h:
26053 * bridge/c/c_utility.cpp:
26054 * bridge/c/c_utility.h:
26055 * bridge/jni/jni_class.cpp:
26056 * bridge/jni/jni_class.h:
26057 * bridge/jni/jni_instance.cpp:
26058 * bridge/jni/jni_instance.h:
26059 * bridge/jni/jni_jsobject.h:
26060 * bridge/jni/jni_jsobject.mm:
26061 (JavaJSObject::call):
26062 (JavaJSObject::convertJObjectToValue):
26063 * bridge/jni/jni_objc.mm:
26064 (JSC::Bindings::dispatchJNICall):
26065 * bridge/jni/jni_runtime.cpp:
26066 * bridge/jni/jni_runtime.h:
26067 * bridge/jni/jni_utility.cpp:
26068 * bridge/jni/jni_utility.h:
26069 * bridge/npruntime.cpp:
26070 (_NPN_GetStringIdentifier):
26071 * bridge/objc/WebScriptObject.h:
26072 * bridge/objc/objc_class.h:
26073 * bridge/objc/objc_class.mm:
26074 * bridge/objc/objc_instance.h:
26075 * bridge/objc/objc_instance.mm:
26076 * bridge/objc/objc_runtime.h:
26077 * bridge/objc/objc_runtime.mm:
26078 * bridge/objc/objc_utility.h:
26079 * bridge/objc/objc_utility.mm:
26080 * bridge/qt/qt_class.cpp:
26081 * bridge/qt/qt_class.h:
26082 * bridge/qt/qt_instance.cpp:
26083 * bridge/qt/qt_instance.h:
26084 * bridge/qt/qt_runtime.cpp:
26085 (JSC::Bindings::convertQVariantToValue):
26086 (JSC::Bindings::):
26087 * bridge/qt/qt_runtime.h:
26088 * bridge/runtime.cpp:
26089 * bridge/runtime.h:
26090 * bridge/runtime_array.cpp:
26091 * bridge/runtime_array.h:
26092 * bridge/runtime_method.cpp:
26093 * bridge/runtime_method.h:
26094 * bridge/runtime_object.cpp:
26095 * bridge/runtime_object.h:
26096 * bridge/runtime_root.cpp:
26097 (JSC::Bindings::RootObject::invalidate):
26098 (JSC::Bindings::RootObject::gcProtect):
26099 (JSC::Bindings::RootObject::gcUnprotect):
26100 * bridge/runtime_root.h:
26101 * bridge/testbindings.cpp:
26102 * bridge/testbindings.mm:
26103 * bridge/testqtbindings.cpp:
26104 * dom/Document.cpp:
26105 (WebCore::Document::~Document):
26106 * dom/NSResolver.h:
26107 * dom/Node.cpp:
26108 (WebCore::Node::setDocument):
26109 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
26110 (WebCore::resolveNamespacesForSelector):
26111 (WebCore::Node::querySelector):
26112 (WebCore::Node::querySelectorAll):
26113 * dom/Node.h:
26114 * dom/NodeFilter.cpp:
26115 * dom/NodeFilter.h:
26116 * dom/NodeFilterCondition.cpp:
26117 * dom/NodeFilterCondition.h:
26118 * dom/NodeIterator.cpp:
26119 * dom/NodeIterator.h:
26120 * dom/Traversal.cpp:
26121 * dom/Traversal.h:
26122 * dom/TreeWalker.cpp:
26123 * dom/TreeWalker.h:
26124 * dom/make_names.pl:
26125 * history/CachedPage.cpp:
26126 * history/CachedPage.h:
26127 * html/HTMLPlugInElement.cpp:
26128 (WebCore::HTMLPlugInElement::getInstance):
26129 * html/HTMLPlugInElement.h:
26130 * loader/FrameLoader.cpp:
26131 * loader/FrameLoader.h:
26132 * loader/icon/IconDatabase.cpp:
26133 (WebCore::iconDatabase):
26134 * page/Console.cpp:
26135 * page/Console.h:
26136 * page/InspectorController.cpp:
26137 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
26138 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
26139 (WebCore::InspectorResource::setXMLHttpRequestProperties):
26140 (WebCore::InspectorResource::sourceString):
26141 (WebCore::getResourceDocumentNode):
26142 (WebCore::search):
26143 (WebCore::InspectorController::focusNode):
26144 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
26145 (WebCore::InspectorController::addDatabaseScriptResource):
26146 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
26147 * page/InspectorController.h:
26148 (WebCore::InspectorController::profiles):
26149 * page/JavaScriptCallFrame.cpp:
26150 (WebCore::JavaScriptCallFrame::scopeChain):
26151 * page/JavaScriptCallFrame.h:
26152 (WebCore::JavaScriptCallFrame::create):
26153 (WebCore::JavaScriptCallFrame::update):
26154 * page/JavaScriptDebugListener.h:
26155 * page/JavaScriptDebugServer.cpp:
26156 (WebCore::dispatchDidParseSource):
26157 * page/JavaScriptDebugServer.h:
26158 * page/JavaScriptProfile.cpp:
26159 * page/JavaScriptProfile.h:
26160 * page/JavaScriptProfileNode.cpp:
26161 (WebCore::getTotalTime):
26162 (WebCore::getSelfTime):
26163 (WebCore::getTotalPercent):
26164 (WebCore::getSelfPercent):
26165 (WebCore::getNumberOfCalls):
26166 (WebCore::getChildren):
26167 (WebCore::getVisible):
26168 * page/JavaScriptProfileNode.h:
26169 * page/Page.cpp:
26170 (WebCore::Page::setDebuggerForAllPages):
26171 (WebCore::Page::setDebugger):
26172 * page/Page.h:
26173 (WebCore::Page::debugger):
26174 * page/mac/FrameMac.mm:
26175 * platform/KURL.h:
26176 (WebCore::KURL::operator JSC::UString):
26177 * platform/text/AtomicString.cpp:
26178 (WebCore::AtomicString::add):
26179 (WebCore::AtomicString::find):
26180 * platform/text/AtomicString.h:
26181 (WebCore::AtomicString::AtomicString):
26182 * platform/text/PlatformString.h:
26183 * platform/text/String.cpp:
26184 (WebCore::charactersToDouble):
26185 * platform/win/BString.cpp:
26186 * platform/win/BString.h:
26187 * plugins/MimeTypeArray.h:
26188 * plugins/Plugin.h:
26189 * plugins/PluginArray.h:
26190 * plugins/PluginView.cpp:
26191 (WebCore::PluginView::start):
26192 (WebCore::PluginView::performRequest):
26193 (WebCore::PluginView::bindingInstance):
26194 * plugins/PluginView.h:
26195 * plugins/gtk/PluginViewGtk.cpp:
26196 (WebCore::PluginView::paint):
26197 (WebCore::PluginView::handleKeyboardEvent):
26198 (WebCore::PluginView::handleMouseEvent):
26199 (WebCore::PluginView::setNPWindowRect):
26200 (WebCore::PluginView::stop):
26201 (WebCore::PluginView::init):
26202 * plugins/qt/PluginViewQt.cpp:
26203 (WebCore::PluginView::setNPWindowRect):
26204 (WebCore::PluginView::stop):
26205 (WebCore::PluginView::init):
26206 * plugins/win/PluginViewWin.cpp:
26207 (WebCore::PluginView::dispatchNPEvent):
26208 (WebCore::PluginView::handleKeyboardEvent):
26209 (WebCore::PluginView::handleMouseEvent):
26210 (WebCore::PluginView::setNPWindowRect):
26211 (WebCore::PluginView::stop):
26212 * storage/Database.cpp:
26213 (WebCore::Database::Database):
26214 * xml/XMLHttpRequest.cpp:
26215 (WebCore::XMLHttpRequest::responseText):
26216 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
26217 (WebCore::XMLHttpRequest::clearResponse):
26218 (WebCore::XMLHttpRequest::dropProtection):
26219 (WebCore::XMLHttpRequest::didFinishLoading):
26220 (WebCore::XMLHttpRequest::didReceiveData):
26221 * xml/XMLHttpRequest.h:
26222
abarth@webkit.orge17b6052008-09-08 00:03:30 +0000262232008-09-07 Adam Barth <abarth@webkit.org>
26224
26225 Reviewed by Sam Weinig.
26226
26227 Adopt opener restriction on frame navigation.
26228 https://bugs.webkit.org/show_bug.cgi?id=20642
26229
26230 This restriction helps prevent an attacker from navigating top-level
26231 windows that were created by another web site.
26232
26233 Tests: http/tests/security/frameNavigation/not-opener.html
26234 http/tests/security/frameNavigation/opener.html
26235
26236 * loader/FrameLoader.cpp:
26237 (WebCore::canAccessAncestor):
26238 (WebCore::FrameLoader::shouldAllowNavigation):
26239
mitz@apple.com83469af2008-09-07 22:29:56 +0000262402008-09-07 Dan Bernstein <mitz@apple.com>
26241
mitz@apple.com08ff58c2008-09-07 23:19:11 +000026242 Reviewed by Maciej Stachowiak.
26243
26244 - use the correct sign for vertical offsets of combining marks
26245
26246 * platform/graphics/win/UniscribeController.cpp:
26247 (WebCore::UniscribeController::shapeAndPlaceItem):
26248
262492008-09-07 Dan Bernstein <mitz@apple.com>
26250
mitz@apple.com83469af2008-09-07 22:29:56 +000026251 Reviewed by Dave Hyatt.
26252
mitz@apple.com78685b22008-09-07 22:30:29 +000026253 - add the combining mark offsets in two places where I forgot them
26254
26255 * platform/graphics/win/FontCGWin.cpp:
26256 (WebCore::Font::drawGlyphs):
26257
262582008-09-07 Dan Bernstein <mitz@apple.com>
26259
26260 Reviewed by Dave Hyatt.
26261
mitz@apple.com83469af2008-09-07 22:29:56 +000026262 - correct glyph advances in complex text using web fonts rendered with
26263 Core Graphics
26264
26265 * platform/graphics/win/FontCustomPlatformData.cpp:
26266 (WebCore::FontCustomPlatformData::fontPlatformData):
26267
timothy@apple.com968ebc92008-09-07 16:48:41 +0000262682008-09-07 Keishi Hattori <casey.hattori@gmail.com>
26269
26270 Adds console.dirxml support to the Web Inspector.
26271
26272 https://bugs.webkit.org/show_bug.cgi?id=19156
26273
26274 Reviewed by Timothy Hatcher.
26275
26276 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
26277 * bindings/js/JSConsoleCustom.cpp:
26278 (WebCore::JSConsole::dirxml):
26279 * page/Console.cpp:
26280 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
26281 * page/Console.h:
26282 (WebCore::): Added NodeMessageLevel.
26283 * page/Console.idl: Added console.dirxml.
26284 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
26285 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
26286 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
26287 * page/inspector/ElementsTreeOutline.js: Added.
26288 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
26289 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
26290 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
26291 * page/inspector/inspector.css:
26292 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
26293 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
26294 (WebInspector.altKeyDown):
26295 (WebInspector.forceHoverHighlight):
26296 (WebInspector.hoveredDOMNode):
26297 (WebInspector._updateHoverHighlightSoon):
26298 (WebInspector._updateHoverHighlight):
26299 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
26300 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
26301 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
26302 isAncestorIncludingParentFrames.
26303
mrowe@apple.com61ba5f52008-09-07 06:08:56 +0000263042008-09-06 Mark Rowe <mrowe@apple.com>
26305
26306 Qt build fix.
26307
26308 * bridge/qt/qt_runtime.cpp:
26309 (KJS::Bindings::convertQVariantToValue):
26310
mrowe@apple.comf88a4632008-09-07 05:44:58 +000026311=== End merge of squirrelfish-extreme ===
26312
263132008-09-05 Oliver Hunt <oliver@apple.com>
26314
26315 Start bringing up SFX on windows.
26316
26317 Reviewed by Mark Rowe and Sam Weinig
26318
26319 Start doing the work to bring up SFX on windows. Initially
26320 just working on WREC, as it does not make any calls so reduces
26321 the amount of code that needs to be corrected.
26322
26323 Add forwarding headers
26324
26325 * ChangeLog:
26326 * ForwardingHeaders/masm/MacroAssembler.h: Added.
26327 * WebCore.vcproj/WebCore.vcproj:
26328
263292008-08-27 Mark Rowe <mrowe@apple.com>
26330
26331 Reviewed by Oliver Hunt.
26332
26333 Fix the build of the full WebKit stack.
26334
26335 Add forwarding headers.
26336
26337 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
26338 * ForwardingHeaders/wrec/WREC.h: Added.
26339
26340=== Start merge of squirrelfish-extreme ===
26341
antti@apple.com13c24932008-09-07 03:54:21 +0000263422008-09-06 Antti Koivisto <antti@apple.com>
26343
26344 Reviewed by Dave Hyatt.
26345
26346 <rdar://problem/6187043>
26347 Don't parse full HTML user agent style sheet unless it is actually needed
26348 <rdar://problem/6131889>
26349 WebView is significantly more expensive to create recently
26350
26351 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
26352 startup. Some clients may never use most of the rules.
26353
26354 With this patch we use simplified UA stylesheet until we hit something it can't handle.
26355 This avoids full stylesheet parsing on application startup (due to empty document construction)
26356 and also makes it possible for clients with very simple demands (divs and spans only) never to load
26357 the full style.
26358
26359 It also delays view source style parsing until it is used.
26360
26361 * css/CSSStyleSelector.cpp:
26362 (WebCore::elementCanUseSimpleDefaultStyle):
26363 (WebCore::CSSStyleSelector::CSSStyleSelector):
26364 (WebCore::loadFullDefaultStyle):
26365 (WebCore::loadSimpleDefaultStyle):
26366 (WebCore::loadViewSourceStyle):
26367 (WebCore::CSSStyleSelector::matchUARules):
26368 (WebCore::CSSStyleSelector::styleForElement):
26369
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +0000263702008-09-06 Kevin Ollivier <kevino@theolliviers.com>
26371
26372 wx build fix.
26373
26374 * WebCoreSources.bkl:
26375
antti@apple.come953f862008-09-06 23:27:09 +0000263762008-09-06 Antti Koivisto <antti@apple.com>
26377
antti@apple.com00dfa532008-09-06 23:32:26 +000026378 Reverting r35953 which was causing problems on Windows which relies on
26379 WebCore timers in nested event loops. r36132 did alternative fix.
26380
26381 * page/Chrome.cpp:
26382 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
26383 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
26384
263852008-09-06 Antti Koivisto <antti@apple.com>
26386
antti@apple.come953f862008-09-06 23:27:09 +000026387 Reviewed by Dan Bernstein.
26388
26389 Fix <rdar://problem/6201644>
26390 https://bugs.webkit.org/show_bug.cgi?id=20493
26391 Crash after OK in dialog box and reloading page in secure mode
26392
26393 Limited loader only fix since the general timer fix is causing problems on Windows.
26394
26395 * loader/loader.cpp:
26396 (WebCore::Loader::servePendingRequests):
26397 (WebCore::Loader::Host::Host):
26398 (WebCore::Loader::Host::didFinishLoading):
26399 (WebCore::Loader::Host::didFail):
26400 (WebCore::Loader::Host::didReceiveData):
26401 * loader/loader.h:
26402 (WebCore::Loader::Host::processingResource):
26403
mitz@apple.com046bf642008-09-06 08:31:02 +0000264042008-09-06 Dan Bernstein <mitz@apple.com>
26405
26406 Reviewed by Dave Hyatt.
26407
mitz@apple.comc0b050b2008-09-06 22:39:34 +000026408 The initial Core Text adoption prototype was made by Daniel Fenwick.
26409
26410 - <rdar://problem/5158514> Add a Core Text-based complex text code path
26411
26412 Currently the Core Text code path is not used in any configuration.
26413
26414 * WebCore.xcodeproj/project.pbxproj: Added files.
26415 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
26416 * platform/graphics/Font.cpp:
26417 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
26418 of the loop.
26419 * platform/graphics/GlyphBuffer.h:
26420 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
26421 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
26422 Added getCTFont() and getCFStringAttributes() and corresponding data
26423 members for Core Text.
26424 * platform/graphics/mac/CoreTextController.cpp: Added.
26425 (WebCore::roundCGFloat): Helper function.
26426 (WebCore::ceilCGFloat): Helper function.
26427 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
26428 (WebCore::CoreTextController::CoreTextController):
26429 (WebCore::CoreTextController::offsetForPosition):
26430 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
26431 run into subruns as necessary such that each subrun can be rendered with
26432 a single font. Also separates out soft hyphens and replaces them with
26433 real hyphens, because Core Text does not emit a glyph for soft hyphens.
26434 Then calls collectCoreTextRunsForCharacters() on each subrun.
26435 (WebCore::CoreTextController::advance):
26436 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
26437 a CTLine from the given subrun and collects its CoreTextRuns.
26438 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
26439 rounding hacks, letter- and word-spacing and glyph substitutions and
26440 stores the resulting adjusted glyphs and advances.
26441 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
26442 (WebCore::CoreTextController::totalWidth):
26443 (WebCore::CoreTextController::finalRoundingWidth):
26444 (WebCore::CoreTextController::CoreTextRun::ctRun):
26445 (WebCore::CoreTextController::CoreTextRun::glyphCount):
26446 (WebCore::CoreTextController::CoreTextRun::fontData):
26447 (WebCore::CoreTextController::CoreTextRun::characters):
26448 (WebCore::CoreTextController::CoreTextRun::stringLocation):
26449 (WebCore::CoreTextController::CoreTextRun::stringLength):
26450 (WebCore::CoreTextController::CoreTextRun::indexAt):
26451 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
26452 FontMacATSUI.mm.
26453 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
26454 (WebCore::disableLigatures): Changed to call
26455 FontPlatformData::allowsLigatures().
26456 (WebCore::overrideLayoutOperation): Changed to call
26457 FontPlatformData::roundsGlyphAdvances().
26458 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
26459 (WebCore::Font::selectionRectForComplexText): Changed to use
26460 totalWidth() instead of advancing to the end and using runWidthSoFar().
26461 (WebCore::Font::drawComplexText):
26462 (WebCore::Font::floatWidthForComplexText): Ditto.
26463 (WebCore::Font::offsetForPositionForComplexText):
26464 * platform/graphics/mac/FontPlatformData.h:
26465 * platform/graphics/mac/FontPlatformDataMac.mm:
26466 (WebCore::FontPlatformData::setFont):
26467 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
26468 AppKit rendering mode.
26469 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
26470 heuristic that allows ligatures in fonts that do not have a glyph for
26471 'a', based on the assumption that such fonts are only used in complex
26472 text.
26473 * platform/graphics/mac/SimpleFontDataMac.mm:
26474 (WebCore::SimpleFontData::platformInit):
26475 (WebCore::SimpleFontData::platformDestroy):
26476 (WebCore::SimpleFontData::getCTFont): Added.
26477 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
26478 returns an attributes dictionary.
26479 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
26480 * platform/text/mac/ShapeArabic.h: Ditto.
26481
264822008-09-06 Dan Bernstein <mitz@apple.com>
26483
26484 Reviewed by Dave Hyatt.
26485
mitz@apple.com046bf642008-09-06 08:31:02 +000026486 - make combining mark offsets work in CG text on Windows
26487
26488 * platform/graphics/win/FontCGWin.cpp:
26489 (WebCore::Font::drawGlyphs): The old code tried to translate the text
26490 matrix, but failed for two reasons: it did not actually change the
26491 matrix, and even if it did, CGContextSetTextPosition overwrites the
26492 translation values in the text matrix. Instead, just added the
26493 translation to the anchor point.
26494
alp@webkit.org369cdca2008-09-06 04:08:30 +0000264952008-09-05 Gustavo Noronha Silva <gns@gnome.org>
26496
26497 Reviewed by Alp Toker.
26498
26499 https://bugs.webkit.org/show_bug.cgi?id=18346
26500 [GTK] Remove build warnings
26501
26502 Applied some casts, and removed an unused typedef to make the
26503 compiler happy, printing less warnings when building.
26504
26505 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
26506 * platform/graphics/gtk/SimpleFontDataPango.cpp:
26507 (WebCore::SimpleFontData::containsCharacters):
26508 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
26509 (webkit_video_sink_set_caps):
26510 * platform/network/soup/ResourceHandleSoup.cpp:
26511
eric@webkit.org3cb292c2008-09-05 22:17:56 +0000265122008-09-05 Eric Seidel <eric@webkit.org>
26513
eric@webkit.org5ac37902008-09-06 00:21:58 +000026514 Reviewed by Adam Roben.
26515
26516 Build fix for WebKitWin and Chromium
26517
26518 * platform/FileSystem.h:
26519
265202008-09-05 Eric Seidel <eric@webkit.org>
26521
eric@webkit.org3cb292c2008-09-05 22:17:56 +000026522 Reviewed by Darin Adler.
26523
26524 Try to make Chromium compile with ToT:
26525 - Wrap a few places which depend on KJS:: in #if USE(JSC)
26526 - Include some windows forward declarations
26527
26528 * dom/Node.h:
26529 * page/Console.h:
26530 * page/animation/CompositeAnimation.h:
26531 * platform/FileSystem.h:
26532 * platform/graphics/Image.h:
26533 * platform/text/AtomicString.h:
26534 * platform/text/String.cpp:
26535 * rendering/style/RenderStyle.h:
26536
hyatt@apple.comff85d5e2008-09-05 21:52:08 +0000265372008-09-05 Dave Hyatt <hyatt@apple.com>
26538
26539 Add support for runtime switchability of the Aqua look and the native look on Windows.
26540 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
26541
26542 Reviewed by Adam Roben
26543
26544 * WebCore.vcproj/WebCore.vcproj:
26545 * page/Settings.cpp:
26546 (WebCore::Settings::setShouldPaintNativeControls):
26547 * page/Settings.h:
26548 (WebCore::Settings::shouldPaintNativeControls):
26549 * rendering/RenderThemeSafari.cpp:
26550 (WebCore::theme):
26551 * rendering/RenderThemeWin.cpp:
26552
antti@apple.combced97f2008-09-05 18:52:05 +0000265532008-09-05 Antti Koivisto <antti@apple.com>
26554
26555 Qt build fix.
26556
26557 * svg/SVGFEImageElement.cpp:
26558 (WebCore::SVGFEImageElement::build):
26559
aroben@apple.comca0c3362008-09-05 15:33:28 +0000265602008-09-05 Dirk Schulze <vbs85@gmx.de>
26561
26562 Gtk build fix
26563
26564 * GNUmakefile.am:
26565
antti@apple.com72e4a842008-09-05 09:28:11 +0000265662008-09-05 Antti Koivisto <antti@apple.com>
26567
antti@apple.com49e46662008-09-05 10:36:59 +000026568 Another build fix.
26569
26570 * svg/SVGFEImageElement.cpp:
26571 (WebCore::SVGFEImageElement::notifyFinished):
26572
265732008-09-05 Antti Koivisto <antti@apple.com>
26574
antti@apple.comfeec2582008-09-05 10:03:39 +000026575 Build fixes.
26576
26577 * WebCore.xcodeproj/project.pbxproj:
26578 * svg/graphics/filters/SVGFEImage.cpp:
26579 (WebCore::FEImage::cachedImage):
26580
265812008-09-05 Antti Koivisto <antti@apple.com>
26582
darin@apple.com07c80c62008-09-05 18:15:43 +000026583 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +000026584
26585 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
26586 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
26587
26588 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
26589 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
26590 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
26591 we avoid re-decoding resources, especially images.
26592
26593 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
26594 CacheControl: max-age=0 header. That would be added in reload case.
26595
26596 The approach for revalidation is to kick the original resource out from the memory cache
26597 and create a new CachedResource that represents the revalidation request. In case
26598 we get 304 back for the request we put the original resource back to the cache, update
26599 its expiration date and switch the clients registered to revalidation resource to be
26600 clients of the original resource.
26601
26602 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
26603 This allows updating the handles to point to the original resource when the revalidation succeeds. It
26604 also acts as refcounting smart pointer.
26605
26606 * WebCore.pro:
26607 * WebCore.vcproj/WebCore.vcproj:
26608 * WebCore.xcodeproj/project.pbxproj:
26609 * css/CSSFontFaceSource.h:
26610 * css/CSSImportRule.h:
26611 * dom/Clipboard.h:
26612 (WebCore::Clipboard::dragImage):
26613 * dom/ProcessingInstruction.h:
26614 * dom/ScriptElement.h:
26615 * dom/XMLTokenizer.cpp:
26616 (WebCore::XMLTokenizer::isWaitingForScripts):
26617 * dom/XMLTokenizer.h:
26618 * html/HTMLImageLoader.cpp:
26619 (WebCore::HTMLImageLoader::setImage):
26620 (WebCore::HTMLImageLoader::updateFromElement):
26621 (WebCore::HTMLImageLoader::notifyFinished):
26622 * html/HTMLImageLoader.h:
26623 (WebCore::HTMLImageLoader::image):
26624 * html/HTMLLinkElement.h:
26625 * html/HTMLTokenizer.cpp:
26626 (WebCore::HTMLTokenizer::reset):
26627 (WebCore::HTMLTokenizer::scriptHandler):
26628 (WebCore::HTMLTokenizer::notifyFinished):
26629 * html/HTMLTokenizer.h:
26630 * loader/Cache.cpp:
26631 (WebCore::Cache::revalidateResource):
26632 (WebCore::Cache::revalidationSucceeded):
26633 (WebCore::Cache::revalidationFailed):
26634 * loader/Cache.h:
26635 * loader/CachedResource.cpp:
26636 (WebCore::CachedResource::CachedResource):
26637 (WebCore::CachedResource::~CachedResource):
26638 (WebCore::CachedResource::isExpired):
26639 (WebCore::CachedResource::setResponse):
26640 (WebCore::CachedResource::deleteIfPossible):
26641 (WebCore::CachedResource::setResourceToRevalidate):
26642 (WebCore::CachedResource::clearResourceToRevalidate):
26643 (WebCore::CachedResource::switchClientsToRevalidatedResource):
26644 (WebCore::CachedResource::canUseCacheValidator):
26645 (WebCore::CachedResource::mustRevalidate):
26646 * loader/CachedResource.h:
26647 (WebCore::CachedResource::canDelete):
26648 (WebCore::CachedResource::registerHandle):
26649 (WebCore::CachedResource::unregisterHandle):
26650 (WebCore::CachedResource::isCacheValidator):
26651 (WebCore::CachedResource::resourceToRevalidate):
26652 (WebCore::CachedResource::setExpirationDate):
26653 * loader/CachedResourceHandle.cpp: Added.
26654 (WebCore::CachedResourceHandleBase::setResource):
26655 * loader/CachedResourceHandle.h: Added.
26656 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
26657 (WebCore::CachedResourceHandleBase::get):
26658 (WebCore::CachedResourceHandleBase::operator!):
26659 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
26660 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
26661 (WebCore::CachedResourceHandleBase::operator=):
26662 (WebCore::CachedResourceHandle::CachedResourceHandle):
26663 (WebCore::CachedResourceHandle::get):
26664 (WebCore::CachedResourceHandle::operator->):
26665 (WebCore::CachedResourceHandle::operator=):
26666 (WebCore::CachedResourceHandle::operator==):
26667 (WebCore::CachedResourceHandle::operator!=):
26668 (WebCore::operator==):
26669 (WebCore::operator!=):
26670 * loader/DocLoader.cpp:
26671 (WebCore::DocLoader::checkForReload):
26672 * loader/UserStyleSheetLoader.h:
26673 * loader/loader.cpp:
26674 (WebCore::Loader::Host::servePendingRequests):
26675 (WebCore::Loader::Host::didFinishLoading):
26676 (WebCore::Loader::Host::didFail):
26677 (WebCore::Loader::Host::didReceiveResponse):
26678 (WebCore::Loader::Host::didReceiveData):
26679 * page/EventHandler.cpp:
26680 (WebCore::EventHandler::selectCursor):
26681 * rendering/RenderImage.cpp:
26682 (WebCore::RenderImage::setCachedImage):
26683 (WebCore::RenderImage::imageChanged):
26684 * rendering/RenderImage.h:
26685 (WebCore::RenderImage::cachedImage):
26686 (WebCore::RenderImage::imagePtr):
26687 * rendering/style/RenderStyle.h:
26688 * rendering/style/StyleCachedImage.h:
26689 (WebCore::StyleCachedImage::data):
26690 (WebCore::StyleCachedImage::cachedImage):
26691 * svg/SVGFEImageElement.h:
26692 * svg/graphics/filters/SVGFEImage.h:
26693 * xml/XSLImportRule.h:
26694
beidson@apple.comab60d982008-09-05 04:58:12 +0000266952008-09-04 Brady Eidson <beidson@apple.com>
26696
26697 Reviewed by Mitz
26698
26699 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
26700
26701 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
26702 to model default NSURLRequest behavior in a cross-platform manner.
26703
26704 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
26705 client that wished to enforce a much larger default timeout using NSURLRequest API.
26706
26707 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
26708 behavior on the web and this restores previous Safari/WebKit behavior.
26709
26710 It would be easy to write a layout test for this, but to be effective it would have
26711 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
26712
26713 * manual-tests/timeout-test.html: Added.
26714 * manual-tests/timeout-test.php: Added.
26715
26716 * platform/network/ResourceRequestBase.h:
26717 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
26718 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
26719 * platform/network/mac/ResourceRequestMac.mm:
26720 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
26721 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
26722 WebKit applications to enforce their own default timeout.
26723
mitz@apple.com20268542008-09-05 04:26:32 +0000267242008-09-04 Dan Bernstein <mitz@apple.com>
26725
26726 Reviewed by Beth Dakin.
26727
26728 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
26729
26730 Test: fast/repaint/button-spurious-layout-hint.html
26731
26732 * rendering/RenderButton.cpp:
26733 (WebCore::RenderButton::setStyle): Reset the inner block's style box
26734 flex to 0 to avoid getting a spurious layout hint.
26735
kevino@webkit.org3e8c4072008-09-04 23:53:04 +0000267362008-09-04 Kevin Ollivier <kevino@theolliviers.com>
26737
26738 wx build fixes.
26739
26740 * WebCoreSources.bkl:
26741 * bindings/js/ScriptControllerWx.cpp: Added.
26742 (WebCore::ScriptController::createScriptInstanceForWidget):
26743 * page/wx/AccessibilityObjectWx.cpp: Added.
26744 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
26745 * platform/graphics/wx/GraphicsContextWx.cpp:
26746 * webcore-base.bkl:
26747 * webcore-wx.bkl:
26748
mitz@apple.com95a87502008-09-04 23:27:19 +0000267492008-09-04 Dan Bernstein <mitz@apple.com>
26750
26751 Reviewed by Mark Rowe.
26752
26753 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
26754 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
26755 require a different approach
26756
26757 * css/CSSGrammar.y:
26758
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +0000267592008-09-04 Mark Rowe <mrowe@apple.com>
26760
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +000026761 Reviewed by Eric Seidel.
26762
26763 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
26764 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
26765
26766 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
26767 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
26768 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
26769
267702008-09-04 Mark Rowe <mrowe@apple.com>
26771
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000026772 Mac build fix.
26773
26774 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
26775
eric@webkit.org0716a542008-09-04 20:44:12 +0000267762008-09-04 Eric Seidel <eric@webkit.org>
26777
26778 Build fix only, no review.
26779
26780 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
26781
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +0000267822008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
26783
26784 Reviewed by Eric Seidel.
26785
26786 http://bugs.webkit.org/show_bug.cgi?id=20380
26787 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
26788
26789 * config.h: Include the configuration header generated by autotools if
26790 available.
26791
mitz@apple.com9d7e4262008-09-04 18:15:25 +0000267922008-09-04 Dan Bernstein <mitz@apple.com>
26793
26794 Rubber-stamped by Dave Hyatt.
26795
26796 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
26797
26798 * loader/CachedFont.cpp:
26799 (WebCore::CachedFont::allClientsRemoved):
26800 * loader/CachedFont.h:
26801 * loader/CachedImage.cpp:
26802 (WebCore::CachedImage::allClientsRemoved):
26803 * loader/CachedImage.h:
26804 * loader/CachedResource.cpp:
26805 (WebCore::CachedResource::removeClient):
26806 * loader/CachedResource.h:
26807 (WebCore::CachedResource::allClientsRemoved):
26808
aroben@apple.com0da404d2008-09-04 16:09:33 +0000268092008-09-04 Adam Roben <aroben@apple.com>
26810
aroben@apple.comdd3861a2008-09-04 16:09:53 +000026811 Windows build fix after r36071
26812
26813 We were getting these errors:
26814
26815 error C2356: initialization segment must not change during translation
26816 unit
26817
26818 This was happening because multiple files #included by
26819 DerivedSources.cpp were themselves #including StaticConstructors.h. I
26820 fixed the error by adding header guards to StaticConstructors.h so its
26821 contents will only be included once.
26822
26823 But it's also not a good idea for StaticConstructors.h to end up in
26824 DerivedSources.cpp, since it ends up "polluting" all the source files
26825 we have in there. So I removed all the files that include
26826 StaticConstructors.h and added some preprocessor directives to
26827 DerivedSources.cpp to catch this error in the future.
26828
26829 * DerivedSources.cpp: Removed the *Names.cpp files, which include
26830 StaticConstructors.h, and added some preprocessor directives to make
26831 sure we don't end up accidentally including StaticConstructors.h in
26832 the future.
26833 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
26834 * platform/StaticConstructors.h: Added header guards.
26835
268362008-09-04 Adam Roben <aroben@apple.com>
26837
aroben@apple.com0da404d2008-09-04 16:09:33 +000026838 Windows build fix
26839
26840 * platform/graphics/win/FontPlatformData.h: Added a missing #include
26841 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
26842 * platform/text/PlatformString.h: Added a missing #include of
26843 PassRefPtr.h.
26844
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +0000268452008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
26846
26847 Reviewed by Simon.
26848
vestbo@webkit.orgb82da912008-09-04 14:24:58 +000026849 Fix the QtWebKit build to match changes in r36016
26850
26851 * WebCore.pro:
26852 * bridge/qt/qt_instance.cpp:
26853 (KJS::Bindings::QtInstance::getRuntimeObject):
26854 * bridge/qt/qt_runtime.cpp:
26855 (KJS::Bindings::convertQVariantToValue):
26856 (KJS::Bindings::QtConnectionObject::execute):
26857
268582008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
26859
26860 Reviewed by Simon.
26861
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000026862 Re-enable support for user stylesheets in QtWebKit
26863
26864 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
26865 code path, which allows us to keep API support for
26866 loading user style sheets from remote URLs.
26867
26868 As part of the change UserStyleSheetLoader.cpp/h was
26869 moved from WebCore/loader/mac to WebCore/loader.
26870
26871 * WebCore.pro:
26872 * WebCore.xcodeproj/project.pbxproj:
26873 * dom/Document.h:
26874 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
26875 (UserStyleSheetLoader::UserStyleSheetLoader):
26876 (UserStyleSheetLoader::~UserStyleSheetLoader):
26877 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
26878 * page/qt/FrameQt.cpp:
26879 (WebCore::Frame::setUserStyleSheetLocation):
26880 (WebCore::Frame::setUserStyleSheet):
26881
alp@webkit.org539ff852008-09-04 09:14:42 +0000268822008-09-04 Alp Toker <alp@nuanti.com>
26883
26884 Reviewed by Eric.
26885
26886 Remove left-over QT and CAIRO platform checks.
26887
26888 * html/CanvasRenderingContext2D.cpp:
26889
eric@webkit.orgbc0aab82008-09-04 08:39:51 +0000268902008-09-04 Eric Seidel <eric@webkit.org>
26891
26892 Reviewed by Mark Rowe.
26893
mitz@apple.com9388d252008-09-04 08:58:58 +000026894 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000026895
26896 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
26897
mitz@apple.com89557c52008-09-04 07:26:53 +0000268982008-09-04 Dan Bernstein <mitz@apple.com>
26899
26900 Reviewed by Dave Hyatt.
26901
26902 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
26903 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
26904
26905 * rendering/RenderBlock.cpp:
26906 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
26907 positioned movement only case, call
26908 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
26909 layout if that fails.
26910 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
26911 * rendering/RenderBox.h:
26912 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
26913 layoutDoingPositionedMovementOnly to this, and made this function
26914 check if the width changed. If it did, return, leaving the object
26915 dirty. The caller can then call layout(). The width can change even
26916 in the "positioned movement only" case if the object is shrink-to-fit
26917 and the available width constraint is met. (This was the case in the
26918 bug).
26919 * rendering/RenderObject.h:
26920 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
26921 Renamed layoutDoingPositionedMovementOnly() to this.
26922
eric@webkit.org8883b4a2008-09-04 06:31:37 +0000269232008-09-03 Eric Seidel <eric@webkit.org>
26924
26925 No review, build fix only.
26926
26927 Attempt to fix the Qt build.
26928
26929 * WebCore.pro: add page/animation to include path
26930
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +0000269312008-09-03 Mark Rowe <mrowe@apple.com>
26932
26933 Mac build fix. Correctly detect whether dashboard support is enabled.
26934
26935 * DerivedSources.make:
26936
eric@webkit.org3eefe672008-09-04 01:32:26 +0000269372008-09-03 Eric Seidel <eric@webkit.org>
26938
26939 Reviewed by Sam.
26940
eric@webkit.org5e069092008-09-04 01:32:51 +000026941 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
26942
26943 * Configurations/WebCore.xcconfig: add missing ENABLE_*
26944 * config.h: add rules for V8_BINDINGS
26945
269462008-09-03 Eric Seidel <eric@webkit.org>
26947
26948 Reviewed by Sam.
26949
eric@webkit.org3eefe672008-09-04 01:32:26 +000026950 https://bugs.webkit.org/show_bug.cgi?id=20620
26951
26952 Add #if USE(JSC) around KJS dependencies
26953 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
26954 1. Most platforms have it on anyway
26955 2. V8 is going to want to share some of that code
26956 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
26957
26958 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
26959 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
26960 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
26961 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
26962 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
26963 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
26964 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
26965 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
26966 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
26967 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
26968 * platform/text/AtomicString.cpp: add USE(JSC)
26969 * platform/text/AtomicString.h: add USE(JSC)
26970 * platform/text/PlatformString.h: add USE(JSC)
26971 * platform/text/String.cpp: add USE(JSC)
26972 * platform/text/StringImpl.cpp: add USE(JSC)
26973 * platform/text/StringImpl.h: add USE(JSC)
26974
mrowe@apple.comfbe724c2008-09-03 23:46:54 +0000269752008-09-03 Dean McNamee <deanm@chromium.org>
26976
26977 Reviewed by Darin Adler.
26978
26979 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
26980 Bug 20511: Remove static initializers on Windows
26981
26982 Avoid static initializers on Windows by forcing Visual C++ to put
26983 all static initializers in a code segment that is never executed.
26984
26985 * config.h:
26986 * css/MediaFeatureNames.cpp:
26987 * dom/EventNames.cpp:
26988 * dom/QualifiedName.cpp:
26989 * dom/make_names.pl:
26990 * platform/StaticConstructors.h:
26991 * platform/text/AtomicString.cpp:
26992
mrowe@apple.com3aa63182008-09-03 23:40:49 +0000269932008-09-03 Dirk Schulze <vbs85@gmx.de>
26994
26995 Reviewed by Dave Hyatt.
26996
26997 Make FontCairo draw TextStroke and TextFill separately.
26998
26999 [CAIRO] draw TextFill and TextStroke separately.
27000 [https://bugs.webkit.org/show_bug.cgi?id=20631]
27001
27002 * platform/graphics/cairo/FontCairo.cpp:
27003 (WebCore::Font::drawGlyphs):
27004
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000270052008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +000027006
27007 Reviewed by Dave Hyatt.
27008
27009 https://bugs.webkit.org/show_bug.cgi?id=19663
27010 Account for paint and timer lag when animating images. Also pretend
27011 that images whose animations were paused (by becoming invisible)
27012 continued to animate, by "catching up" to the correct frame when they're
27013 shown again.
27014
27015 * platform/graphics/BitmapImage.cpp:
27016 (WebCore::BitmapImage::BitmapImage):
27017 (WebCore::BitmapImage::startAnimation):
27018 (WebCore::BitmapImage::advanceAnimation):
27019 (WebCore::BitmapImage::internalAdvanceAnimation):
27020 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
27021 * platform/graphics/BitmapImage.h:
27022 * platform/graphics/cairo/ImageCairo.cpp:
27023 (WebCore::BitmapImage::draw):
27024 * platform/graphics/cg/ImageCG.cpp:
27025 (WebCore::BitmapImage::draw):
27026 * platform/graphics/qt/ImageQt.cpp:
27027 (WebCore::BitmapImage::draw):
27028 * platform/graphics/wx/ImageWx.cpp:
27029 (WebCore::BitmapImage::draw):
27030
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +0000270312008-09-03 Kevin McCullough <kmccullough@apple.com>
27032
27033 Reviewed by Tim.
27034
27035 Remove the rest of the "zombie" code from the profiler.
27036 - There is no longer a need for the ProfilerClient callback mechanism.
27037
27038 * page/Console.cpp:
27039 (WebCore::Console::Console):
27040 (WebCore::Console::profile):
27041 (WebCore::Console::profileEnd): Move the variables from the header to
27042 here since we don't have to wait for a callback to use them.
27043 * page/Console.h:
27044 * page/InspectorController.cpp:
27045 (WebCore::InspectorController::startUserInitiatedProfiling):
27046 (WebCore::InspectorController::stopUserInitiatedProfiling):
27047 * page/InspectorController.h:
27048
adachan@apple.com38c66182008-09-03 21:43:44 +0000270492008-09-03 Ada Chan <adachan@apple.com>
27050
27051 Windows build fix.
27052
27053 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
27054
dino@apple.com5c917622008-09-03 21:15:53 +0000270552008-09-01 Dean Jackson <dino@apple.com>
27056
27057 Reviewed by Dave Hyatt.
27058
27059 https://bugs.webkit.org/show_bug.cgi?id=20594
27060 Add DOM interfaces for WebKitCSSKeyframeRule
27061 and WebKitCSSKeyframesRule.
27062
27063 TEST: LayoutTests/css3/keyframes-rule.html
27064
27065 * css/WebKitCSSKeyframeRule.idl: Added
27066 * css/WebKitCSSKeyframesRule.idl: Added
27067
27068 * bindings/js/JSCSSRuleCustom.cpp:
27069 (WebCore::toJS):
27070 Add return of new JS Keyframe rules
27071 * bindings/objc/DOMInternal.h:
27072 Include new internal header
27073
27074 * DerivedSources.make:
27075 * GNUmakefile.am:
27076 * WebCore.pro:
27077 * WebCore.vcproj/WebCore.vcproj:
27078 * WebCore.xcodeproj/project.pbxproj:
27079 * WebCoreSources.bkl:
27080 Build configs for new files
27081
aroben@apple.com1f51bfa2008-09-03 20:30:59 +0000270822008-09-03 Adam Roben <aroben@apple.com>
27083
27084 Windows build fix
27085
27086 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
27087 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
27088 convenience/consistency.
27089
adele@apple.com27713582008-09-03 20:13:41 +0000270902008-09-03 Adele Peterson <adele@apple.com>
27091
27092 Build fix.
27093
27094 * WebCore.vcproj/WebCore.vcproj:
27095
hyatt@apple.com4b38ed82008-09-03 18:32:05 +0000270962008-09-03 David Hyatt <hyatt@apple.com>
27097
27098 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
27099
27100 Reviewed by Darin (ages ago)
27101
27102 Added fast/block/float/clamped-right-float.html
27103
27104 * rendering/RenderBlock.cpp:
27105 (WebCore::RenderBlock::positionNewFloats):
27106
hyatt@apple.comafe62052008-09-03 18:13:39 +0000271072008-09-02 David Hyatt <hyatt@apple.com>
27108
27109 Add support for canvas text drawing APIs.
27110
27111 Reviewed by olliej
27112
27113 Tests added as fast/canvas/canvas-text-*.html
27114
27115 * DerivedSources.make:
27116 * WebCore.xcodeproj/project.pbxproj:
27117 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
27118 (WebCore::JSCanvasRenderingContext2D::fillText):
27119 (WebCore::JSCanvasRenderingContext2D::strokeText):
27120 * css/CSSStyleSelector.cpp:
27121 (WebCore::CSSStyleSelector::initForStyleResolve):
27122 (WebCore::CSSStyleSelector::applyPropertyToStyle):
27123 * css/CSSStyleSelector.h:
27124 * html/CanvasRenderingContext2D.cpp:
27125 (WebCore::CanvasRenderingContext2D::State::State):
27126 (WebCore::CanvasRenderingContext2D::font):
27127 (WebCore::CanvasRenderingContext2D::setFont):
27128 (WebCore::CanvasRenderingContext2D::textAlign):
27129 (WebCore::CanvasRenderingContext2D::setTextAlign):
27130 (WebCore::CanvasRenderingContext2D::textBaseline):
27131 (WebCore::CanvasRenderingContext2D::setTextBaseline):
27132 (WebCore::CanvasRenderingContext2D::fillText):
27133 (WebCore::CanvasRenderingContext2D::strokeText):
27134 (WebCore::CanvasRenderingContext2D::measureText):
27135 (WebCore::CanvasRenderingContext2D::drawTextInternal):
27136 (WebCore::CanvasRenderingContext2D::accessFont):
27137 * html/CanvasRenderingContext2D.h:
27138 * html/CanvasRenderingContext2D.idl:
27139 * html/TextMetrics.h: Added.
27140 (WebCore::TextMetrics::create):
27141 (WebCore::TextMetrics::width):
27142 (WebCore::TextMetrics::setWidth):
27143 (WebCore::TextMetrics::TextMetrics):
27144 * html/TextMetrics.idl: Added.
27145 * platform/graphics/Font.cpp:
27146 (WebCore::Font::lineGap):
27147 * platform/graphics/Font.h:
27148 * platform/graphics/GraphicsContext.cpp:
27149 (WebCore::GraphicsContext::drawBidiText):
27150 * platform/graphics/GraphicsContext.h:
27151 * platform/graphics/GraphicsTypes.cpp:
27152 (WebCore::textAlignName):
27153 (WebCore::parseTextAlign):
27154 (WebCore::textBaselineName):
27155 (WebCore::parseTextBaseline):
27156 * platform/graphics/GraphicsTypes.h:
27157 (WebCore::):
27158
sullivan@apple.combc066af2008-09-03 17:37:24 +0000271592008-09-03 John Sullivan <sullivan@apple.com>
27160
27161 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
27162
27163 Fixed by Darin, reviewed by me
27164
27165 * page/animation/AnimationBase.cpp:
27166 (WebCore::AnimationBase::propertiesEqual):
27167 added ensurePropertyMap() to this static function
27168 (WebCore::AnimationBase::getPropertyAtIndex):
27169 ditto
27170 (WebCore::AnimationBase::getNumProperties):
27171 ditto
27172
kmccullough@apple.com70168ee2008-09-03 17:35:42 +0000271732008-09-03 Kevin McCullough <kmccullough@apple.com>
27174
27175 Reviewed by Darin and Tim.
27176
27177 Remove most of the "zombie" mode from the profiler. Next we will need
27178 to remove the client callback mechanism in profiles.
27179 - These changes are a result of changes to JSCore.
27180
27181 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
27182 * page/Console.cpp:
27183 (WebCore::retrieveLastCaller):
27184 (WebCore::Console::profileEnd):
27185 * page/InspectorController.cpp:
27186 (WebCore::InspectorController::stopUserInitiatedProfiling):
27187
adele@apple.com643616b2008-09-03 16:57:58 +0000271882008-09-03 Adele Peterson <adele@apple.com>
27189
27190 Reviewed by Darin Adler.
27191
27192 Test: fast/forms/search-display-none-cancel-button.html
27193
27194 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
27195
27196 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
27197
27198 * rendering/RenderTextControl.cpp:
27199 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
27200 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
27201 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
27202 (WebCore::RenderTextControl::createSubtreeIfNeeded):
27203 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
27204 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
27205 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
27206 (WebCore::RenderTextControl::calcHeight): ditto.
27207 (WebCore::RenderTextControl::nodeAtPoint): ditto.
27208 (WebCore::RenderTextControl::layout): ditto.
27209 (WebCore::RenderTextControl::calcPrefWidths): ditto.
27210 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
27211 (WebCore::RenderTextControl::clientPaddingRight): ditto.
27212
27213 * rendering/TextControlInnerElements.cpp:
27214 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
27215 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
27216 (WebCore::TextControlInnerElement::attachInnerElement): Added.
27217 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
27218 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
27219 * rendering/TextControlInnerElements.h:
27220
ap@webkit.orgacd84142008-09-03 08:08:19 +0000272212008-08-28 Alexey Proskuryakov <ap@webkit.org>
27222
27223 Reviewed by Maciej.
27224
27225 Elminate SQLiteAuthorizer class.
27226
27227 * WebCore.xcodeproj/project.pbxproj:
27228 * WebCore.vcproj/WebCore.vcproj:
27229 * GNUmakefile.am
27230 Removed SQLiteAuthorizer.h.
27231
27232 * platform/sql/SQLiteAuthorizer.cpp:
27233 * platform/sql/SQLiteAuthorizer.h: Removed.
27234 * platform/sql/SQLiteDatabase.cpp:
27235 (WebCore::SQLiteDatabase::authorizerFunction):
27236 (WebCore::SQLiteDatabase::setAuthorizer):
27237 * platform/sql/SQLiteDatabase.h:
27238 * storage/DatabaseAuthorizer.h:
27239 (WebCore::DatabaseAuthorizer::create):
27240 (WebCore::DatabaseAuthorizer::createView):
27241 (WebCore::DatabaseAuthorizer::createTempView):
27242 (WebCore::DatabaseAuthorizer::dropView):
27243 (WebCore::DatabaseAuthorizer::dropTempView):
27244 (WebCore::DatabaseAuthorizer::allowSelect):
27245 (WebCore::DatabaseAuthorizer::allowReindex):
27246 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
27247
mrowe@apple.com2ecd4862008-09-03 07:05:48 +0000272482008-09-03 Dirk Schulze <vbs85@gmx.de>
27249
27250 Reviewed by Mark Rowe.
27251
27252 WebKitGtk build fix.
27253
27254 * GNUmakefile.am:
27255 * page/animation/AnimationController.h:
27256
mrowe@apple.come344ad02008-09-03 06:59:03 +0000272572008-09-02 Robert Blaut <webkit@blaut.biz>
27258
27259 Reviewed by Geoff Garen.
27260
27261 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
27262 Misplaced elements should not close DL lists.
27263
27264 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
27265
27266 * html/HTMLParser.cpp:
27267 (WebCore::HTMLParser::handleError):
27268
mrowe@apple.com7a909462008-09-03 06:51:31 +0000272692008-09-02 Glenn Wilson <wilsong@gmail.com>
27270
27271 Reviewed by Darin Adler.
27272
27273 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
27274 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
27275
27276 We would inappropriately interpret and apply an invalid CSS "color" property
27277 when the value is a predefined color preceded by a '#' symbol. For example,
27278 style="color:#gray;" would apply the color gray when it should not.
27279
27280 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
27281 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
27282 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
27283 an ignorable token.
27284
27285 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
27286 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
27287 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
27288
27289 Test: css1/color_and_background/invalid_color.html
27290
27291 * css/CSSGrammar.y:
27292
mrowe@apple.comda9a1442008-09-03 06:22:12 +0000272932008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
27294
27295 Reviewed by Darin Adler.
27296
27297 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
27298 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
27299
27300 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
27301
27302 Test: css3/khtml-background-size-0x0-bmp.html
27303
27304 * rendering/RenderBox.cpp:
27305 (WebCore::RenderBox::repaintLayerRectsForImage):
27306
mrowe@apple.com6625ae52008-09-03 06:12:30 +0000273072008-09-02 Glenn Wilson <wilsong@gmail.com>
27308
27309 Reviewed by Eric Seidel.
27310
27311 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
27312 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
27313
27314 The function checkForOrphanedUnits() would change the length of a list whose size was
27315 was already determined before the call to checkForOrphanedUnits was made. Later in
27316 the caller, the old size was being used for boundary management.
27317
27318 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
27319 calling function, before the size of the list is determined.
27320
27321 Test: fast/css/orphaned_units_crash.html
27322
27323 * css/CSSParser.cpp:
27324 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
27325
mrowe@apple.com170bd522008-09-03 05:49:51 +0000273262008-09-02 Dirk Schulze <vbs85@gmx.de>
27327
27328 Reviewed by Darin Adler.
27329
mrowe@apple.comeb877a52008-09-03 06:01:15 +000027330 Fallback on invalid fill or stroke styles in Canvas was
27331 transparent black. Changed it to last valid style.
27332
27333 Canvas fillStyle() and strokeStyle() needs fallback
27334 https://bugs.webkit.org/show_bug.cgi?id=20474
27335
27336 Tests: fast/canvas/canvas-invalid-fillstyle.html
27337 fast/canvas/canvas-invalid-strokestyle.html
27338
27339 * html/CanvasStyle.cpp:
27340 (WebCore::CanvasStyle::applyStrokeColor):
27341 (WebCore::CanvasStyle::applyFillColor):
27342
273432008-09-02 Dirk Schulze <vbs85@gmx.de>
27344
27345 Reviewed by Darin Adler.
27346
mrowe@apple.com170bd522008-09-03 05:49:51 +000027347 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
27348 Updated drawImage() in canvas to match the current specification.
27349
27350 Test: fast/canvas/drawImage-with-negative-source-destination.html
27351
27352 * html/CanvasRenderingContext2D.cpp:
27353 (WebCore::normalizeRect):
27354 (WebCore::CanvasRenderingContext2D::drawImage):
27355
mrowe@apple.com96916d12008-09-03 05:41:44 +0000273562008-08-26 Mark Rowe <mrowe@apple.com>
27357
27358 Reviewed by Darin Adler.
27359
27360 <rdar://problem/5768210> Switch back to the system version of SQLite
27361
27362 Use the system version of SQLite when it is new enough to provide the functionality
27363 that WebCore requires.
27364
27365 * Configurations/Base.xcconfig:
27366 * Configurations/DebugRelease.xcconfig:
27367 * Configurations/WebCore.xcconfig:
27368
mitz@apple.comce268c12008-09-03 02:59:00 +0000273692008-09-02 Dan Bernstein <mitz@apple.com>
27370
27371 - build fix
27372
27373 * page/animation/AnimationBase.h:
27374
dino@apple.com7e49a7a2008-09-03 01:32:14 +0000273752008-09-02 Chris Marrin <cmarrin@apple.com>
27376
27377 Reviewed by Dave Hyatt.
27378
27379 AnimationController.cpp should be split into separate files
27380 https://bugs.webkit.org/show_bug.cgi?id=20604
27381
27382 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
27383 recommendation of Dave Hyatt.
27384
27385 * GNUmakefile.am:
27386 * WebCore.pro:
27387 * WebCore.vcproj/WebCore.vcproj:
27388 * WebCore.xcodeproj/project.pbxproj:
27389 * WebCoreSources.bkl:
27390 Build files.
27391
27392 * page/AnimationController.cpp: Removed.
27393 * page/AnimationController.h: Removed.
27394 * page/animation: Added.
27395 * page/animation/AnimationBase.cpp: Added.
27396 * page/animation/AnimationBase.h: Added.
27397 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
27398 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
27399 * page/animation/CompositeAnimation.cpp: Added.
27400 * page/animation/CompositeAnimation.h: Added.
27401 * page/animation/ImplicitAnimation.cpp: Added.
27402 * page/animation/ImplicitAnimation.h: Added.
27403 * page/animation/KeyframeAnimation.cpp: Added.
27404 * page/animation/KeyframeAnimation.h: Added.
27405
mitz@apple.comcb917a22008-09-03 00:57:37 +0000274062008-09-02 Dan Bernstein <mitz@apple.com>
27407
27408 - release build fix
27409
27410 * platform/graphics/cg/GraphicsContextCG.cpp:
27411 (WebCore::calculateDrawingMode):
27412
timothy@apple.comf3aa7342008-09-02 21:30:26 +0000274132008-09-02 Timothy Hatcher <timothy@apple.com>
27414
timothy@apple.comc33ff3c2008-09-02 21:35:02 +000027415 Make console functions log the correct resource URL and
27416 line number for where the call originated.
27417
27418 https://bugs.webkit.org/show_bug.cgi?id=17234
27419 <rdar://problem/5732837>
27420
27421 Reviewed by Kevin McCullough.
27422
27423 Test: manual-tests/inspector/console-call-line-numbers.html
27424
27425 * bindings/js/JSConsoleCustom.cpp:
27426 (WebCore::JSConsole::count): Call the impl.
27427 (WebCore::JSConsole::timeEnd): Ditto.
27428 * manual-tests/inspector/console-call-line-numbers.html: Added.
27429 * manual-tests/inspector/resources/script-console-calls.js: Added.
27430 * page/Console.cpp:
27431 (WebCore::retrieveLastCaller): Helper to get the URL and line.
27432 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
27433 line number to pass to addMessageToConsole.
27434 (WebCore::Console::info): Ditto.
27435 (WebCore::Console::log): Ditto.
27436 (WebCore::Console::assertCondition): Ditto.
27437 (WebCore::Console::count): Ditto.
27438 (WebCore::Console::timeEnd): Ditto.
27439 (WebCore::Console::warn): Ditto.
27440 * page/Console.h:
27441 * page/Console.idl: Make count and timeEnd custom.
27442
274432008-09-02 Timothy Hatcher <timothy@apple.com>
27444
timothy@apple.comf3aa7342008-09-02 21:30:26 +000027445 Removed IDL files from WebCore's framework resources.
27446
27447 * WebCore.xcodeproj/project.pbxproj:
27448
mitz@apple.comfb6ad392008-09-02 20:39:29 +0000274492008-09-02 Dan Bernstein <mitz@apple.com>
27450
27451 Reviewed by Dave Hyatt.
27452
27453 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
27454
27455 * html/HTMLParser.cpp:
27456 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
27457 cap on the number of consecutive identical residual style tags to
27458 reopen.
27459 (WebCore::HTMLParser::popBlock): Ditto.
27460
ap@webkit.org879328b2008-09-02 16:16:06 +0000274612008-09-02 Alexey Proskuryakov <ap@webkit.org>
27462
27463 Reviewed by Adam Roben.
27464
27465 A little database quota management cleanup.
27466
27467 * storage/OriginQuotaManager.cpp:
27468 (WebCore::OriginQuotaManager::OriginQuotaManager):
27469 (WebCore::OriginQuotaManager::lock):
27470 (WebCore::OriginQuotaManager::unlock):
27471 (WebCore::OriginQuotaManager::trackOrigin):
27472 (WebCore::OriginQuotaManager::tracksOrigin):
27473 (WebCore::OriginQuotaManager::addDatabase):
27474 (WebCore::OriginQuotaManager::removeDatabase):
27475 (WebCore::OriginQuotaManager::removeOrigin):
27476 (WebCore::OriginQuotaManager::markDatabase):
27477 (WebCore::OriginQuotaManager::diskUsage):
27478 * storage/OriginQuotaManager.h:
27479 Changed to assert that a lock is taken more directly and reliably. Removed comments about
27480 main/background threads, as this is likely to stop being true with synchronous Database calls
27481 being made on worker threads.
27482
27483 * storage/OriginUsageRecord.cpp:
27484 (WebCore::OriginUsageRecord::OriginUsageRecord):
27485 (WebCore::OriginUsageRecord::addDatabase):
27486 (WebCore::OriginUsageRecord::removeDatabase):
27487 (WebCore::OriginUsageRecord::markDatabase):
27488 (WebCore::OriginUsageRecord::diskUsage):
27489 * storage/OriginUsageRecord.h:
27490 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
27491 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
27492 can be replaced with a single boolean for OriginUsageRecord.
27493 Added assertions for string parameters being unshared.
27494
27495
abarth@webkit.orgaea97a02008-09-02 04:26:15 +0000274962008-09-01 Adam Barth <abarth@webkit.org>
27497
27498 Reviewed by Sam Weinig.
27499
27500 https://bugs.webkit.org/show_bug.cgi?id=19760
27501
27502 Make granting LoadLocalResources conditional on a policy.
27503
27504 * WebCore.base.exp:
27505 * dom/Document.cpp:
27506 (WebCore::Document::initSecurityContext):
27507 * loader/FrameLoader.cpp:
27508 (WebCore::FrameLoader::setLocalLoadPolicy):
27509 (WebCore::FrameLoader::restrictAccessToLocal):
27510 * loader/FrameLoader.h:
27511 (WebCore::FrameLoader::):
27512 * platform/SecurityOrigin.cpp:
27513 (WebCore::SecurityOrigin::grantLoadLocalResources):
27514 * platform/SecurityOrigin.h:
27515
dino@apple.com6e2db502008-09-01 23:05:28 +0000275162008-09-01 Dean Jackson <dino@apple.com>
27517
dino@apple.com59ca9f52008-09-01 23:34:13 +000027518 Reviewed by Sam Weinig.
27519
27520 https://bugs.webkit.org/show_bug.cgi?id=20571
27521 Make sure Window object can assign Animation/Transition event
27522 listeners via attributes.
27523
27524 Also added a bunch of transition event tests, although
27525 only transition-end-event-window is directly relevant to this patch.
27526
27527 (WebCore::JSDOMWindowBase::put):
27528
27529 Tests: transitions/transition-end-event-all-properties.html
27530 transitions/transition-end-event-attributes.html
27531 transitions/transition-end-event-container.html
27532 transitions/transition-end-event-left.html
27533 transitions/transition-end-event-multiple-01.html
27534 transitions/transition-end-event-multiple-02.html
27535 transitions/transition-end-event-multiple-03.html
27536 transitions/transition-end-event-multiple-04.html
27537 transitions/transition-end-event-nested.html
27538 transitions/transition-end-event-transform.html
27539 transitions/transition-end-event-window.html
27540
275412008-09-01 Dean Jackson <dino@apple.com>
27542
dino@apple.com6e2db502008-09-01 23:05:28 +000027543 Reviewed by Sam Weinig
27544
27545 Code styling cleanup.
27546
27547 * bindings/js/JSDOMWindowBase.cpp:
27548 (WebCore::JSDOMWindowBase::getValueProperty):
27549 (WebCore::JSDOMWindowBase::put):
27550
weinig@apple.com3412bb42008-09-01 21:22:54 +0000275512008-09-01 Geoffrey Garen <ggaren@apple.com>
27552
27553 Reviewed by Darin Adler.
27554
27555 First cut at inline caching for access to vanilla JavaScript properties.
27556
27557 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
27558 to WebCore classes, and PutPropertySlot& arguments to put functions.
27559
27560 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
27561 inline caching for global properties, so global assignment can be optimized.
27562
27563 * ForwardingHeaders/kjs/StructureID.h: Added.
27564 * bindings/js/JSDOMBinding.h:
27565 (WebCore::DOMObject::DOMObject):
27566 * bindings/js/JSDOMWindowBase.cpp:
27567 (WebCore::JSDOMWindowBase::put):
27568 * bindings/js/JSDOMWindowBase.h:
27569 * bindings/js/JSDOMWindowCustom.h:
27570 (WebCore::JSDOMWindow::customPut):
27571 * bindings/js/JSDOMWindowShell.cpp:
27572 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
27573 (WebCore::JSDOMWindowShell::put):
27574 * bindings/js/JSDOMWindowShell.h:
27575 * bindings/js/JSEventTargetBase.h:
27576 (WebCore::JSEventTargetBase::put):
27577 * bindings/js/JSEventTargetNode.h:
27578 (WebCore::JSEventTargetNode::put):
27579 * bindings/js/JSHTMLAppletElementCustom.cpp:
27580 (WebCore::JSHTMLAppletElement::customPut):
27581 * bindings/js/JSHTMLEmbedElementCustom.cpp:
27582 (WebCore::JSHTMLEmbedElement::customPut):
27583 * bindings/js/JSHTMLInputElementBase.cpp:
27584 (WebCore::JSHTMLInputElementBase::put):
27585 * bindings/js/JSHTMLInputElementBase.h:
27586 * bindings/js/JSHTMLObjectElementCustom.cpp:
27587 (WebCore::JSHTMLObjectElement::customPut):
27588 * bindings/js/JSHistoryCustom.cpp:
27589 (WebCore::JSHistory::customPut):
27590 * bindings/js/JSInspectedObjectWrapper.cpp:
27591 (WebCore::JSInspectedObjectWrapper::wrap):
27592 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
27593 * bindings/js/JSInspectedObjectWrapper.h:
27594 * bindings/js/JSInspectorCallbackWrapper.cpp:
27595 (WebCore::JSInspectorCallbackWrapper::wrap):
27596 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
27597 * bindings/js/JSInspectorCallbackWrapper.h:
27598 * bindings/js/JSLocationCustom.cpp:
27599 (WebCore::JSLocation::customPut):
27600 * bindings/js/JSPluginElementFunctions.cpp:
27601 (WebCore::runtimeObjectCustomPut):
27602 * bindings/js/JSPluginElementFunctions.h:
27603 * bindings/js/JSQuarantinedObjectWrapper.cpp:
27604 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
27605 (WebCore::JSQuarantinedObjectWrapper::put):
27606 * bindings/js/JSQuarantinedObjectWrapper.h:
27607 * bindings/js/JSStorageCustom.cpp:
27608 (WebCore::JSStorage::customPut):
27609 * bindings/objc/WebScriptObject.mm:
27610 (-[WebScriptObject setValue:forKey:]):
27611 * bindings/scripts/CodeGeneratorJS.pm:
27612 * bridge/NP_jsobject.cpp:
27613 (_NPN_SetProperty):
27614 * bridge/jni/jni_jsobject.mm:
27615 (JavaJSObject::setMember):
27616 * bridge/objc/objc_class.mm:
27617 (KJS::Bindings::ObjcClass::fallbackObject):
27618 * bridge/objc/objc_runtime.h:
27619 * bridge/objc/objc_runtime.mm:
27620 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
27621 (ObjcFallbackObjectImp::put):
27622 * bridge/runtime.cpp:
27623 (KJS::Bindings::Instance::createRuntimeObject):
27624 * bridge/runtime_array.cpp:
27625 (RuntimeArray::put):
27626 * bridge/runtime_array.h:
27627 * bridge/runtime_object.cpp:
27628 (RuntimeObjectImp::RuntimeObjectImp):
27629 (RuntimeObjectImp::put):
27630 * bridge/runtime_object.h:
27631
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +0000276322008-09-01 Dirk Schulze <vbs85@gmx.de>
27633
27634 Reviewed by Eric Seidel.
27635
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +000027636 Fixed border-radius for Cairo.
27637
27638 * platform/graphics/cairo/GraphicsContextCairo.cpp:
27639 (WebCore::GraphicsContext::strokeArc):
27640
276412008-09-01 Dirk Schulze <vbs85@gmx.de>
27642
27643 Reviewed by Eric Seidel.
27644
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000027645 Added canvas's globalAlpha to cairo.
27646
27647 * platform/graphics/GraphicsContext.h:
27648 * platform/graphics/cairo/GraphicsContextCairo.cpp:
27649 (WebCore::GraphicsContext::fillPath):
27650 (WebCore::GraphicsContext::strokePath):
27651 (WebCore::GraphicsContext::setAlpha):
27652 (WebCore::GraphicsContext::getAlpha):
27653 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
27654 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
27655 * platform/graphics/cairo/ImageCairo.cpp:
27656 (WebCore::BitmapImage::draw):
27657
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +0000276582008-08-31 Simon Hausmann <hausmann@webkit.org>
27659
27660 Unreviewed Qt build fix.
27661
27662 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
27663 the .h file
27664
darin@apple.come7945852008-08-31 06:58:07 +0000276652008-08-30 Darin Adler <darin@apple.com>
27666
27667 Reviewed by Maciej.
27668
27669 - adopt some new JavaScriptCore functions where appropriate
27670
27671 * bindings/js/JSDOMWindowBase.cpp:
27672 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
27673 (WebCore::windowProtoFuncBToA): Ditto.
27674 * bindings/js/JSEventListener.cpp:
27675 (WebCore::JSLazyEventListener::eventParameterName): Adopted
27676 jsNontrivialString.
27677 * bindings/js/JSSVGLazyEventListener.cpp:
27678 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
27679
beidson@apple.com21c821f2008-08-30 00:26:01 +0000276802008-08-29 Brady Eidson <beidson@apple.com>
27681
beidson@apple.come1bd6032008-08-30 00:30:11 +000027682 Reviewed by Anders' rubberstamp
27683
27684 Style cleanup to match MediaTokenizer::writeRawData()
27685
27686 * loader/PluginDocument.cpp:
27687 (WebCore::PluginTokenizer::writeRawData):
27688
276892008-08-29 Brady Eidson <beidson@apple.com>
27690
beidson@apple.com21c821f2008-08-30 00:26:01 +000027691 Reviewed by Anders
27692
mitz@apple.com098b1e62008-09-24 16:39:55 +000027693 https://bugs.webkit.org/show_bug.cgi?id=20556
27694 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
27695
beidson@apple.com21c821f2008-08-30 00:26:01 +000027696 Fix regression I introducted in 35946
27697 Already covered by media/video-click-dlbclick-standalone.html
27698
27699 * loader/MediaDocument.cpp:
27700 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
27701 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
27702 an ASSERT signifying that this method should only be called once, to more closely follow the
27703 PluginDocument case.
27704
bdakin@apple.com7ee298c2008-08-30 00:00:30 +0000277052008-08-29 Beth Dakin <bdakin@apple.com>
27706
27707 Reviewed by Sam Weinig.
27708
27709 Fix for <rdar://problem/6181588>
27710
27711 This patch makes hit testing take into account the new concept of a
27712 disconnected frame, in which some of the content may not be
27713 visible. The current hit testing mechanism starts at a target frame
27714 and drills down for a HitTestResult. In some cases, drilling down
27715 will find a non-visible result. When this happens, we need to try
27716 again, starting at a higher level -- namely, starting at the main
27717 frame.
27718
27719 * editing/Editor.cpp:
27720 (WebCore::Editor::insideVisibleArea): New function that tests if a
27721 point is inside the visible area for a disconnected frame.
27722 * editing/Editor.h:
27723 * page/EventHandler.cpp:
27724 (WebCore::EventHandler::hitTestResultAtPoint):
27725
adele@apple.comfb903062008-08-29 22:30:18 +0000277262008-08-29 Adele Peterson <adele@apple.com>
27727
27728 Reviewed by Adam Roben.
27729
27730 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
27731
27732 * GNUmakefile.am:
27733 * WebCore.pro:
27734 * WebCore.vcproj/WebCore.vcproj:
27735 * WebCore.xcodeproj/project.pbxproj:
27736 * WebCoreSources.bkl:
27737 * html/HTMLTextFieldInnerElement.cpp: Removed.
27738 * html/HTMLTextFieldInnerElement.h: Removed.
27739 * rendering/RenderTextControl.cpp:
27740 (WebCore::RenderTextControl::createSubtreeIfNeeded):
27741 * rendering/RenderTextControl.h:
27742 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
27743 (WebCore::TextControlInnerElement::TextControlInnerElement):
27744 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
27745 (WebCore::TextControlInnerTextElement::defaultEventHandler):
27746 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
27747 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
27748 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
27749 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
27750 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
27751
eric@webkit.org298c65b2008-08-29 21:39:32 +0000277522008-08-29 Eric Seidel <eric@webkit.org>
27753
eric@webkit.org77837ce2008-08-29 21:40:07 +000027754 Rubber-stamped by aroben.
27755
27756 Add GraphicsContext.h include to GraphcisContextPrivate.h
27757
27758 GraphicsContextPrivate uses StrokeStyle which is defined
27759 in GraphicsContext.h but it doesn't include that header.
27760 CoreGraphics build doesn't fail here due to the order
27761 it happens to include files.
27762
27763 * platform/graphics/GraphicsContextPrivate.h:
27764
277652008-08-29 Eric Seidel <eric@webkit.org>
27766
eric@webkit.org298c65b2008-08-29 21:39:32 +000027767 Reviewed by hyatt.
27768
27769 Fix GeneratedImage to respect Image's refcounting
27770 Fixing potential crashers (future if not current)
27771 https://bugs.webkit.org/show_bug.cgi?id=20567
27772
27773 I don't know if it's possible to make the current code
27774 crash, thus I've not made a test.
27775
27776 * css/CSSGradientValue.cpp:
27777 (WebCore::CSSGradientValue::image):
27778 * css/CSSImageGeneratorValue.cpp:
27779 (WebCore::CSSImageGeneratorValue::removeClient):
27780 (WebCore::CSSImageGeneratorValue::getImage):
27781 * css/CSSImageGeneratorValue.h:
27782 * platform/graphics/GeneratedImage.h:
27783 (WebCore::GeneratedImage::GeneratedImage):
27784 * rendering/style/RenderStyle.cpp:
27785 (WebCore::RenderStyle::setContent):
27786 * rendering/style/RenderStyle.h:
27787
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +0000277882008-08-29 Eric Carlson <eric.carlson@apple.com>
27789
27790 Reviewed by Adele.
27791
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +000027792 Fix for <rdar://problem/6093767>
27793 https://bugs.webkit.org/show_bug.cgi?id=20526
27794
27795 Don't allow video to render until unsupported track types have been disabled.
27796
27797 * platform/graphics/win/QTMovieWin.cpp:
27798 (QTMovieWinPrivate::task):
27799 (QTMovieWinPrivate::drawingComplete):
27800 (QTMovieWinPrivate::clearGWorld):
27801
278022008-08-29 Eric Carlson <eric.carlson@apple.com>
27803
27804 Reviewed by Adele.
27805
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000027806 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
27807 <rdar://problem/6169301>
27808
27809 Return the size of the movie data instead of 1000.
27810
27811 Test: media/progress-event-total.html
27812
27813 * platform/graphics/win/QTMovieWin.cpp:
27814 (QTMovieWin::dataSize):
27815
hausmann@webkit.org0367b582008-08-29 15:56:02 +0000278162008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
27817
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +000027818 Reviewed by Eric Seidel.
27819
27820 [janitor/qt] Start replacing port specific getters with the generic native getter
27821 To get the native presentation of an image we currently have platform
27822 specific #ifdef's and a generic getter using NativeImagePtr. This patch
27823 extends this to the ImageBuffer and updates the Qt platform to get rid
27824 of the special #ifdefs.
27825
27826 https://bugs.webkit.org/attachment.cgi?id=22861
27827
27828 * platform/graphics/BitmapImage.h:
27829 * platform/graphics/Image.h:
27830 * platform/graphics/qt/ImageQt.cpp:
27831 * platform/graphics/qt/StillImageQt.cpp:
27832 * platform/graphics/qt/StillImageQt.h:
27833 * platform/qt/ClipboardQt.cpp:
27834 (WebCore::ClipboardQt::createDragImage):
27835 (WebCore::ClipboardQt::declareAndWriteDragImage):
27836 * platform/qt/CursorQt.cpp:
27837 * platform/qt/PasteboardQt.cpp:
27838 (WebCore::Pasteboard::writeImage):
27839
278402008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
27841
hausmann@webkit.org0367b582008-08-29 15:56:02 +000027842 Reviewed by Simon.
27843
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +000027844 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
27845
27846 * svg/graphics/qt/SVGPaintServerQt.cpp:
27847 (WebCore::SVGPaintServer::renderPath):
27848 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
27849 (WebCore::SVGPaintServerSolid::setup):
27850
278512008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
27852
27853 Reviewed by Simon.
27854
hausmann@webkit.org0367b582008-08-29 15:56:02 +000027855 [network/qt] Implement defering of loading ResourceHandle's
27856 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
27857 implementation is simply not forwarding anything to the
27858 ResourceHandleClient until we are allowed to. This might lead to a deadlock
27859 in Qt as we do not empty the QNetworkReply input buffer and wait until we
27860 are allowed to read. If that happens we are forced to buffer the data
27861 within QNetworkReplyHandler, for now this is not done.
27862
27863 Manual test:
27864 - Open http://acid3.acidtests.org
27865 - Wait for the test to complete
27866 - Click on the Reference Rendering link
27867 - Be fast and see the results of acid3
27868 => assert
27869
27870 * platform/network/qt/QNetworkReplyHandler.cpp:
27871 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
27872 (WebCore::QNetworkReplyHandler::setLoadMode):
27873 (WebCore::QNetworkReplyHandler::finish):
27874 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
27875 (WebCore::QNetworkReplyHandler::forwardData):
27876 (WebCore::QNetworkReplyHandler::start):
27877 (WebCore::QNetworkReplyHandler::resetState):
27878 (WebCore::QNetworkReplyHandler::sendQueuedItems):
27879 * platform/network/qt/QNetworkReplyHandler.h:
27880 (WebCore::QNetworkReplyHandler::):
27881 * platform/network/qt/ResourceHandleQt.cpp:
27882 (WebCore::ResourceHandle::start):
27883 (WebCore::ResourceHandle::loadResourceSynchronously):
27884 (WebCore::ResourceHandle::setDefersLoading):
27885
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +0000278862008-08-29 Simon Hausmann <hausmann@webkit.org>
27887
hausmann@webkit.orgf5864402008-08-29 12:35:59 +000027888 Reviewed by Holger.
27889
27890 Don't crash when drawing patterns with the HTML canvas. Patterns
27891 remain unimplemented but at least they don't crash anymore. This is
27892 done by changing the PlatformPatternPtr to be a brush for the Qt
27893 platform.
27894
27895 * platform/graphics/Pattern.h:
27896 * platform/graphics/qt/GraphicsContextQt.cpp:
27897 (WebCore::GraphicsContext::fillPath):
27898 (WebCore::GraphicsContext::strokePath):
27899 (WebCore::GraphicsContext::fillRect):
27900 * platform/graphics/qt/PatternQt.cpp:
27901 (WebCore::Pattern::createPlatformPattern):
27902
279032008-08-29 Simon Hausmann <hausmann@webkit.org>
27904
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000027905 Fix the Qt build, fontSelector() is not used by the Qt port yet
27906 and we just return 0 in Font::fontSelector().
27907
27908 * platform/graphics/Font.h:
27909
alp@webkit.org97d8c102008-08-29 05:09:39 +0000279102008-08-28 Alp Toker <alp@nuanti.com>
27911
27912 GTK+ dist/build fix. List newly added header files.
27913
27914 * GNUmakefile.am:
27915
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +0000279162008-08-28 Simon Fraser <simon.fraser@apple.com>
27917
27918 Reviewed by Dave Hyatt
27919
27920 Various WebKitCSSTransformValue-related fixes
27921 https://bugs.webkit.org/show_bug.cgi?id=20562
27922
27923 Test: css3/transform-value-types.html
27924
27925 * bindings/js/JSCSSValueCustom.cpp:
27926 (WebCore::toJS):
27927 * css/CSSValue.h:
27928 * css/WebKitCSSTransformValue.cpp:
27929 (WebCore::WebKitCSSTransformValue::cssText):
27930 * css/WebKitCSSTransformValue.h:
27931 (WebCore::WebKitCSSTransformValue::):
27932 * css/WebKitCSSTransformValue.idl:
27933
mitz@apple.comd7222352008-08-28 22:53:31 +0000279342008-08-28 Dan Bernstein <mitz@apple.com>
27935
27936 Reviewed by Steve Falkenburg.
27937
27938 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
27939
27940 * platform/win/SharedTimerWin.cpp:
27941 (WebCore::TimerWindowWndProc):
27942
hyatt@apple.com7d335232008-08-28 21:38:45 +0000279432008-08-28 David Hyatt <hyatt@apple.com>
27944
27945 RenderStyle cleanup.
27946
27947 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
27948
27949 Reviewed by Adam
27950
27951 * css/CSSImageGeneratorValue.cpp:
27952 * css/CSSImageValue.cpp:
27953 * css/CSSStyleSelector.cpp:
27954 * rendering/RenderImageGeneratedContent.cpp:
27955 * rendering/style/NinePieceImage.cpp: Added.
27956 * rendering/style/NinePieceImage.h: Added.
27957 * rendering/style/RenderStyle.cpp:
27958 (WebCore::FillLayer::operator==):
27959 (WebCore::FillLayer::containsImage):
27960 (WebCore::StyleInheritedData::operator==):
27961 (WebCore::RenderStyle::contentDataEquivalent):
27962 * rendering/style/RenderStyle.h:
27963 * rendering/style/StyleCachedImage.cpp: Added.
27964 * rendering/style/StyleCachedImage.h: Added.
27965 * rendering/style/StyleGeneratedImage.cpp: Added.
27966 * rendering/style/StyleGeneratedImage.h: Added.
27967 * rendering/style/StyleImage.h: Added.
27968
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +0000279692008-08-28 Simon Fraser <simon.fraser@apple.com>
27970
27971 Reviewed by Dave Hyatt
27972
27973 Make all the 'isFoo()' methods on CSSValue const,
27974 and fix the subclasses.
27975
27976 https://bugs.webkit.org/show_bug.cgi?id=20561
27977
27978 * css/CSSTimingFunctionValue.h:
27979 * css/CSSValue.h:
27980 (WebCore::CSSValue::isFontValue):
27981 (WebCore::CSSValue::isImageGeneratorValue):
27982 (WebCore::CSSValue::isImageValue):
27983 (WebCore::CSSValue::isImplicitInitialValue):
27984 * css/CSSValueList.h:
27985 * css/FontValue.h:
27986
hyatt@apple.com550a95c2008-08-28 19:53:56 +0000279872008-08-28 David Hyatt <hyatt@apple.com>
27988
hyatt@apple.comcb3eb812008-08-28 20:08:03 +000027989 The great RenderStyle cleanup begins!
27990
27991 Move LengthBox and LengthSize out of RenderStyle and into Length.
27992
27993 Reviewed by Adam
27994
27995 * rendering/Length.h:
27996 (WebCore::):
27997 (WebCore::Length::Length):
27998 (WebCore::Length::operator==):
27999 (WebCore::Length::operator!=):
28000 (WebCore::Length::value):
28001 (WebCore::Length::rawValue):
28002 (WebCore::Length::percent):
28003 (WebCore::Length::type):
28004 (WebCore::Length::quirk):
28005 (WebCore::Length::setValue):
28006 (WebCore::Length::setRawValue):
28007 (WebCore::Length::calcValue):
28008 (WebCore::Length::calcMinValue):
28009 (WebCore::Length::calcFloatValue):
28010 (WebCore::Length::isUndefined):
28011 (WebCore::Length::isZero):
28012 (WebCore::Length::isPositive):
28013 (WebCore::Length::isNegative):
28014 (WebCore::Length::isAuto):
28015 (WebCore::Length::isRelative):
28016 (WebCore::Length::isPercent):
28017 (WebCore::Length::isFixed):
28018 (WebCore::Length::isStatic):
28019 (WebCore::Length::isIntrinsicOrAuto):
28020 (WebCore::Length::blend):
28021 (WebCore::LengthBox::LengthBox):
28022 (WebCore::LengthBox::operator=):
28023 (WebCore::LengthBox::operator==):
28024 (WebCore::LengthBox::operator!=):
28025 (WebCore::LengthBox::nonZero):
28026 (WebCore::LengthSize::LengthSize):
28027 * rendering/style/RenderStyle.h:
28028
280292008-08-28 David Hyatt <hyatt@apple.com>
28030
hyatt@apple.com550a95c2008-08-28 19:53:56 +000028031 Reviewed by Darin
28032
28033 https://bugs.webkit.org/show_bug.cgi?id=18091
28034
28035 font-size should be animatable using -webkit-transition.
28036
28037 * page/AnimationController.cpp:
28038 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
28039 * rendering/style/RenderStyle.h:
28040 (WebCore::RenderStyle::setFontSize):
28041
mitz@apple.com30923ad2008-08-28 17:45:47 +0000280422008-08-28 Brad Garcia <bgarcia@google.com>
28043
28044 Reviewed by Dan Bernstein.
28045
28046 https://bugs.webkit.org/show_bug.cgi?id=20549
28047 Correctly determine when cursor is over a resizable border within
28048 a nested frameset.
28049
28050 * rendering/RenderFrameSet.cpp:
28051 (WebCore::RenderFrameSet::canResizeRow):
28052 (WebCore::RenderFrameSet::canResizeColumn):
28053
simon.fraser@apple.comae77c412008-08-28 17:30:07 +0000280542008-08-28 Simon Fraser <simon.fraser@apple.com>
28055
28056 Reviewed by Eric Seidel
28057
28058 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
28059 https://bugs.webkit.org/show_bug.cgi?id=20552
28060
28061 Test: animations/animation-css-rule-types.html
28062
28063 * css/CSSRule.idl:
28064
andersca@apple.com12399c32008-08-28 17:26:46 +0000280652008-08-28 Anders Carlsson <andersca@apple.com>
28066
28067 Reviewed by Kevin and Darin.
28068
28069 <rdar://problem/6182541>
28070 https://bugs.webkit.org/show_bug.cgi?id=20202
28071 Missing http status line from the http headers.
28072
28073 Add a status line to the header string.
28074
28075 * plugins/PluginStream.cpp:
28076 (WebCore::PluginStream::startStream):
28077
zecke@webkit.orgf1daa422008-08-28 15:56:01 +0000280782008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
28079
28080 Rubber-stamped by Darin Adler.
28081
28082 https://bugs.webkit.org/show_bug.cgi?id=17261
28083
28084 Make it possible to theme the default Url icon and enable this for
28085 the Qt port. To have a minimal usage of #ifdef in the code the setting
28086 of the icon was moved to a new method which comes in two flavors.
28087
28088 * loader/icon/IconDatabase.cpp:
28089 (WebCore::loadDefaultIconRecord): Load or set the default icon
28090 (WebCore::IconDatabase::defaultIcon):
28091
zecke@webkit.org1887dc82008-08-28 15:03:21 +0000280922008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
28093
28094 Unreviewed compile fix
28095
28096 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
28097
aroben@apple.comfacf5032008-08-28 13:34:01 +0000280982008-08-28 Adam Roben <aroben@apple.com>
28099
28100 Windows (and others?) build fix
28101
28102 * page/Chrome.cpp: Added a missing #include.
28103 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
28104
eric@webkit.org22794fd2008-08-28 12:04:40 +0000281052008-08-27 Eric Seidel <eric@webkit.org>
28106
28107 Reviewed by Oliver Hunt.
28108
eric@webkit.org5f874e92008-08-28 12:04:55 +000028109 Qt and Cairo support from krit (and blind stab @ wx compile support)
28110 https://bugs.webkit.org/show_bug.cgi?id=20373
28111
28112 * platform/graphics/cairo/GraphicsContextCairo.cpp:
28113 (WebCore::GraphicsContext::fillPath):
28114 (WebCore::GraphicsContext::strokePath):
28115 (WebCore::GraphicsContext::drawPath):
28116 (WebCore::GraphicsContext::fillRect):
28117 (WebCore::GraphicsContext::setPlatformFillColor):
28118 (WebCore::GraphicsContext::setPlatformStrokeColor):
28119 (WebCore::GraphicsContext::setPlatformStrokeStyle):
28120 (WebCore::GraphicsContext::strokeRect):
28121 (WebCore::GraphicsContext::setImageInterpolationQuality):
28122 (WebCore::GraphicsContext::imageInterpolationQuality):
28123 (WebCore::GraphicsContext::setPlatformFillPattern):
28124 (WebCore::GraphicsContext::setPlatformStrokePattern):
28125 (WebCore::GraphicsContext::setPlatformFillGradient):
28126 (WebCore::GraphicsContext::setPlatformStrokeGradient):
28127 * platform/graphics/qt/GraphicsContextQt.cpp:
28128 (WebCore::GraphicsContext::fillPath):
28129 (WebCore::GraphicsContext::strokePath):
28130 (WebCore::GraphicsContext::fillRect):
28131 (WebCore::GraphicsContext::strokeRect):
28132 (WebCore::GraphicsContext::clipToImageBuffer):
28133 (WebCore::GraphicsContext::setPlatformFillPattern):
28134 (WebCore::GraphicsContext::setPlatformStrokePattern):
28135 (WebCore::GraphicsContext::setPlatformFillGradient):
28136 (WebCore::GraphicsContext::setPlatformStrokeGradient):
28137 (WebCore::GraphicsContext::setImageInterpolationQuality):
28138 (WebCore::GraphicsContext::imageInterpolationQuality):
28139 * platform/graphics/wx/GraphicsContextWx.cpp:
28140 (WebCore::GraphicsContext::clipToImageBuffer):
28141 (WebCore::GraphicsContext::setImageInterpolationQuality):
28142 (WebCore::GraphicsContext::imageInterpolationQuality):
28143 (WebCore::GraphicsContext::fillPath):
28144 (WebCore::GraphicsContext::strokePath):
28145 (WebCore::GraphicsContext::drawPath):
28146 (WebCore::GraphicsContext::fillRect):
28147 (WebCore::GraphicsContext::setPlatformFillPattern):
28148 (WebCore::GraphicsContext::setPlatformStrokePattern):
28149 (WebCore::GraphicsContext::setPlatformFillGradient):
28150
281512008-08-27 Eric Seidel <eric@webkit.org>
28152
28153 Reviewed by Oliver Hunt.
28154
eric@webkit.org22794fd2008-08-28 12:04:40 +000028155 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
28156 https://bugs.webkit.org/show_bug.cgi?id=20373
28157
28158 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
28159
28160 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
28161 have to store large Gradient objects in the GraphicsContextState
28162
28163 Made Pattern RefCounted for the same reason.
28164
28165 Many updates to GraphicsContext to support easier drawing with
28166 Patterns and Gradients.
28167
28168 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
28169 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
28170 (WebCore::toJS):
28171 * css/CSSGradientValue.cpp:
28172 (WebCore::CSSGradientValue::createGradient):
28173 * css/CSSGradientValue.h:
28174 * html/CanvasGradient.cpp:
28175 (WebCore::CanvasGradient::CanvasGradient):
28176 * html/CanvasGradient.h:
28177 (WebCore::CanvasGradient::gradient):
28178 (WebCore::CanvasGradient::addColorStop):
28179 (WebCore::CanvasGradient::getColor):
28180 * html/CanvasPattern.cpp:
28181 * html/CanvasPattern.h:
28182 (WebCore::CanvasPattern::pattern):
28183 (WebCore::CanvasPattern::originClean):
28184 * html/CanvasRenderingContext2D.cpp:
28185 (WebCore::CanvasRenderingContext2D::State::State):
28186 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
28187 (WebCore::CanvasRenderingContext2D::setFillStyle):
28188 (WebCore::CanvasRenderingContext2D::fill):
28189 (WebCore::CanvasRenderingContext2D::stroke):
28190 (WebCore::CanvasRenderingContext2D::fillRect):
28191 (WebCore::CanvasRenderingContext2D::strokeRect):
28192 * html/CanvasRenderingContext2D.h:
28193 * html/CanvasStyle.cpp:
28194 (WebCore::CanvasStyle::applyStrokeColor):
28195 (WebCore::CanvasStyle::applyFillColor):
28196 * html/CanvasStyle.h:
28197 * platform/graphics/GeneratedImage.h:
28198 (WebCore::GeneratedImage::GeneratedImage):
28199 * platform/graphics/Generator.h:
28200 * platform/graphics/Gradient.h:
28201 (WebCore::Gradient::create):
28202 * platform/graphics/GraphicsContext.cpp:
28203 (WebCore::GraphicsContext::fillRule):
28204 (WebCore::GraphicsContext::setFillRule):
28205 (WebCore::GraphicsContext::setStrokePattern):
28206 (WebCore::GraphicsContext::setFillPattern):
28207 (WebCore::GraphicsContext::setStrokeGradient):
28208 (WebCore::GraphicsContext::setFillGradient):
28209 * platform/graphics/GraphicsContext.h:
28210 * platform/graphics/GraphicsContextPrivate.h:
28211 (WebCore::):
28212 (WebCore::GraphicsContextState::GraphicsContextState):
28213 * platform/graphics/GraphicsTypes.h:
28214 * platform/graphics/Path.h:
28215 * platform/graphics/Pattern.h:
28216 (WebCore::Pattern::create):
28217 (WebCore::Pattern::tileImage):
28218 * platform/graphics/cg/GraphicsContextCG.cpp:
28219 (WebCore::GraphicsContext::drawRect):
28220 (WebCore::GraphicsContext::drawEllipse):
28221 (WebCore::GraphicsContext::drawConvexPolygon):
28222 (WebCore::calculateDrawingMode):
28223 (WebCore::GraphicsContext::drawPath):
28224 (WebCore::fillPathWithFillRule):
28225 (WebCore::GraphicsContext::fillPath):
28226 (WebCore::GraphicsContext::strokePath):
28227 (WebCore::GraphicsContext::fillRect):
28228 (WebCore::GraphicsContext::fillRoundedRect):
28229 (WebCore::GraphicsContext::setPlatformStrokePattern):
28230 (WebCore::GraphicsContext::setPlatformFillPattern):
28231 (WebCore::GraphicsContext::setPlatformStrokeGradient):
28232 (WebCore::GraphicsContext::setPlatformFillGradient):
28233
eric@webkit.org70b099f2008-08-28 11:42:26 +0000282342008-08-20 Eric Seidel <eric@webkit.org>
28235
28236 Reviewed by Darin and Alexey.
28237
28238 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
28239 with timeouts paused.
28240 https://bugs.webkit.org/show_bug.cgi?id=20469
28241
28242 I attempted to clean up the memory management of PausedTimeouts, I'm not
28243 sure the solution I came up with is "cleaner", but it's in some ways
28244 "safer", since it no longer uses raw pointers and manual new/delete.
28245
28246 This also now prevents CachedPage from needlessly creating Window
28247 objects when caching pages which didn't already have one. :)
28248
28249 I also made Chrome.cpp no longer depend on the JavaScript bindings
28250 (aka JSDOMWindowBase.h), since there was no real reason for it to.
28251
28252 * bindings/js/JSDOMWindowBase.cpp:
28253 (WebCore::JSDOMWindowBase::pauseTimeouts):
28254 (WebCore::JSDOMWindowBase::resumeTimeouts):
28255 * bindings/js/JSDOMWindowBase.h:
28256 * bindings/js/ScriptController.cpp:
28257 (WebCore::ScriptController::pauseTimeouts):
28258 (WebCore::ScriptController::resumeTimeouts):
28259 * bindings/js/ScriptController.h:
28260 * history/CachedPage.cpp:
28261 (WebCore::CachedPage::CachedPage):
28262 (WebCore::CachedPage::restore):
28263 * page/Chrome.cpp:
28264 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
28265 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
28266 * page/JavaScriptDebugServer.cpp:
28267 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
28268 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
28269
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000282702008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
28271
28272 Unreviewed compile fix
28273
28274 Add the stub for the Qt port.
28275
28276 * WebCore.pro:
28277 * page/qt/AccessibilityObjectQt.cpp: Added.
28278 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
28279
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000282802008-08-27 Alp Toker <alp@nuanti.com>
28281
28282 Reviewed by Eric.
28283
28284 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000028285 [GTK] search popup crash
28286
28287 * platform/gtk/SearchPopupMenuGtk.cpp:
28288 (WebCore::SearchPopupMenu::enabled):
28289 Fix a search popup crasher by disabling the history popup since we
28290 don't support this feature yet in the GTK+ port.
28291
282922008-08-27 Alp Toker <alp@nuanti.com>
28293
28294 Reviewed by Eric.
28295
28296 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000028297 [GTK] curl crashers
28298
28299 * platform/network/curl/ResourceHandleManager.cpp:
28300 (WebCore::ResourceHandleManager::startScheduledJobs):
28301 Remove the resource handle from the pending list before starting the
28302 job, not afterwards. Fixes crashers in the test suite.
28303
28304 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
28305 Test: fast/encoding/char-encoding.html
28306
eric@webkit.org712cb892008-08-28 00:26:15 +0000283072008-08-27 Dirk Schulze <vbs85@gmx.de>
28308
28309 Reviewed by eseidel.
28310
28311 Fix canvas drawImage to support composite operations.
28312 Composite had no effect on canvas elements like these:
28313 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
28314
28315 [CAIRO] Canvas composite don't work on canvas-elements.
28316 https://bugs.webkit.org/show_bug.cgi?id=20548
28317
28318 * html/CanvasRenderingContext2D.cpp:
28319 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
28320
eric@webkit.org75c83a02008-08-28 00:04:59 +0000283212008-08-27 Mario Bensi <mbensi@pleyo.com>
28322
28323 Reviewed by Eric Seidel.
28324
28325 Fix the data content of an image with a base64.
28326
28327 * platform/network/curl/ResourceHandleManager.cpp:
28328 (WebCore::parseDataUrl): Remove the String and use only the data
28329 Vector because the data.latin1().data() convert the data content and
28330 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
28331 not drawn correctly.
28332
antti@apple.comf66a86b2008-08-27 23:59:50 +0000283332008-08-27 Antti Koivisto <antti@apple.com>
28334
28335 Reviewed by Eric Seidel.
28336
28337 Crash after OK in dialog box and reloading page in secure mode
28338 https://bugs.webkit.org/show_bug.cgi?id=20493
28339
28340 The new run loop spawned by a modal dialog causes a timer in the loader to run
28341 synchronously inside didFinishLoading() deleting "this" object.
28342
28343 Defer all WebCore timers when a modal dialog is up. They are not
28344 safe to execute.
28345
28346 * page/Chrome.cpp:
28347 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
28348 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
28349
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000283502008-08-27 Chris Marrin <cmarrin@apple.com>
28351
28352 Reviewed by Dave Hyatt
28353
28354 Memory leaks when animating transforms
28355 https://bugs.webkit.org/show_bug.cgi?id=20532
28356
28357 * rendering/style/RenderStyle.cpp:
28358 (WebCore::ScaleTransformOperation::blend):
28359 (WebCore::RotateTransformOperation::blend):
28360 (WebCore::SkewTransformOperation::blend):
28361 (WebCore::TranslateTransformOperation::blend):
28362 (WebCore::MatrixTransformOperation::blend):
28363 * rendering/style/RenderStyle.h:
28364
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000283652008-08-27 Timothy Hatcher <timothy@apple.com>
28366
28367 Add support for support for -webkit-appearance: default-button on the Mac platform.
28368
28369 <rdar://problem/6173530>
28370
28371 Reviewed by Dave Hyatt.
28372
28373 * WebCore.base.exp: Export new symbols.
28374 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
28375 * platform/mac/WebCoreSystemInterface.mm: Ditto.
28376 * rendering/RenderButton.cpp:
28377 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
28378 (WebCore::RenderButton::setStyle): Ditto.
28379 * rendering/RenderButton.h: Ditto.
28380 * rendering/RenderThemeMac.mm:
28381 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
28382 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
28383 key if the button is default, otherwise reset the key equivalent.
28384 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
28385 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
28386 the window's previous default button cell when finished.
28387
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000283882008-08-26 David Hyatt <hyatt@apple.com>
28389
28390 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
28391
28392 Reviewed by weinig
28393
28394 Added fast/forms/zoomed-controls.html
28395
28396 * css/CSSStyleSelector.cpp:
28397 (WebCore::addIntrinsicMargins):
28398 * rendering/RenderSlider.cpp:
28399 (WebCore::RenderSlider::calcPrefWidths):
28400 * rendering/RenderThemeMac.h:
28401 * rendering/RenderThemeMac.mm:
28402 (WebCore::RenderThemeMac::adjustRepaintRect):
28403 (WebCore::RenderThemeMac::inflateRect):
28404 (WebCore::RenderThemeMac::baselinePosition):
28405 (WebCore::RenderThemeMac::setControlSize):
28406 (WebCore::RenderThemeMac::sizeForFont):
28407 (WebCore::RenderThemeMac::sizeForSystemFont):
28408 (WebCore::RenderThemeMac::setFontFromControlSize):
28409 (WebCore::RenderThemeMac::paintCheckbox):
28410 (WebCore::RenderThemeMac::setCheckboxCellState):
28411 (WebCore::RenderThemeMac::paintRadio):
28412 (WebCore::RenderThemeMac::setRadioCellState):
28413 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
28414 (WebCore::RenderThemeMac::adjustButtonStyle):
28415 (WebCore::RenderThemeMac::setButtonCellState):
28416 (WebCore::RenderThemeMac::paintButton):
28417 (WebCore::RenderThemeMac::paintMenuList):
28418 (WebCore::RenderThemeMac::paintMenuListButton):
28419 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
28420 (WebCore::RenderThemeMac::popupInternalPaddingRight):
28421 (WebCore::RenderThemeMac::popupInternalPaddingTop):
28422 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
28423 (WebCore::RenderThemeMac::setPopupButtonCellState):
28424 (WebCore::RenderThemeMac::paintSliderTrack):
28425 (WebCore::RenderThemeMac::paintSliderThumb):
28426 (WebCore::RenderThemeMac::adjustSliderThumbSize):
28427 (WebCore::RenderThemeMac::paintSearchField):
28428 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
28429 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
28430 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
28431
beidson@apple.comd0793872008-08-27 19:59:55 +0000284322008-08-27 Brady Eidson <beidson@apple.com>
28433
28434 Reviewed by Anders
28435
28436 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
28437
28438 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
28439 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
28440 away the virtual address space and a crash.
28441
28442 * loader/EmptyClients.h:
28443 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
28444 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
28445 "plugin will handle load"
28446
28447 * loader/MediaDocument.cpp:
28448 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
28449 and cancel the WebCore-managed load
28450 (WebCore::MediaTokenizer::writeRawData):
28451 (WebCore::MediaTokenizer::finish):
28452
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000284532008-08-26 Simon Fraser <simon.fraser@apple.com>
28454
28455 Reviewed by Eric Seidel
28456
28457 Linear timing functions should have control points 0, 0, 1, 1.
28458 https://bugs.webkit.org/show_bug.cgi?id=20535
28459
28460 * css/CSSStyleSelector.cpp:
28461 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
28462 * rendering/style/RenderStyle.h:
28463
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000284642008-08-27 Adam Roben <aroben@apple.com>
28465
28466 Windows build fix
28467
28468 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
28469
mrowe@apple.com37686d42008-09-04 00:10:39 +0000284702008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000028471
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000028472 Reviewed by Beth Dakin.
28473
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000028474 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
28475
28476 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
28477 to determine if an attachment is ignored through accessibility. Added equivalent
28478 methods in Gtk, Win and Mac
28479
28480 Test: accessibility/plugin.html
28481
28482 * GNUmakefile.am:
28483 * WebCore.vcproj/WebCore.vcproj:
28484 * WebCore.xcodeproj/project.pbxproj:
28485 * page/AccessibilityObject.h:
28486 * page/AccessibilityRenderObject.cpp:
28487 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
28488 * page/gtk/AccessibilityObjectAtk.cpp: Added.
28489 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
28490 * page/mac/AccessibilityObjectMac.mm: Added.
28491 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
28492 * page/mac/AccessibilityObjectWrapper.h:
28493 * page/win/AccessibilityObjectWin.cpp: Added.
28494 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
28495
mrowe@apple.com37686d42008-09-04 00:10:39 +0000284962008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000028497
28498 Reviewed by Beth Dakin.
28499
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000028500 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
28501
28502 * page/mac/AccessibilityObjectWrapper.mm:
28503 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
28504 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
28505
mrowe@apple.com37686d42008-09-04 00:10:39 +0000285062008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000028507
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000028508 Reviewed by Darin Adler.
28509
28510 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
28511
28512 Tests: accessibility/table-notbody.html
28513
28514 * page/AccessibilityTable.cpp:
28515 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
28516
weinig@apple.com33705852008-08-26 19:51:28 +0000285172008-08-26 Sam Weinig <sam@webkit.org>
28518
weinig@apple.comf6f553a2008-08-26 21:21:26 +000028519 Reviewed by Beth Dakin.
28520
28521 Fix typo.
28522
28523 * dom/DOMCoreException.h:
28524
285252008-08-26 Sam Weinig <sam@webkit.org>
28526
weinig@apple.com0f34f002008-08-26 19:56:54 +000028527 Reviewed by Oliver Hunt.
28528
28529 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
28530 <rdar://problem/6167660>
28531 Take image redirects into account when tainting the canvas.
28532
28533 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
28534
28535 * html/CanvasRenderingContext2D.cpp:
28536 (WebCore::CanvasRenderingContext2D::drawImage):
28537 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
28538
285392008-08-26 Sam Weinig <sam@webkit.org>
28540
weinig@apple.com33705852008-08-26 19:51:28 +000028541 Reviewed by Darin Adler.
28542
28543 Change canvas tainting logic to ask the image if it contains
28544 any resources outside of its own origin. Since there is no
28545 way to determine if SVG images contain any resources outside its
28546 origin, we always assume it does.
28547
28548 * html/CanvasRenderingContext2D.cpp:
28549 (WebCore::CanvasRenderingContext2D::drawImage):
28550 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
28551 * platform/graphics/BitmapImage.h:
28552 (WebCore::BitmapImage::hasSingleSecurityOrigin):
28553 * platform/graphics/GeneratedImage.h:
28554 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
28555 * platform/graphics/Image.h:
28556 (WebCore::Image::hasSingleSecurityOrigin):
28557 * platform/graphics/cg/PDFDocumentImage.h:
28558 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
28559 * svg/graphics/SVGImage.h:
28560
britto@apple.com616ef6d2008-08-26 17:51:03 +0000285612008-08-26 Maxime Britto <britto@apple.com>
28562
28563 Reviewed by Adele.
28564
28565 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
28566 This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
28567 This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
28568
28569 * page/EventHandler.cpp:
28570 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
28571 * page/EventHandler.h:
28572 * rendering/RenderLayer.cpp:
28573 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
28574 (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
28575 * rendering/RenderLayer.h:
28576 * rendering/RenderObject.cpp:
28577 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
28578 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
28579 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
28580
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000285812008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
28582
darin@apple.com07c80c62008-09-05 18:15:43 +000028583 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000028584
28585 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
28586 https://bugs.webkit.org/show_bug.cgi?id=20247
28587
28588 <rdar://problem/6118218>
28589
28590 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
28591 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
28592 (case insensitive for HTML elements).
28593
28594 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
28595
28596 * dom/Element.cpp:
28597 (WebCore::Element::getAttribute):
28598 * dom/NamedAttrMap.cpp:
28599 (WebCore::NamedAttrMap::getNamedItem):
28600 (WebCore::NamedAttrMap::getAttributeItem):
28601 * dom/NamedAttrMap.h:
28602
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000286032008-08-25 Sam Weinig <sam@webkit.org>
28604
weinig@apple.com8d3ea722008-08-26 04:19:07 +000028605 Reviewed by Oliver Hunt.
28606
28607 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
28608 <rdar://problem/6174096>
28609 Treat SVG images as dirty when drawing to a canvas.
28610
28611 Test: http/tests/security/canvas-remote-read-svg-image.html
28612
28613 * html/CanvasRenderingContext2D.cpp:
28614 (WebCore::CanvasRenderingContext2D::drawImage):
28615 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
28616 * platform/graphics/Image.h:
28617 (WebCore::Image::isSVGImage):
28618 * svg/graphics/SVGImage.h:
28619 (WebCore::SVGImage::isSVGImage):
28620
286212008-08-25 Sam Weinig <sam@webkit.org>
28622
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000028623 Reviewed by Mark Rowe.
28624
28625 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
28626 Leak in XMLHttpRequest.
28627
28628 * xml/XMLHttpRequest.cpp:
28629 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
28630
beidson@apple.com46421212008-08-25 21:48:56 +0000286312008-08-25 Brady Eidson <beidson@apple.com>
28632
28633 Reviewed by Anders
28634
28635 Speculative fix for <rdar://problem/6173217>
28636
28637 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
28638 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
28639 the first null check invalid.
28640
28641 * loader/FrameLoader.cpp:
28642 (WebCore::FrameLoader::stopAllLoaders):
28643
28644
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000286452008-08-25 Kevin McCullough <kmccullough@apple.com>
28646
28647 Reviewed by Tim.
28648
28649 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
28650 there is no profile, can cause crash
28651
28652 * page/inspector/ProfilesPanel.js:
28653
dino@apple.com1baeea62008-08-25 21:06:21 +0000286542008-08-25 Dean Jackson <dino@apple.com>
28655
28656 Reviewed by Dave Hyatt
28657
28658 Make sure 'inherit' is handled by transition property.
28659 https://bugs.webkit.org/show_bug.cgi?id=20513
28660
28661 Test: transitions/inherit.html
28662 Test: transitions/inherit-other-props.html
28663
28664 * css/CSSStyleSelector.cpp:
28665 fix macro to check existence of list before getting size
28666
andersca@apple.com2866b8302008-08-25 20:56:21 +0000286672008-08-25 Anders Carlsson <andersca@apple.com>
28668
28669 Reviewed by Mark.
28670
28671 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
28672
28673 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
28674 (safely) that any class that needs finalization on the main thread will also need to be deallocated
28675 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
28676 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
28677
28678 * platform/mac/WebCoreObjCExtras.c:
28679 (WebCoreObjCFinalizeOnMainThread):
28680
antti@apple.com60381cb2008-08-25 20:41:11 +0000286812008-08-25 Antti Koivisto <antti@apple.com>
28682
28683 Reviewed by Dan Bernstein.
28684
28685 Rename CachedResource::referenced() to CachedResource::hasClients() to
28686 match previous ref() -> addClient() rename.
28687
28688 * loader/Cache.cpp:
28689 (WebCore::Cache::pruneLiveResources):
28690 (WebCore::Cache::pruneDeadResources):
28691 (WebCore::Cache::remove):
28692 (WebCore::Cache::getStatistics):
28693 (WebCore::Cache::dumpLRULists):
28694 * loader/CachedResource.cpp:
28695 (WebCore::CachedResource::addClient):
28696 (WebCore::CachedResource::removeClient):
28697 (WebCore::CachedResource::setDecodedSize):
28698 (WebCore::CachedResource::setEncodedSize):
28699 * loader/CachedResource.h:
28700 (WebCore::CachedResource::hasClients):
28701 (WebCore::CachedResource::canDelete):
28702
timothy@apple.com7d809242008-08-25 18:33:05 +0000287032008-08-25 Anthony Ricaud <rik24d@gmail.com>
28704
28705 Add a missing Inspector localized string for "other".
28706
28707 https://bugs.webkit.org/show_bug.cgi?id=20509
28708
28709 Reviewed by Tim Hatcher.
28710
28711 * English.lproj/localizedStrings.js:
28712
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000287132008-08-22 Kevin McCullough <kmccullough@apple.com>
28714
28715 Reviewed by Geoff, Mark and Tim.
28716
28717 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
28718 in the console said what file and line number they came from
28719 - Lay the foundation for getting line numbers and other data from the
28720 JavaScript engine.
28721
28722 * ForwardingHeaders/VM: Added.
28723 * ForwardingHeaders/VM/Machine.h: Added.
28724 * page/Console.cpp: Gather the line number and file information when
28725 profileEnd has been called, but don't use it until didFinishProfiling is
28726 called. We won't need to wait once we remove the profiler "zombie" mode
28727 which this patch helps pave the foundation for.
28728 (WebCore::Console::Console):
28729 (WebCore::Console::profileEnd):
28730 (WebCore::Console::finishedProfiling):
28731 * page/Console.h:
28732 * page/InspectorController.cpp: Modify calls to
28733 addProfileMessageToConsole to satisfy the new arguments it takes.
28734 (WebCore::InspectorController::finishedProfiling):
28735 (WebCore::InspectorController::addProfile):
28736 (WebCore::InspectorController::addProfileMessageToConsole):
28737 (WebCore::InspectorController::finishedProfiling):
28738 * page/InspectorController.h:
28739
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000287402008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
28741
28742 Reviewed by Simon.
28743
28744 [inspector] Update the WebKit.qrc Qt resources file
28745 Catchup with the changes in the directory.
28746
28747 * page/inspector/WebKit.qrc:
28748
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000287492008-08-25 Dirk Schulze <vbs85@gmx.de>
28750
28751 Reviewed by Simon.
28752
28753 Transformed the radian to degree, to get rotate()
28754 in canvas work as expected.
28755
28756 [Qt] Canvas.rotate() doesn't work
28757 https://bugs.webkit.org/show_bug.cgi?id=20496
28758
28759 * platform/graphics/qt/GraphicsContextQt.cpp:
28760 (WebCore::GraphicsContext::rotate):
28761
sfalken@apple.com9d442862008-08-25 05:43:33 +0000287622008-08-24 Steve Falkenburg <sfalken@apple.com>
28763
28764 Add a "last chance" WM_TIMER to the Windows shared timer.
28765
28766 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
28767 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
28768 timers if a timer with an earlier expiration is already pending. This results in no timers
28769 firing from that point on.
28770
28771 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
28772 buggy window message hook.
28773
28774 This timer will start when the first WM_TIMER is scheduled, and will
28775 fire every 5 seconds thereafter, causing any lost timers to be fired.
28776
28777 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
28778 and prevents the WebFrame leak.
28779
28780 Reviewed by Darin Adler, Geoff Garen.
28781
28782 * platform/win/SharedTimerWin.cpp:
28783 (WebCore::):
28784 (WebCore::TimerWindowWndProc):
28785 (WebCore::setSharedTimerFireTime):
28786
mitz@apple.com771fb752008-08-25 03:22:44 +0000287872008-08-24 Dan Bernstein <mitz@apple.com>
28788
28789 Reviewed by Darin Adler.
28790
28791 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
28792
28793 Test: fast/css/font-property-priority.html
28794
28795 * css/CSSParser.cpp:
28796 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
28797 to the font-property-parsing functions.
28798 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
28799 changed to use it rather than the m_important member.
28800 (WebCore::CSSParser::parseFontVariant): Ditto.
28801 (WebCore::CSSParser::parseFontWeight): Ditto.
28802 * css/CSSParser.h:
28803
timothy@apple.com4cea2632008-08-24 22:28:44 +0000288042008-08-24 Timothy Hatcher <timothy@apple.com>
28805
28806 Fixes a bug where the Inspector's UI would not animate or
28807 fully function because JavaScript timeouts, intervals and
28808 CSS animation timers where not firing while paused at a
28809 a breakpoint in the inspected page.
28810
28811 https://bugs.webkit.org/show_bug.cgi?id=20042
28812
28813 Reviewed by Darin Adler.
28814
28815 Test: manual-tests/inspector/forzen-ui-while-paused.html
28816
28817 * page/JavaScriptDebugServer.cpp:
28818 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
28819 Add a call to TimerBase::fireTimersInNestedEventLoop before
28820 spinning the EventLoop.
28821
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000288222008-08-24 Rob Buis <buis@kde.org>
28823
28824 Reviewed by Sam Weinig.
28825
28826 https://bugs.webkit.org/show_bug.cgi?id=20324
28827 A change in SVG Glyph wont show up
28828
28829 Invalidate the glyph cache when the d attribute is set.
28830
28831 Test: svg/custom/glyph-setting-d-attribute.svg
28832
28833 * svg/SVGGlyphElement.cpp:
28834 (WebCore::SVGGlyphElement::invalidateGlyphCache):
28835 (WebCore::SVGGlyphElement::parseMappedAttribute):
28836 (WebCore::SVGGlyphElement::insertedIntoDocument):
28837 (WebCore::SVGGlyphElement::removedFromDocument):
28838 * svg/SVGGlyphElement.h:
28839
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000288402008-08-24 Dan Bernstein <mitz@apple.com>
28841
28842 Reviewed by Sam Weinig.
28843
28844 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
28845 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
28846
28847 * rendering/RenderText.cpp:
28848 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
28849 beginWS and endWS before the early return to ensure that they are
28850 initialized in that case.
28851
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000288522008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
28853
28854 Rubber-stamped by Mark Rowe.
28855
28856 Remove modelines.
28857
28858 * WebCore.pro:
28859 * bridge/testbindings.cpp:
28860 * dom/DocPtr.h:
28861 * loader/SubstituteData.h:
28862 * page/Chrome.cpp:
28863 * page/Chrome.h:
28864 * page/ChromeClient.h:
28865 * page/Frame.h:
28866 * page/FrameLoadRequest.h:
28867 * page/FrameTree.cpp:
28868 * page/FrameTree.h:
28869 * page/Page.h:
28870 * page/mac/ChromeMac.mm:
28871 * platform/network/HTTPHeaderMap.h:
28872 * platform/network/ResourceErrorBase.cpp:
28873 * platform/network/ResourceErrorBase.h:
28874 * platform/network/ResourceHandleInternal.h:
28875 * platform/network/ResourceRequestBase.cpp:
28876 * platform/network/ResourceRequestBase.h:
28877 * platform/network/ResourceResponseBase.cpp:
28878 * platform/network/ResourceResponseBase.h:
28879 * platform/network/cf/ResourceError.h:
28880 * platform/network/cf/ResourceRequest.h:
28881 * platform/network/cf/ResourceRequestCFNet.h:
28882 * platform/network/cf/ResourceResponse.h:
28883 * platform/network/cf/ResourceResponseCFNet.h:
28884 * platform/network/curl/ResourceError.h:
28885 * platform/network/curl/ResourceRequest.h:
28886 * platform/network/curl/ResourceResponse.h:
28887 * platform/network/mac/ResourceError.h:
28888 * platform/network/mac/ResourceErrorMac.mm:
28889 * platform/network/mac/ResourceRequest.h:
28890 * platform/network/mac/ResourceRequestMac.mm:
28891 * platform/network/mac/ResourceResponse.h:
28892 * platform/network/mac/ResourceResponseMac.mm:
28893 * platform/network/qt/ResourceError.h:
28894 * platform/network/qt/ResourceRequest.h:
28895 * platform/network/qt/ResourceResponse.h:
28896 * platform/network/soup/CookieJarSoup.cpp:
28897 * platform/network/soup/ResourceError.h:
28898 * platform/network/soup/ResourceRequest.h:
28899 * platform/network/soup/ResourceResponse.h:
28900
mitz@apple.com57a2f482008-08-23 07:16:41 +0000289012008-08-23 Dan Bernstein <mitz@apple.com>
28902
28903 Reviewed by Dave Hyatt.
28904
28905 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
28906
28907 Test: fast/table/vertical-align-baseline.html
28908
28909 * rendering/RenderTable.cpp:
28910 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
28911 baseline of the first table row, if there is one, -1 otherwise.
28912 * rendering/RenderTable.h:
28913 * rendering/RenderTableCell.cpp:
28914 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
28915 CSS2.1 definition of the baseline of a table cell.
28916 * rendering/RenderTableSection.cpp:
28917 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
28918 the baseline of the first row in the section.
28919 * rendering/RenderTableSection.h:
28920
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000289212008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
28922
28923 Add SPI to make a Windows WebView transparent.
28924
28925 Reviewed by Dan Bernstein.
28926
28927 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
28928 determines whether the created context has an alpha channel.
28929 * platform/graphics/win/GraphicsContextCGWin.cpp:
28930 (WebCore::CGContextWithHDC):
28931
timothy@apple.comb63d1172008-08-22 18:39:42 +0000289322008-08-22 Timothy Hatcher <timothy@apple.com>
28933
timothy@apple.com964022d2008-08-22 20:35:20 +000028934 Rolls out r35834 because it caused a regression in the Inspector's
28935 Console where some expressions always threw a syntax error.
28936
28937 https://bugs.webkit.org/show_bug.cgi?id=20487
28938
28939 * page/inspector/Console.js:
28940 (Console.prototype._evalInInspectedWindow): Removes parenthesis
28941 around the expression.
28942
289432008-08-22 Timothy Hatcher <timothy@apple.com>
28944
timothy@apple.com056d4782008-08-22 18:39:52 +000028945 Makes getStyleProperty return a value for the overflow property
28946 when overflow-x and overflow-y are equal.
28947
28948 https://bugs.webkit.org/show_bug.cgi?id=20485
28949
28950 Reviewed by Dan Bernstein.
28951
28952 Test: fast/css/overflow-property.html
28953
28954 * css/CSSMutableStyleDeclaration.cpp:
28955 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
28956
289572008-08-22 Timothy Hatcher <timothy@apple.com>
28958
timothy@apple.comb63d1172008-08-22 18:39:42 +000028959 Fixes a bug where while editing in the Inspector the
28960 sidebar scroll position would jump to the top.
28961
28962 https://bugs.webkit.org/show_bug.cgi?id=20484
28963
28964 Reviewed by Darin Adler.
28965
28966 * page/inspector/treeoutline.js:
28967 (TreeOutline._removeChildren): Remove the offsetTop call that
28968 was forcing a layout, since layout causes scroll positions
28969 to be clamped to the new scrollHeight/Width. Layout will happen
28970 normally when needed.
28971
kevino@webkit.org8271c842008-08-22 16:25:52 +0000289722008-08-22 Kevin Ollivier <kevino@theolliviers.com>
28973
28974 wx build fix. Add AccessibilityTable sources.
28975
28976 * WebCoreSources.bkl:
28977
mitz@apple.com9befc872008-08-22 06:29:33 +0000289782008-08-21 Dan Bernstein <mitz@apple.com>
28979
28980 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
28981
28982 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
28983
28984 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
28985
28986 * platform/graphics/mac/SimpleFontDataMac.mm:
28987 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
28988 ascent and 100% to its reported descent.
28989
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000289902008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
28991
28992 Reviewed by Darin Adler.
28993
mrowe@apple.com22eaa172008-08-22 02:10:15 +000028994 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000028995 [GTK] Crash on some pages due to a plugin
28996
28997 Fix handling of badly formatted and empty plugin mime descriptions
28998
28999 * plugins/gtk/PluginPackageGtk.cpp:
29000 (WebCore::PluginPackage::fetchInfo):
29001
mrowe@apple.com798b3432008-08-22 02:07:48 +0000290022008-08-21 Kevin Watters <kevinwatters@gmail.com>
29003
29004 Reviewed by Darin Adler.
29005
29006 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
29007 animated GIF frame duration of less than 50ms.
29008
29009 * platform/graphics/wx/ImageSourceWx.cpp:
29010 (WebCore::ImageSource::frameDurationAtIndex):
29011
britto@apple.com8ed72772008-08-22 00:39:39 +0000290122008-08-21 Maxime Britto <britto@apple.com>
29013
29014 Reviewed by Kevin McCullough.
29015
29016 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
29017 https://bugs.webkit.org/show_bug.cgi?id=20451
29018
29019 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
29020 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
29021 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
29022
29023 * page/EventHandler.cpp:
29024 (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
29025
29026 (WebCore::EventHandler::handleMousePressEvent): ditto
29027
timothy@apple.com5d492192008-08-21 23:54:01 +0000290282008-08-21 Anthony Ricaud <rik24d@gmail.com>
29029
29030 Small optimization for when the dividers in the Inspector's
29031 Resources panel are updated.
29032
29033 Reviewed by Tim Hatcher.
29034
29035 * page/inspector/ResourcesPanel.js:
29036 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
29037 Combind a for loop and clone the divider element.
29038
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000290392008-08-21 Chris Marrin <cmarrin@apple.com>
29040
29041 Allow 0 (without units) for Time eg. duration
29042 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
29043
29044 Reviewed by Dave Hyatt.
29045
29046 Test: css1/units/zero-duration-without-units.html
29047
29048 * css/CSSParser.cpp:
29049 (WebCore::CSSParser::validUnit):
29050
timothy@apple.com29c12d02008-08-21 20:12:47 +0000290512008-08-21 Timothy Hatcher <timothy@apple.com>
29052
timothy@apple.comca11cd82008-08-21 20:13:12 +000029053 Make deleting all text while editing a DOM attribute in
29054 the Inspector delete the attribute. This also fixes
29055 an exception that would happen before.
29056
29057 https://bugs.webkit.org/show_bug.cgi?id=20472
29058
29059 Reviewed by Kevin McCullough.
29060
29061 * page/inspector/ElementsPanel.js:
29062 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
29063 Don't check for hasAttributes on the parseElement, continuing
29064 through the function will correctly remove the attribute.
29065 If the parseElement is null, call _editingCancelled not
29066 editingCancelled, this fixes an exception.
29067
290682008-08-21 Timothy Hatcher <timothy@apple.com>
29069
timothy@apple.comde831cf2008-08-21 20:12:59 +000029070 Update the Inspector's Metrics pane when editing in
29071 the Styles pane. This makes sure the metrics shown
29072 always match what the Styles pane shows.
29073
29074 https://bugs.webkit.org/show_bug.cgi?id=20470
29075
29076 Reviewed by Kevin McCullough.
29077
29078 * page/inspector/ElementsPanel.js:
29079 (WebInspector.ElementsPanel): Add event listeners for
29080 the "style edited" and "style property toggled" events,
29081 so the Metrics pane is updated.
29082 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
29083 Update the Metrics pane.
29084 * page/inspector/StylesSidebarPane.js:
29085 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
29086 Dispatch the "style property toggled" event.
29087 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
29088 Dispatch the "style edited" event when the CSS text is restored.
29089 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
29090 Dispatch the "style edited" event.
29091
290922008-08-21 Timothy Hatcher <timothy@apple.com>
29093
timothy@apple.com29c12d02008-08-21 20:12:47 +000029094 Make the Inspector's Metrics sidebar pane editable.
29095
29096 https://bugs.webkit.org/show_bug.cgi?id=17218
29097 rdar://problem/5732818
29098
29099 Reviewed by Kevin McCullough.
29100
29101 * page/inspector/ElementsPanel.js:
29102 (WebInspector.ElementsPanel): Add an event listener for
29103 the "metrics edited" event, so the Styles pane is updated.
29104 * page/inspector/MetricsSidebarPane.js:
29105 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
29106 so future updates work. Add a double click event listener for the
29107 metric values to start editing.
29108 (WebInspector.MetricsSidebarPane.prototype.startEditing):
29109 Call WebInspector.startEditing with some context.
29110 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
29111 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
29112 Set the user input on the elements inline style. Fire the
29113 "metrics edited" event.
29114
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000291152008-08-21 Steve Falkenburg <sfalken@apple.com>
29116
29117 Fix a race condition in Windows timer code.
29118 Timer function could end up being called with a 0 timer, leading to a Windows exception.
29119
29120 Don't post a timer message if one is already pending.
29121
29122 Reviewed by Ada Chan.
29123
29124 * platform/win/SharedTimerWin.cpp:
29125 (WebCore::TimerWindowWndProc):
29126 (WebCore::clearTimer):
29127 (WebCore::queueTimerProc):
29128 (WebCore::setSharedTimerFireTime):
29129
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000291302008-08-21 Anthony Ricaud <rik24d@gmail.com>
29131
timothy@apple.com493212c72008-08-21 16:36:06 +000029132 After trying to add the expression, try again with quotes for
29133 easier edition.
29134
29135 https://bugs.webkit.org/show_bug.cgi?id=20466
29136
29137 Reviewed by Tim Hatcher.
29138
29139 * page/inspector/ObjectPropertiesSection.js: Added an
29140 evaluateExpression function.
29141
291422008-08-21 Anthony Ricaud <rik24d@gmail.com>
29143
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000029144 Perform Inspector searches on search event to clear results when
29145 clicking the cross to empty it. Delete the lastQuery when the field
29146 is emptied in order to perform the search if exactly the same query
29147 is entered next.
29148
29149 https://bugs.webkit.org/show_bug.cgi?id=20462
29150
29151 Reviewed by Tim Hatcher.
29152
29153 * page/inspector/inspector.js:
29154
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000291552008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
29156
29157 Reviewed by Mark Rowe.
29158
29159 http://bugs.webkit.org/show_bug.cgi?id=19656
29160 [SOUP] The gio code should call didFail() instead of
29161 didFinishLoading() in case of error
29162
29163 In case of error call didFail() instead of didReceiveResponse() and
29164 didFinishLoading().
29165
29166 * platform/network/soup/ResourceHandleSoup.cpp:
29167 (WebCore::networkErrorForFile):
29168 (WebCore::readCallback):
29169 (WebCore::openCallback):
29170 (WebCore::queryInfoCallback):
29171
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000291722008-08-20 Mark Rowe <mrowe@apple.com>
29173
mrowe@apple.com4e593f42008-08-21 06:52:42 +000029174 Reviewed by Jon Honeycutt.
29175
29176 Fix build failure.
29177
29178 * bridge/c/c_instance.cpp:
29179 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
29180 as that is what NPEnumerationFunctionPtr is declared as accepting.
29181
291822008-08-20 Mark Rowe <mrowe@apple.com>
29183
mrowe@apple.com72a95b12008-08-21 04:01:51 +000029184 Reviewed by Dan Bernstein.
29185
29186 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
29187
29188 * platform/graphics/GraphicsContext.h:
29189 (WebCore::):
29190 * platform/graphics/cg/GraphicsContextCG.cpp:
29191 (WebCore::GraphicsContext::setImageInterpolationQuality):
29192 (WebCore::GraphicsContext::imageInterpolationQuality):
29193
mitz@apple.comaa938792008-08-21 00:33:29 +0000291942008-08-20 Dan Bernstein <mitz@apple.com>
29195
29196 Rubber-stamped by John Sullivan.
29197
29198 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
29199 rename related methods and variables accordingly.
29200
29201 * WebCore.base.exp:
29202 * page/FrameView.cpp:
29203 (WebCore::FrameViewPrivate::FrameViewPrivate):
29204 (WebCore::FrameView::shouldUpdateWhileOffscreen):
29205 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
29206 * page/FrameView.h:
29207 * platform/ScrollView.h:
29208 * platform/mac/ScrollViewMac.mm:
29209 (WebCore::ScrollView::updateContents):
29210
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000292112008-08-20 Brady Eidson <beidson@apple.com>
29212
29213 Reviewed by Mitzpettel
29214
beidson@apple.comeb0fdc62008-11-24 22:46:53 +000029215 <rdar://problem/6153432> - Many images broken in Mail
beidson@apple.com2ace6b12008-08-21 00:13:12 +000029216
29217 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
29218 sooner than before and confuse the WebArchive machinery.
29219
29220 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
29221 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
29222 machinery and nothing is known about where the data will eventually come from.
29223
29224 * loader/DocumentLoader.cpp:
29225 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
29226 CachedResource::PreloadReferenced.
29227
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000292282008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
29229
29230 Unreviewed compile fix
29231
29232 Catch up with the JSValue::type elimination.
29233
29234 * bridge/qt/qt_instance.cpp:
29235 (KJS::Bindings::QtRuntimeObjectImp::construct):
29236 (KJS::Bindings::QtInstance::defaultValue):
29237 * bridge/qt/qt_runtime.cpp:
29238 (KJS::Bindings::QtRuntimeConnectionMethod::call):
29239
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000292402008-08-20 Chris Teague <chris.teague@gmail.com>
29241
29242 Reviewed by Mark Rowe.
29243
29244 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
29245 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
29246
29247 * ChangeLog:
29248 * loader/FrameLoader.cpp:
29249 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
29250
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000292512008-08-20 Simon Fraser <simon.fraser@apple.com>
29252
29253 Reviewed by Dave Hyatt
29254
29255 getComputedStyle() for webkitTransform should return a transform
29256 that does not have the transform origin baked into it.
29257 https://bugs.webkit.org/show_bug.cgi?id=20464
29258
29259 Test: fast/css/getComputedStyle-transform.html
29260
29261 * css/CSSComputedStyleDeclaration.cpp:
29262 (WebCore::computedTransform):
29263 * rendering/style/RenderStyle.cpp:
29264 (WebCore::RenderStyle::applyTransform):
29265 * rendering/style/RenderStyle.h:
29266
andersca@apple.com021ce772008-08-20 21:04:12 +0000292672008-08-20 Josh Aas <joshmoz@gmail.com>
29268
29269 Reviewed and landed by Anders.
29270
29271 <rdar://problem/6163636>
29272 rename NPCocoaEvent's "event" struct to "data" (20446)
29273
29274 * bridge/npapi.h:
29275 (_NPCocoaEvent::):
29276
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000292772008-08-20 Beth Dakin <bdakin@apple.com>
29278
darin@apple.com07c80c62008-09-05 18:15:43 +000029279 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000029280
29281 Fix for <rdar://problem/6145626>
29282 This patch fixes a number of remaining problems getting
29283 disconnected frames to work correctly with markAllMatchesForText()
29284 and findString(). Details inline.
29285
29286 This was a static helper function in Frame, but this patch requires
29287 the same functionality in Editor, so I just added it as a function
29288 on Node.
29289 * dom/Node.cpp:
29290 (WebCore::Node::isInShadowTree):
29291 * dom/Node.h:
29292
29293 * editing/Editor.cpp:
29294 (WebCore::Editor::insideVisibleArea): Returns false if
29295 excludeFromTextSearch() is true.
29296
29297 In a normal (non-disconnected) frame, findString returns a range of
29298 the document node if the text is not found in the frame. I changed
29299 firstVisibleRange and lastVisibleRange to match that behavior when
29300 the text is not found
29301 (WebCore::Editor::firstVisibleRange):
29302 (WebCore::Editor::lastVisibleRange):
29303
29304 Here are the bulk of the changes in the patch. A lot of text was
29305 not being found in disconnected frames because I failed to account
29306 for all of the possible problems associated with shadow trees. That
29307 is fixed here.
29308 (WebCore::Editor::nextVisibleRange):
29309 * editing/Editor.h:
29310
29311 excludeFromTextSearch() is new. It allows a WebKit client to mark a
29312 frame as not-text-searchable through SPI.
29313 * WebCore.base.exp:
29314 * page/Frame.cpp:
29315 (WebCore::Frame::excludeFromTextSearch):
29316 (WebCore::Frame::setExcludeFromTextSearch):
29317 (WebCore::FramePrivate::FramePrivate):
29318 * page/Frame.h:
29319 * page/FramePrivate.h:
29320
29321 (WebCore::Frame::findString):
29322 (WebCore::Frame::markAllMatchesForText): I kept running into an
29323 assertion failure in paining code because of the forced paint on
29324 empty visible rects.
29325
timothy@apple.com301befc2008-08-20 19:10:54 +0000293262008-08-20 Timothy Hatcher <timothy@apple.com>
29327
29328 Adds a positon box to the Inspector's Metrics sidebar
29329 pane. When an element is not statically positioned, there
29330 is now a position box that show top, right, bottom and
29331 left computed values.
29332
29333 Reviewed by Kevin McCullough.
29334
29335 * English.lproj/localizedStrings.js: Updated the strings.
29336 * page/inspector/MetricsSidebarPane.js:
29337 (WebInspector.MetricsSidebarPane.prototype.update):
29338 Renamed the boxPartValue function to createBoxPartElement
29339 and made it create the entire element. Made it understand
29340 how to get position style properties. Don't use the figure dash
29341 when 0px is used for positions, since the 0 is meaningful there.
29342 Instead use the figure dash when a position is auto.
29343 * page/inspector/inspector.css: Added a new rule for position.
29344
mrowe@apple.com37686d42008-09-04 00:10:39 +0000293452008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000029346
29347 Reviewed by Beth Dakin
29348
29349 Qt build fix
29350
29351 * WebCore.pro:
29352
mitz@apple.comedaa9042008-08-20 18:28:07 +0000293532008-08-20 Dan Bernstein <mitz@apple.com>
29354
29355 Reviewed by Anders Carlsson.
29356
29357 - avoid using a deprecated NSScroller method on Leopard
29358
29359 * platform/mac/PlatformScrollBarMac.mm:
29360 (WebCore::PlatformScrollbar::updateThumbPosition):
29361 (WebCore::PlatformScrollbar::updateThumbProportion):
29362
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000293632008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
29364
29365 Reviewed by Oliver Hunt.
29366
29367 Gtk build fix
29368
29369 * GNUmakefile.am:
29370 * page/AccessibilityTable.cpp: Change nil to 0
29371 (WebCore::AccessibilityTable::cellForColumnAndRow):
29372
ap@webkit.org01aff702008-08-20 07:23:06 +0000293732008-08-19 Alexey Proskuryakov <ap@webkit.org>
29374
29375 Reviewed by Geoff Garen.
29376
29377 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
29378
29379 * ForwardingHeaders/kjs/JSLock.h: Added.
29380 * WebCore.vcproj/WebCore.vcproj:
29381 * bindings/js/GCController.cpp:
29382 (WebCore::collect):
29383 (WebCore::GCController::gcTimerFired):
29384 (WebCore::GCController::garbageCollectNow):
29385 * bindings/js/JSCustomSQLStatementCallback.cpp:
29386 (WebCore::JSCustomSQLStatementCallback::handleEvent):
29387 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
29388 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
29389 * bindings/js/JSCustomSQLTransactionCallback.cpp:
29390 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
29391 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
29392 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
29393 * bindings/js/JSCustomVoidCallback.cpp:
29394 (WebCore::JSCustomVoidCallback::handleEvent):
29395 * bindings/js/JSCustomXPathNSResolver.cpp:
29396 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
29397 * bindings/js/JSDOMWindowBase.cpp:
29398 (WebCore::DOMWindowTimer::~DOMWindowTimer):
29399 (WebCore::JSDOMWindowBase::clear):
29400 (WebCore::JSDOMWindowBase::timerFired):
29401 * bindings/js/JSEventCustom.cpp:
29402 (WebCore::toJS):
29403 * bindings/js/JSEventListener.cpp:
29404 (WebCore::JSAbstractEventListener::handleEvent):
29405 * bindings/js/JSNSResolver.cpp:
29406 (WebCore::JSNSResolver::lookupNamespaceURI):
29407 * bindings/js/JSNodeFilterCondition.cpp:
29408 (WebCore::JSNodeFilterCondition::acceptNode):
29409 * bindings/js/ScheduledAction.cpp:
29410 (WebCore::ScheduledAction::execute):
29411 * bindings/js/ScriptController.cpp:
29412 (WebCore::ScriptController::evaluate):
29413 (WebCore::ScriptController::clearWindowShell):
29414 (WebCore::ScriptController::createHTMLEventHandler):
29415 (WebCore::ScriptController::createSVGEventHandler):
29416 (WebCore::ScriptController::initScript):
29417 (WebCore::ScriptController::updateDocument):
29418 (WebCore::ScriptController::bindingRootObject):
29419 (WebCore::ScriptController::windowScriptNPObject):
29420 (WebCore::ScriptController::createScriptObjectForPluginElement):
29421 (WebCore::ScriptController::clearScriptObjects):
29422 * bindings/js/ScriptControllerMac.mm:
29423 (WebCore::ScriptController::windowScriptObject):
29424 * bindings/objc/WebScriptObject.mm:
29425 (_didExecute):
29426 (-[WebScriptObject callWebScriptMethod:withArguments:]):
29427 (-[WebScriptObject evaluateWebScript:]):
29428 (-[WebScriptObject setValue:forKey:]):
29429 (-[WebScriptObject valueForKey:]):
29430 (-[WebScriptObject removeWebScriptKey:]):
29431 (-[WebScriptObject stringRepresentation]):
29432 (-[WebScriptObject webScriptValueAtIndex:]):
29433 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
29434 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
29435 * bridge/NP_jsobject.cpp:
29436 (_NPN_InvokeDefault):
29437 (_NPN_Invoke):
29438 (_NPN_Evaluate):
29439 (_NPN_GetProperty):
29440 (_NPN_SetProperty):
29441 (_NPN_RemoveProperty):
29442 (_NPN_HasProperty):
29443 (_NPN_HasMethod):
29444 (_NPN_Enumerate):
29445 * bridge/c/c_class.cpp:
29446 (KJS::Bindings::CClass::~CClass):
29447 (KJS::Bindings::CClass::methodsNamed):
29448 (KJS::Bindings::CClass::fieldNamed):
29449 * bridge/c/c_instance.cpp:
29450 (KJS::Bindings::CInstance::invokeMethod):
29451 (KJS::Bindings::CInstance::invokeDefaultMethod):
29452 (KJS::Bindings::CInstance::getPropertyNames):
29453 * bridge/c/c_runtime.cpp:
29454 (KJS::Bindings::CField::valueFromInstance):
29455 (KJS::Bindings::CField::setValueToInstance):
29456 * bridge/c/c_utility.cpp:
29457 (KJS::Bindings::convertValueToNPVariant):
29458 (KJS::Bindings::convertNPVariantToValue):
29459 * bridge/jni/jni_class.cpp:
29460 (JavaClass::JavaClass):
29461 (JavaClass::~JavaClass):
29462 * bridge/jni/jni_instance.cpp:
29463 (JavaInstance::stringValue):
29464 * bridge/jni/jni_jsobject.mm:
29465 (JavaJSObject::call):
29466 (JavaJSObject::eval):
29467 (JavaJSObject::getMember):
29468 (JavaJSObject::setMember):
29469 (JavaJSObject::removeMember):
29470 (JavaJSObject::getSlot):
29471 (JavaJSObject::setSlot):
29472 (JavaJSObject::toString):
29473 (JavaJSObject::convertValueToJObject):
29474 (JavaJSObject::convertJObjectToValue):
29475 * bridge/jni/jni_objc.mm:
29476 (KJS::Bindings::dispatchJNICall):
29477 * bridge/jni/jni_runtime.cpp:
29478 (appendClassName):
29479 (JavaMethod::signature):
29480 * bridge/jni/jni_runtime.h:
29481 (KJS::Bindings::JavaString::JavaString):
29482 (KJS::Bindings::JavaString::_commonInit):
29483 (KJS::Bindings::JavaString::~JavaString):
29484 (KJS::Bindings::JavaString::UTF8String):
29485 * bridge/jni/jni_utility.cpp:
29486 (KJS::Bindings::convertValueToJValue):
29487 * bridge/npruntime.cpp:
29488 (_NPN_GetStringIdentifier):
29489 * bridge/objc/objc_instance.mm:
29490 (ObjcInstance::moveGlobalExceptionToExecState):
29491 (ObjcInstance::invokeMethod):
29492 (ObjcInstance::invokeDefaultMethod):
29493 (ObjcInstance::setValueOfUndefinedField):
29494 (ObjcInstance::getValueOfUndefinedField):
29495 * bridge/objc/objc_runtime.mm:
29496 (ObjcField::valueFromInstance):
29497 (ObjcField::setValueToInstance):
29498 * bridge/objc/objc_utility.mm:
29499 (KJS::Bindings::convertValueToObjcValue):
29500 (KJS::Bindings::convertNSStringToString):
29501 (KJS::Bindings::convertObjcValueToValue):
29502 * bridge/qt/qt_instance.cpp:
29503 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
29504 (KJS::Bindings::QtInstance::~QtInstance):
29505 (KJS::Bindings::QtInstance::getQtInstance):
29506 (KJS::Bindings::QtInstance::getRuntimeObject):
29507 * bridge/qt/qt_runtime.cpp:
29508 (KJS::Bindings::convertValueToQVariant):
29509 (KJS::Bindings::convertQVariantToValue):
29510 (KJS::Bindings::QtRuntimeMetaMethod::call):
29511 (KJS::Bindings::QtRuntimeConnectionMethod::call):
29512 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
29513 (KJS::Bindings::QtConnectionObject::execute):
29514 * bridge/runtime.cpp:
29515 (KJS::Bindings::Instance::createRuntimeObject):
29516 * bridge/testbindings.cpp:
29517 (main):
29518 * bridge/testbindings.mm:
29519 (main):
29520 * bridge/testqtbindings.cpp:
29521 (main):
29522 * dom/Document.cpp:
29523 (WebCore::Document::~Document):
29524 * dom/Node.cpp:
29525 (WebCore::Node::setDocument):
29526 * history/CachedPage.cpp:
29527 (WebCore::CachedPage::CachedPage):
29528 (WebCore::CachedPage::restore):
29529 (WebCore::CachedPage::clear):
29530 * loader/FrameLoader.cpp:
29531 (WebCore::getString):
29532 * page/InspectorController.cpp:
29533 (WebCore::ConsoleMessage::ConsoleMessage):
29534 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
29535 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
29536 (WebCore::getResourceDocumentNode):
29537 (WebCore::search):
29538 (WebCore::inspectedWindow):
29539 (WebCore::wrapCallback):
29540 (WebCore::currentCallFrame):
29541 (WebCore::profiles):
29542 (WebCore::InspectorController::focusNode):
29543 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
29544 (WebCore::InspectorController::addDatabaseScriptResource):
29545 (WebCore::InspectorController::addScriptProfile):
29546 * page/JavaScriptCallFrame.cpp:
29547 (WebCore::JavaScriptCallFrame::evaluate):
29548 * page/JavaScriptProfileNode.cpp:
29549 (WebCore::getTotalTime):
29550 (WebCore::getSelfTime):
29551 (WebCore::getTotalPercent):
29552 (WebCore::getSelfPercent):
29553 (WebCore::getNumberOfCalls):
29554 (WebCore::getChildren):
29555 (WebCore::getVisible):
29556 * page/Page.cpp:
29557 * page/mac/FrameMac.mm:
29558 * plugins/PluginView.cpp:
29559 (WebCore::PluginView::start):
29560 (WebCore::getString):
29561 (WebCore::PluginView::performRequest):
29562 (WebCore::PluginView::bindingInstance):
29563 * plugins/gtk/PluginViewGtk.cpp:
29564 (WebCore::PluginView::paint):
29565 (WebCore::PluginView::handleKeyboardEvent):
29566 (WebCore::PluginView::handleMouseEvent):
29567 (WebCore::PluginView::setNPWindowRect):
29568 (WebCore::PluginView::stop):
29569 (WebCore::PluginView::init):
29570 * plugins/qt/PluginViewQt.cpp:
29571 (WebCore::PluginView::setNPWindowRect):
29572 (WebCore::PluginView::stop):
29573 (WebCore::PluginView::init):
29574 * plugins/win/PluginViewWin.cpp:
29575 (WebCore::PluginView::dispatchNPEvent):
29576 (WebCore::PluginView::handleKeyboardEvent):
29577 (WebCore::PluginView::handleMouseEvent):
29578 (WebCore::PluginView::setNPWindowRect):
29579 (WebCore::PluginView::stop):
29580 * xml/XMLHttpRequest.cpp:
29581 (WebCore::XMLHttpRequest::clearResponse):
29582 (WebCore::XMLHttpRequest::didFinishLoading):
29583 (WebCore::XMLHttpRequest::didReceiveData):
29584
eric@webkit.orgbac93762008-08-19 23:33:07 +0000295852008-08-19 Eric Seidel <eric@webkit.org>
29586
29587 Reviewed by Geoff Garen.
29588
29589 Add the beginnings of Skia graphics support to WebCore
29590 as I try to begin the long process of un-forking the changes
29591 needed to WebCore to make Andriod's WebCore build.
29592
29593 I'll follow this up with actual *Skia.cpp files in a separate patch.
29594
29595 * platform/graphics/AffineTransform.h:
29596 * platform/graphics/FloatPoint.h:
29597 * platform/graphics/FloatRect.h:
29598 * platform/graphics/Gradient.h:
29599 * platform/graphics/GraphicsContext.h:
29600 * platform/graphics/Image.h:
29601 * platform/graphics/ImageBuffer.h:
29602 * platform/graphics/ImageSource.h:
29603 * platform/graphics/IntPoint.h:
29604 * platform/graphics/IntRect.h:
29605 * platform/graphics/Path.h:
29606 * platform/graphics/Pattern.h:
29607 * svg/graphics/SVGPaintServerPattern.h:
29608 * svg/graphics/SVGPaintServerSolid.h:
29609
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000296102008-08-19 Steve Falkenburg <sfalken@apple.com>
29611
sfalken@apple.com45d22802008-08-19 22:46:31 +000029612 Fix Windows build more.
29613
29614 * WebCore.vcproj/WebCore.vcproj:
29615
296162008-08-19 Steve Falkenburg <sfalken@apple.com>
29617
sfalken@apple.com3f69b332008-08-19 22:34:37 +000029618 Fix Windows build.
29619
29620 * page/AccessibilityRenderObject.cpp:
29621 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
29622
mrowe@apple.com37686d42008-09-04 00:10:39 +0000296232008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000029624
29625 Reviewed by Beth Dakin.
29626
29627 <rdar://problem/4003764> Expose tables as AXTables
29628
29629 Tests: accessibility/table-attributes.html
29630 accessibility/table-cell-spans.html
29631 accessibility/table-cells.html
29632 accessibility/table-detection.html
29633 accessibility/table-sections.html
29634 accessibility/table-with-rules.html
29635
29636 * WebCore.xcodeproj/project.pbxproj:
29637 * page/AXObjectCache.cpp:
29638 (WebCore::AXObjectCache::get):
29639 * page/AccessibilityObject.h:
29640 (WebCore::):
29641 (WebCore::AccessibilityObject::isDataTable):
29642 (WebCore::AccessibilityObject::isTableRow):
29643 (WebCore::AccessibilityObject::isTableColumn):
29644 (WebCore::AccessibilityObject::isTableCell):
29645 * page/AccessibilityRenderObject.cpp:
29646 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
29647 * page/AccessibilityTable.cpp: Added.
29648 (WebCore::AccessibilityTable::AccessibilityTable):
29649 (WebCore::AccessibilityTable::~AccessibilityTable):
29650 (WebCore::AccessibilityTable::create):
29651 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
29652 (WebCore::AccessibilityTable::clearChildren):
29653 (WebCore::AccessibilityTable::addChildren):
29654 (WebCore::AccessibilityTable::headerContainer):
29655 (WebCore::AccessibilityTable::columns):
29656 (WebCore::AccessibilityTable::rows):
29657 (WebCore::AccessibilityTable::rowHeaders):
29658 (WebCore::AccessibilityTable::columnHeaders):
29659 (WebCore::AccessibilityTable::cells):
29660 (WebCore::AccessibilityTable::columnCount):
29661 (WebCore::AccessibilityTable::rowCount):
29662 (WebCore::AccessibilityTable::cellForColumnAndRow):
29663 (WebCore::AccessibilityTable::roleValue):
29664 (WebCore::AccessibilityTable::accessibilityIsIgnored):
29665 (WebCore::AccessibilityTable::title):
29666 (WebCore::AccessibilityTable::isDataTable):
29667 * page/AccessibilityTable.h: Added.
29668 * page/AccessibilityTableCell.cpp: Added.
29669 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
29670 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
29671 (WebCore::AccessibilityTableCell::create):
29672 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
29673 (WebCore::AccessibilityTableCell::rowIndexRange):
29674 (WebCore::AccessibilityTableCell::columnIndexRange):
29675 * page/AccessibilityTableCell.h: Added.
29676 (WebCore::AccessibilityTableCell::isTableCell):
29677 (WebCore::AccessibilityTableCell::roleValue):
29678 * page/AccessibilityTableColumn.cpp: Added.
29679 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
29680 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
29681 (WebCore::AccessibilityTableColumn::create):
29682 (WebCore::AccessibilityTableColumn::setParentTable):
29683 (WebCore::AccessibilityTableColumn::elementRect):
29684 (WebCore::AccessibilityTableColumn::size):
29685 (WebCore::AccessibilityTableColumn::children):
29686 (WebCore::AccessibilityTableColumn::headerObject):
29687 (WebCore::AccessibilityTableColumn::headerObjectForSection):
29688 (WebCore::AccessibilityTableColumn::addChildren):
29689 * page/AccessibilityTableColumn.h: Added.
29690 (WebCore::AccessibilityTableColumn::parentObject):
29691 (WebCore::AccessibilityTableColumn::roleValue):
29692 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
29693 (WebCore::AccessibilityTableColumn::isTableColumn):
29694 (WebCore::AccessibilityTableColumn::setColumnIndex):
29695 (WebCore::AccessibilityTableColumn::columnIndex):
29696 * page/AccessibilityTableHeaderContainer.cpp: Added.
29697 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
29698 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
29699 (WebCore::AccessibilityTableHeaderContainer::create):
29700 (WebCore::AccessibilityTableHeaderContainer::children):
29701 (WebCore::AccessibilityTableHeaderContainer::elementRect):
29702 (WebCore::AccessibilityTableHeaderContainer::size):
29703 (WebCore::AccessibilityTableHeaderContainer::addChildren):
29704 * page/AccessibilityTableHeaderContainer.h: Added.
29705 (WebCore::AccessibilityTableHeaderContainer::roleValue):
29706 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
29707 (WebCore::AccessibilityTableHeaderContainer::parentObject):
29708 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
29709 * page/AccessibilityTableRow.cpp: Added.
29710 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
29711 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
29712 (WebCore::AccessibilityTableRow::create):
29713 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
29714 (WebCore::AccessibilityTableRow::headerObject):
29715 * page/AccessibilityTableRow.h: Added.
29716 (WebCore::AccessibilityTableRow::isTableRow):
29717 (WebCore::AccessibilityTableRow::roleValue):
29718 (WebCore::AccessibilityTableRow::setRowIndex):
29719 (WebCore::AccessibilityTableRow::rowIndex):
29720 * page/mac/AccessibilityObjectWrapper.mm:
29721 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
29722 (RoleEntry::):
29723 (-[AccessibilityObjectWrapper roleDescription]):
29724 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
29725 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
29726 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
29727
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000297282008-08-19 Steve Falkenburg <sfalken@apple.com>
29729
29730 Build fix.
29731 Add buildfailed support to stop builds early (preventing inaccurate error messages).
29732 Add missing post-build rule to Release.
29733
29734 * WebCore.vcproj/QTMovieWin.vcproj:
29735
timothy@apple.comda3aa632008-08-19 18:33:02 +0000297362008-08-19 Keishi Hattori <casey.hattori@gmail.com>
29737
timothy@apple.com7d08c322008-08-19 18:33:27 +000029738 Added support for console.count in the inspector.
29739
29740 Reviewed by Geoff Garen.
29741
29742 * page/Console.cpp:
29743 (WebCore::Console::count):
29744 * page/Console.h:
29745 * page/Console.idl: Added console.count.
29746 * page/InspectorController.cpp:
29747 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
29748 (WebCore::InspectorController::count): Updates the count number
29749 sing "title@source:line" as the identifier, and adds a
29750 message to the console.
29751 * page/InspectorController.h: Added m_counts.
29752
297532008-08-19 Keishi Hattori <casey.hattori@gmail.com>
29754
timothy@apple.comda3aa632008-08-19 18:33:02 +000029755 Clear console.time timers when changing page.
29756
29757 Reviewed by Geoff Garen.
29758
29759 * page/InspectorController.cpp:
29760 (WebCore::InspectorController::didCommitLoad):
29761
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000297622008-08-19 Eric Carlson <eric.carlson@apple.com>
29763
29764 Reviewed by Adele.
29765
29766 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
29767 https://bugs.webkit.org/show_bug.cgi?id=20404
29768
29769 Ignore setVisible() when visibility doesn't change.
29770
29771 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
29772 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
29773 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
29774 (WebCore::MediaPlayerPrivate::setVisible):
29775
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000297762008-08-19 Timothy Hatcher <timothy@apple.com>
29777
timothy@apple.come058a792008-08-19 17:01:12 +000029778 Fixes a bug in the Profile view where switching sort order, then
29779 switching from heavy to tree mode would show the tree in the
29780 previous sort order.
29781
29782 https://bugs.webkit.org/show_bug.cgi?id=20441
29783
29784 Reviewed by Kevin McCullough.
29785
29786 * page/inspector/ProfileView.js:
29787 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
29788 on the next profile before assigning it to this.profile.
29789 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
29790 (WebInspector.ProfileView.prototype._sortProfile): Moves from
29791 _sortData and takes a profile argument. If the profile passed in
29792 matches the this.profile, then call refresh.
29793
297942008-08-18 Timothy Hatcher <timothy@apple.com>
29795
timothy@apple.come525e402008-08-19 17:01:00 +000029796 Changed the default sort order now that heavy view is the default.
29797 Also fixes a bug where the heavy profile was not sorted at first.
29798
29799 https://bugs.webkit.org/show_bug.cgi?id=20440
29800
29801 Reviewed by Kevin McCullough.
29802
29803 * page/inspector/ProfileView.js:
29804 (WebInspector.ProfileView): Changed the default sort column. Also assign
29805 heavyProfile to profile, so the sortSelfTimeDescending call happens
29806 on the heavy profile before assigning to this.profile.
29807
298082008-08-18 Timothy Hatcher <timothy@apple.com>
29809
timothy@apple.comc9287f32008-08-19 17:00:36 +000029810 Add support for editing DOM properties and scope variables by double
29811 clicking a property to enter edit mode.
29812
29813 https://bugs.webkit.org/show_bug.cgi?id=20415
29814
29815 Reviewed by Kevin McCullough.
29816
29817 * page/inspector/ObjectPropertiesSection.js:
29818 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
29819 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
29820 Factored out code into update, and calls update.
29821 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
29822 Call removeChildren since this method can be called multiple times now.
29823 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
29824 gets made later in onattach.
29825 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
29826 if shouldRefreshChildren is true. Call removeChildren since this method can be
29827 called multiple times now.
29828 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
29829 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
29830 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
29831 this element (code moved from the constructor.)
29832 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
29833 sibling property elements.
29834 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
29835 WebInspector.startEditing after rememebring some context.
29836 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
29837 for the list element, since it might have scrolled during editing.
29838 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
29839 then restore the state from the context. Then call update to restore the title.
29840 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
29841 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
29842 to commit the user input.
29843 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
29844 and stores the result on the object for the property name of this element. If the expression is
29845 empty, delete the property and remove the tree element.
29846 * page/inspector/ScopeChainSidebarPane.js:
29847 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
29848 property on each ObjectPropertiesSection.
29849 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
29850 since it is now implemented.
29851 * page/inspector/ScriptsPanel.js:
29852 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
29853 that defaults to true if omitted. It specifies whether to call update on the scope chain.
29854 * page/inspector/inspector.css: New styles.
29855 * page/inspector/treeoutline.js:
29856 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
29857 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
29858
298592008-08-18 Timothy Hatcher <timothy@apple.com>
29860
timothy@apple.com9d9821a2008-08-19 17:00:26 +000029861 Surround the expression to be evaluated in parenthesis so the
29862 result of the eval is the result of the whole expression not
29863 the last potential sub-expression. So evaluating {x: 123}
29864 will show the Object not 123.
29865
29866 https://bugs.webkit.org/show_bug.cgi?id=20428
29867
29868 Reviewed by Kevin McCullough.
29869
29870 * page/inspector/Console.js:
29871 (Console.prototype._evalInInspectedWindow): Add parenthesis
29872 around the expression. And add couple comments.
29873
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000298742008-08-19 Kevin McCullough <kmccullough@apple.com>
29875
29876 Reviewed by Geoff.
29877
29878 -Implement a page() function to extract a common code pattern.
29879
29880 * WebCore.xcodeproj/project.pbxproj:
29881 * page/Console.cpp:
29882 (WebCore::Console::addMessage):
29883 (WebCore::Console::error):
29884 (WebCore::Console::info):
29885 (WebCore::Console::log):
29886 (WebCore::Console::dir):
29887 (WebCore::Console::assertCondition):
29888 (WebCore::Console::time):
29889 (WebCore::Console::timeEnd):
29890 (WebCore::Console::group):
29891 (WebCore::Console::groupEnd):
29892 (WebCore::Console::finishedProfiling):
29893 (WebCore::Console::warn):
29894 (WebCore::Console::framePage):
29895 * page/Console.h:
29896
darin@apple.com349e1eb2008-08-19 04:39:04 +0000298972008-08-12 Darin Adler <darin@apple.com>
29898
29899 Reviewed by Geoff.
29900
29901 - eliminate JSValue::type()
29902
29903 * bridge/c/c_instance.cpp:
29904 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
29905 argument instead of JSType argument. Removed unneeded code to handle
29906 boolean, since that's never passed.
29907 * bridge/c/c_instance.h: Ditto.
29908
29909 * bridge/c/c_utility.cpp:
29910 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
29911 instead of JSValue::type(). Removed unneeded code to handle
29912 "unspecified".
29913
29914 * bridge/jni/jni_instance.cpp:
29915 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
29916 instead of JSType argument. Removed unneeded code to handle boolean.
29917 * bridge/jni/jni_instance.h: Ditto.
29918
29919 * bridge/jni/jni_jsobject.mm:
29920 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
29921 instead of JSValue::type().
29922
29923 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
29924 instead of JSType argument. Removed unused argument.
29925 * bridge/objc/objc_instance.mm:
29926 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
29927 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
29928 instead of JSType argument. Removed unneeded code to handle boolean
29929 and another dead code path for unknown types.
29930
29931 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
29932 instead of JSType argument. Removed override of type() that caused
29933 the fallback object to return "UndefinedType" when there is no
29934 invokeUndefinedMethodFromWebScript:withArguments: method defined.
29935 That didn't accomplish much, since most checks for undefined don't
29936 ever call type().
29937 * bridge/objc/objc_runtime.mm:
29938 (ObjcFallbackObjectImp::defaultValue): Ditto.
29939
29940 * bridge/qt/qt_instance.cpp:
29941 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
29942 argument instead of JSType argument. Removed unneeded code to handle
29943 boolean.
29944 * bridge/qt/qt_instance.h: Ditto.
29945
29946 * bridge/runtime.h:
29947 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
29948 unsed argument.
29949 * bridge/runtime_object.cpp:
29950 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
29951 argument instead of JSType argument.
29952 * bridge/runtime_object.h: Ditto.
29953
britto@apple.comaf7f8382008-08-19 00:42:13 +0000299542008-08-18 Maxime Britto <britto@apple.com>
29955
29956 Reviewed by Adele.
29957
29958 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
29959 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
29960 We shouldn't be able to create another window while we are in pan scrolling.
29961 Other browsers behaviors :
29962 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
29963 IE7 : Keys are not disabled but stops immediately the panning.
29964 This patch matches FF3 behavior by disabling every key but the esc key.
29965
29966 * page/EventHandler.cpp:
29967 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
29968 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
29969
mitz@apple.com12404d82008-08-19 00:20:38 +0000299702008-08-18 Dan Bernstein <mitz@apple.com>
29971
29972 Reviewed by Dave Hyatt.
29973
29974 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
29975
29976 Test: fast/replaced/max-width-percent.html
29977
29978 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
29979 When false, max-width is not factored into the
29980 calculation.
29981 Changed RenderReplaced and subclasses' calcPrefWidths() to call
29982 calcReplacedWidth(false) and then apply max-width only if it has a
29983 fixed, positive value.
29984
29985 * rendering/RenderBox.cpp:
29986 (WebCore::RenderBox::calcReplacedWidth):
29987 * rendering/RenderBox.h:
29988 * rendering/RenderImage.cpp:
29989 (WebCore::RenderImage::calcReplacedWidth):
29990 (WebCore::RenderImage::calcPrefWidths):
29991 * rendering/RenderImage.h:
29992 * rendering/RenderReplaced.cpp:
29993 (WebCore::RenderReplaced::calcPrefWidths):
29994 * rendering/RenderSVGRoot.cpp:
29995 (WebCore::RenderSVGRoot::calcPrefWidths):
29996 * rendering/RenderVideo.cpp:
29997 (WebCore::RenderVideo::calcReplacedWidth):
29998 (WebCore::RenderVideo::calcPrefWidths):
29999 * rendering/RenderVideo.h:
30000
mrowe@apple.comced88732008-08-18 22:47:28 +0000300012008-08-18 Daniel Macks <dmacks@netspace.org>
30002
30003 Reviewed by Mark Rowe.
30004
30005 https://bugs.webkit.org/show_bug.cgi?id=20410
30006 More portable/self-documenting replacement for SIZE_MAX.
30007
30008 * platform/network/curl/FormDataStreamCurl.cpp:
30009 (WebCore::FormDataStream::read):
30010
300112008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000030012
30013 Reviewed by Dave Hyatt
30014
30015 Need to make sure we have an Animation in the AnimationList
30016 before setting the initial value.
30017 https://bugs.webkit.org/show_bug.cgi?id=20408
30018
30019 Test: fast/css/transition_shorthand_parsing.html
30020
30021 * css/CSSStyleSelector.cpp:
30022
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000300232008-08-18 Kevin McCullough <kmccullough@apple.com>
30024
kmccullough@apple.com707bd362008-08-18 20:21:57 +000030025 Reviewed by Tim.
30026
30027 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
30028 is another profile.
30029
30030 * page/inspector/ProfilesPanel.js:
30031
300322008-08-18 Kevin McCullough <kmccullough@apple.com>
30033
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000030034 Reviewed by Geoff.
30035
30036 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
30037 all console messages
30038
30039 * page/inspector/Console.js:
30040
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000300412008-08-18 Dirk Schulze <vbs85@gmx.de>
30042
30043 Reviewed by Eric Seidel.
30044
30045 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
30046 the canvas clean up.
30047
30048 https://bugs.webkit.org/show_bug.cgi?id=20405
30049
30050 * html/CanvasRenderingContext2D.cpp:
30051 (WebCore::CanvasRenderingContext2D::fill):
30052 (WebCore::CanvasRenderingContext2D::stroke):
30053 (WebCore::CanvasRenderingContext2D::fillRect):
30054
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000300552008-08-17 Timothy Hatcher <timothy@apple.com>
30056
30057 Complete in scope variables in the Console when paused.
30058
30059 https://bugs.webkit.org/show_bug.cgi?id=19115
30060
30061 Reviewed by Geoffrey Garen.
30062
30063 * page/inspector/Console.js:
30064 (WebInspector.Console.prototype.completions): If the expressionString
30065 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
30066 to get an object that declares all the in scope variables. That way
30067 "top level" expressions are completed.
30068 * page/inspector/ScriptsPanel.js:
30069 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
30070 Return an object that has all the variables that are in scope for the
30071 selected call frame. The value of each property is just true.
30072 The return object is useful for quick lookups or auto completion.
30073
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000300742008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
30075
30076 Not reviewed.
30077
30078 Speculative Qt build fix.
30079
30080 * bridge/qt/qt_runtime.cpp:
30081 (KJS::Bindings::convertValueToQVariant):
30082 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
30083
ggaren@apple.comfea43532008-08-17 20:23:49 +0000300842008-08-17 Geoffrey Garen <ggaren@apple.com>
30085
30086 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000030087
30088 Updated project files to XCode 3.1.
30089
30090 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
30091
300922008-08-17 Geoffrey Garen <ggaren@apple.com>
30093
30094 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000030095
30096 Made room for a free word in JSCell.
30097
30098 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
30099 JSGlobalData, so the two could share a pointer.
30100
30101 Added a bunch of ASSERTs, to help catch over-sized objects.
30102
mrowe@apple.com13570292008-08-16 06:48:10 +0000301032008-08-15 Mark Rowe <mrowe@apple.com>
30104
mitz@apple.comb96c1b92008-08-17 03:28:52 +000030105 Reviewed by Dan Bernstein.
30106
30107 Disable dead code stripping in debug builds.
30108
30109 * Configurations/Base.xcconfig:
30110 * WebCore.xcodeproj/project.pbxproj:
30111
301122008-08-15 Mark Rowe <mrowe@apple.com>
30113
mrowe@apple.com13570292008-08-16 06:48:10 +000030114 Rubber-stamped by Geoff Garen.
30115
30116 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
30117
30118 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
30119 between the Debug configuration and debug Production variant.
30120 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
30121
antti@apple.coma05e8b02008-08-15 22:58:06 +0000301222008-08-15 Antti Koivisto <antti@apple.com>
30123
30124 Reviewed by Anders.
30125
30126 Don't start preloading body resources before the head is complete. This prevents
30127 body preloads from slowing down initial display when there is limited amount
30128 of bandwidth available.
30129
30130 Works by queuing up found body preloads to DocLoader and only issuing them
30131 after document has rendering.
30132
30133 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
30134 without affecting complete load time.
30135
30136 * html/PreloadScanner.cpp:
30137 (WebCore::PreloadScanner::PreloadScanner):
30138 (WebCore::PreloadScanner::scanningBody):
30139 (WebCore::PreloadScanner::emitTag):
30140 (WebCore::PreloadScanner::emitCSSRule):
30141 * html/PreloadScanner.h:
30142 * loader/DocLoader.cpp:
30143 (WebCore::DocLoader::preload):
30144 (WebCore::DocLoader::checkForPendingPreloads):
30145 (WebCore::DocLoader::requestPreload):
30146 * loader/DocLoader.h:
30147 * loader/loader.cpp:
30148 (WebCore::Loader::Host::didFinishLoading):
30149 (WebCore::Loader::Host::didFail):
30150
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000301512008-08-15 Ada Chan <adachan@apple.com>
30152
30153 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
30154 This way style set on an <hr> within a <select> will be honored.
30155
30156 Reviewed by Dave Hyatt and Dan Bernstein.
30157
30158 * rendering/RenderMenuList.cpp:
30159 (WebCore::RenderMenuList::itemStyle):
30160
antti@apple.com9f7911472008-08-15 20:48:06 +0000301612008-08-15 Antti Koivisto <antti@apple.com>
30162
30163 Reviewed by Oliver.
30164
30165 Some loader performance tweaks:
30166 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
30167 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
30168 to not delay rendering.
30169 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
30170 can take long time when latency is high so it is good to get started early.
30171 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
30172 load queues. Issue remaining loads to the network layer.
30173
30174 * loader/loader.cpp:
30175 (WebCore::Loader::determinePriority):
30176 (WebCore::Loader::load):
30177 (WebCore::Loader::Host::servePendingRequests):
30178 * loader/loader.h:
30179
timothy@apple.com2d974c32008-08-15 18:35:39 +0000301802008-08-15 Timothy Hatcher <timothy@apple.com>
30181
30182 Detach the script debugger when the Web Inspector's window closes.
30183 This has always been the intended design, but never fully implemented.
30184
30185 https://bugs.webkit.org/show_bug.cgi?id=20402
30186
30187 Reviewed by Adam Roben.
30188
30189 * page/InspectorController.cpp:
30190 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
30191 if the window is no longer visible.
30192
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000301932008-08-15 HĂĄvard Wall <hwall@trolltech.com>
30194
30195 Reviewed by Simon.
30196
hausmann@webkit.org58144a72008-08-15 18:12:08 +000030197 Fixes: compile with QT_NO_CONTEXTMENU
30198
30199 * platform/qt/PlatformMouseEventQt.cpp:
30200 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
30201 * platform/qt/PlatformScrollBarQt.cpp:
30202 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
30203 (WebCore::PlatformScrollbar::handleContextMenuEvent):
30204
302052008-08-15 HĂĄvard Wall <hwall@trolltech.com>
30206
30207 Reviewed by Simon.
30208
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000030209 Fixes: compile with QT_NO_WHEELEVENT
30210
30211 * platform/qt/WheelEventQt.cpp:
30212 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
30213
timothy@apple.com4889e612008-08-15 17:06:14 +0000302142008-08-15 Keishi Hattori <casey.hattori@gmail.com>
30215
timothy@apple.comd64639c2008-08-15 17:48:36 +000030216 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
30217
30218 https://bugs.webkit.org/show_bug.cgi?id=20210
30219
30220 Reviewed by Tim Hatcher.
30221
30222 * page/Console.cpp:
30223 (WebCore::Console::group):
30224 (WebCore::Console::groupEnd):
30225 * page/Console.h:
30226 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
30227 * page/InspectorController.cpp:
30228 (WebCore::InspectorController::startGroup): Increments group level by
30229 one and adds console message with StartGroupMessaageLevel.
30230 (WebCore::InspectorController::endGroup): Decrements group level by one
30231 and adds console message with EndGroupMessaageLevel.
30232 * page/InspectorController.h:
30233 * page/inspector/Console.js:
30234 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
30235 if the message is StartGroupMessaageLevel.
30236 (WebInspector.ConsoleMessage.prototype.toMessageElement):
30237 (WebInspector.ConsoleGroup.prototype.addMessage):
30238 * page/inspector/inspector.js:
30239
302402008-08-15 Keishi Hattori <casey.hattori@gmail.com>
30241
timothy@apple.com7310b6a2008-08-15 17:35:22 +000030242 Adds support for console.dir to the Inspector
30243
30244 https://bugs.webkit.org/show_bug.cgi?id=19155
30245
30246 Reviewed by Tim Hatcher.
30247
30248 * bindings/js/JSConsoleCustom.cpp:
30249 (WebCore::JSConsole::dir):
30250 * page/Console.cpp:
30251 (WebCore::Console::dir):
30252 * page/Console.h: Added ObjectMessageLevel.
30253 * page/Console.idl: Added console.dir.
30254 * page/inspector/Console.js:
30255 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
30256 ObjectPropertiesSection if the MessageLevel is Object.
30257 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
30258 used on primitive data types.
30259 * page/inspector/inspector.css:
30260
302612008-08-15 Keishi Hattori <casey.hattori@gmail.com>
30262
timothy@apple.com4889e612008-08-15 17:06:14 +000030263 Adds support for clear() in the Inspector console.
30264
30265 https://bugs.webkit.org/show_bug.cgi?id=19873
30266
30267 Reviewed by Tim Hatcher.
30268
30269 * page/inspector/Console.js:
30270
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000302712008-08-15 Anthony Ricaud <rik24d@gmail.com>
30272
30273 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
30274
30275 Platform distinction and modifier key matching adjusted
30276 by Daniel Jalkut <jalkut@red-sweater.com>
30277
30278 Bug 16313: text search (find) keybindings should work in the Web Inspector
30279 https://bugs.webkit.org/show_bug.cgi?id=16313
30280
30281 Reviewed by Tim Hatcher.
30282
30283 * page/inspector/inspector.js: Added a case for the F key
30284
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000302852008-08-15 Keishi Hattori <casey.hattori@gmail.com>
30286
30287 Fix for error when the string doesn't contain a webkit-profile link.
30288
30289 https://bugs.webkit.org/show_bug.cgi?id=20399
30290
30291 Reviewed by Tim Hatcher.
30292
30293 * page/inspector/inspector.js:
30294
timothy@apple.com895b2652008-08-15 16:33:27 +0000302952008-08-15 Timothy Hatcher <timothy@apple.com>
30296
30297 Fixes two bugs where JavaScript could be executed from the page
30298 while the debugger is paused.
30299
30300 The first issue was JSLazyEventListener not checking the paused
30301 state before parsing the code.
30302
30303 The second issue was with the PageGroup version of
30304 JavaScriptDebugServer::setJavaScriptPaused always passing false
30305 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
30306 and not the paused argument.
30307
30308 https://bugs.webkit.org/show_bug.cgi?id=20284
30309
30310 Reviewed by Adam Roben.
30311
30312 * bindings/js/JSEventListener.cpp:
30313 (WebCore::JSLazyEventListener::parseCode): Check the paused
30314 state of the ScriptController. Return early if paused.
30315 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
30316 * page/JavaScriptDebugServer.cpp:
30317 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
30318 Pass the paused argument to the Page version of setJavaScriptPaused.
30319
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000303202008-08-15 Alexey Proskuryakov <ap@webkit.org>
30321
30322 Reviewed by Geoff Garen.
30323
30324 JSStringRef is created context-free, but can get linked to one via an identifier table,
30325 breaking an implicit API contract.
30326
30327 * page/InspectorController.cpp:
30328 (WebCore::jsStringRef):
30329 (WebCore::InspectorController::didParseSource):
30330 (WebCore::InspectorController::failedToParseSource):
30331 * page/JavaScriptProfile.cpp:
30332 (WebCore::getTitleCallback):
30333 Updated for JavaScriptCore changes.
30334
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000303352008-08-14 Kevin Ollivier <kevino@theolliviers.com>
30336
30337 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
30338 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
30339
30340 * platform/graphics/AffineTransform.h:
30341
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000303422008-08-14 Eric Carlson <eric.carlson@apple.com>
30343
30344 Reviewed by Adele.
30345
30346 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
30347 <video> elements on Windows never becomes visible when a page is restored from the cache
30348
30349 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
30350 value is different from the cached value. Let the implementation decide when
30351 to avoid work because nothing has changed.
30352
30353 * platform/graphics/MediaPlayer.cpp:
30354 (WebCore::MediaPlayer::setVolume):
30355 (WebCore::MediaPlayer::setRate):
30356 (WebCore::MediaPlayer::setRect):
30357 (WebCore::MediaPlayer::setVisible):
30358
timothy@apple.comda810f42008-08-14 23:57:14 +0000303592008-08-14 Keishi Hattori <casey.hattori@gmail.com>
30360
30361 Make Firebug command line API respect predefined variables.
30362
timothy@apple.com90751f02008-08-14 23:58:19 +000030363 https://bugs.webkit.org/show_bug.cgi?id=20385
30364
timothy@apple.comda810f42008-08-14 23:57:14 +000030365 Reviewed by Tim Hatcher.
30366
30367 * page/inspector/Console.js:
30368
weinig@apple.com4b51d002008-08-14 23:33:22 +0000303692008-08-14 Sam Weinig <sam@webkit.org>
30370
30371 Reviewed by Geoffrey Garen and Timothy Hatcher.
30372
30373 Allow programatically setting the HTMLTokenizers time delay and chunk size
30374 which are used for determining how aggressively we yield.
30375
30376 * WebCore.base.exp:
30377 * html/HTMLTokenizer.cpp:
30378 (WebCore::HTMLTokenizer::begin):
30379 (WebCore::HTMLTokenizer::continueProcessing):
30380 * html/HTMLTokenizer.h:
30381 * page/Page.cpp:
30382 (WebCore::Page::Page):
30383 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
30384 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
30385 * page/Page.h:
30386 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
30387 (WebCore::Page::customHTMLTokenizerTimeDelay):
30388 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
30389 (WebCore::Page::customHTMLTokenizerChunkSize):
30390
eric@webkit.org89613d22008-08-14 23:19:17 +0000303912008-08-14 Eric Seidel <eric@webkit.org>
30392
eric@webkit.org7e897c32008-08-14 23:20:00 +000030393 Reviewed by Beth.
30394
30395 Move us one step closer to cross-platform svg/graphics code
30396
30397 * WebCore.xcodeproj/project.pbxproj:
30398 * html/CanvasStyle.cpp:
30399 * platform/graphics/Color.cpp:
30400 (WebCore::colorWithOverrideAlpha):
30401 * platform/graphics/Color.h:
30402 * svg/graphics/cg/CgSupport.cpp:
30403 (WebCore::applyStrokeStyleToContext):
30404 (WebCore::strokeBoundingBox):
30405 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
30406 (WebCore::SVGPaintServerSolid::setup):
30407
304082008-08-14 Eric Seidel <eric@webkit.org>
30409
eric@webkit.org4f490652008-08-14 23:19:31 +000030410 Reviewed by Alexey.
30411
eric@webkit.org73fa9d12008-08-14 23:19:44 +000030412 Remove un-need includes from HTMLCanvas and use the
30413 Gradient platform abstraction in one place in CanvasStyle
30414
30415 * html/CanvasRenderingContext2D.cpp:
30416 (WebCore::CanvasRenderingContext2D::fillRect):
30417 * html/CanvasStyle.cpp:
30418 * html/HTMLCanvasElement.cpp:
30419
304202008-08-14 Eric Seidel <eric@webkit.org>
30421
30422 Reviewed by Alexey.
30423
eric@webkit.org4f490652008-08-14 23:19:31 +000030424 Clean up GlyphBuffer.h, removing more #ifdefs
30425
30426 * platform/graphics/GlyphBuffer.h:
30427 (WebCore::GlyphBuffer::glyphAt):
30428 (WebCore::GlyphBuffer::advanceAt):
30429 (WebCore::GlyphBuffer::add):
30430
304312008-08-14 Eric Seidel <eric@webkit.org>
30432
eric@webkit.org89613d22008-08-14 23:19:17 +000030433 Reviewed by Sam.
30434
30435 Clean up AffineTransform.h, removing #ifdefs
30436
30437 * platform/graphics/AffineTransform.h:
30438 * platform/graphics/cairo/AffineTransformCairo.cpp:
30439 * platform/graphics/cg/AffineTransformCG.cpp:
30440 * platform/graphics/qt/AffineTransformQt.cpp:
30441 * platform/graphics/wx/AffineTransformWx.cpp:
30442
mitz@apple.com551d6252008-08-14 23:08:09 +0000304432008-08-14 Dan Bernstein <mitz@apple.com>
30444
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000030445 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
30446
30447 * platform/graphics/cairo/ImageSourceCairo.cpp:
30448 (WebCore::ImageSource::frameSizeAtIndex):
30449 * platform/graphics/qt/ImageSourceQt.cpp:
30450 (WebCore::ImageSource::frameSizeAtIndex):
30451 * platform/graphics/wx/ImageSourceWx.cpp:
30452 (WebCore::ImageSource::frameSizeAtIndex):
30453
304542008-08-14 Dan Bernstein <mitz@apple.com>
30455
mitz@apple.com551d6252008-08-14 23:08:09 +000030456 Reviewed by Brady Eidson.
30457
30458 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
30459
30460 * platform/graphics/BitmapImage.cpp:
30461 (WebCore::BitmapImage::BitmapImage): Added initialization of
30462 m_hasUniformFrameSize.
30463 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
30464 cached frame for use in decoded size computation and for setting
30465 m_hasUniformFrameSize.
30466 (WebCore::BitmapImage::currentFrameSize): Added.
30467 (WebCore::BitmapImage::dataChanged): Added code to reset
30468 m_hasUniformFrameSize.
30469 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
30470 m_hasUniformFrameSize.
30471 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
30472 * platform/graphics/cg/ImageCG.cpp:
30473 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
30474 fixes the bug, which resulted from assuming that the frame being drawn
30475 was the same size as the first frame.
30476 * platform/graphics/cg/ImageSourceCG.cpp:
30477 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
30478 changed to get the size of the frame at the given index.
30479 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
30480
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000304812008-08-13 Simon Fraser <simon.fraser@apple.com>
30482
30483 Reviewed by Eric Seidel
30484
30485 Fix @font-face inside @media rule crash.
30486 https://bugs.webkit.org/show_bug.cgi?id=20367
30487
30488 Test: fast/css/font-face-in-media-rule.html
30489
30490 * css/CSSStyleSelector.cpp:
30491 (WebCore::CSSRuleSet::addRulesFromSheet):
30492
kevino@webkit.org141c4602008-08-14 22:52:55 +0000304932008-08-14 Kevin Ollivier <kevino@theolliviers.com>
30494
30495 wx build fixes after recent changes to Canvas and Image classes.
30496
30497 * platform/graphics/Pattern.h:
30498 * platform/graphics/wx/GradientWx.cpp:
30499 (WebCore::Gradient::fill):
30500 * platform/graphics/wx/GraphicsContextWx.cpp:
30501 (WebCore::GraphicsContext::applyFillPattern):
30502 (WebCore::GraphicsContext::applyStrokePattern):
30503 * platform/graphics/wx/ImageBufferWx.cpp:
30504 (WebCore::ImageBuffer::image):
30505 * platform/graphics/wx/ImageWx.cpp:
30506 (WebCore::Image::loadPlatformResource):
30507
britto@apple.comd7008662008-08-14 19:26:02 +0000305082008-08-14 Maxime Britto <britto@apple.com>
30509
30510 Reviewed by Sam Weinig.
30511
30512 rdar://6102511
30513 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
30514 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
30515 Some differences exist between them concerning the kind of key which is pressed :
30516 IE7 : every key leads to a stop of the panning
30517 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
30518 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
30519
30520 * page/EventHandler.cpp:
30521 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
30522
christian@webkit.org0e20f322008-08-14 19:14:47 +0000305232008-08-14 Christian Dywan <christian@twotoasts.de>
30524
30525 Gtk+/ Cairo build fix, patch by Dirk Schulze.
30526
30527 * html/CanvasStyle.cpp:
30528 * platform/graphics/cairo/PatternCairo.cpp:
30529 (WebCore::Pattern::createPlatformPattern):
30530 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
30531
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000305322008-08-14 Kevin McCullough <kmccullough@apple.com>
30533
30534 Reviewed by Tim.
30535
30536 <rdar://problem/6115819> Notify of profile in console
30537
30538 * page/InspectorController.cpp:
30539 (WebCore::InspectorController::addProfile):
30540 (WebCore::InspectorController::addProfileMessageToConsole): Called by
30541 addProfile this is the function that adds a message to the console that
30542 a profile finished.
30543 * page/InspectorController.h:
30544 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
30545 the console log to the profile in the web inspector.
30546 (WebCore::getUniqueIdCallback):
30547 (WebCore::ProfileClass):
30548 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
30549 Id to bring up the requested profile. Also select and reveal the
30550 profile in the profile panel. And created displayTitleForProfileLink()
30551 which formats a title taking into account if it's user initiated or if
30552 there are multiples. Lasty, I put the user initiated profile in a
30553 variable.
30554 * page/inspector/inspector.js: Make the profile title be a clickable
30555 link that will take the user to the identified profile. Also expose
30556 the count of user initiated profiles so they can be displayed in the
30557 console with the correct count.
30558
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000305592008-08-14 Timothy Hatcher <timothy@apple.com>
30560
30561 Avoid formating ConsoleMessages twice unless the message will be
30562 displayed in bubbles of a SourceFrame.
30563
30564 Reviewed by Kevin McCullough.
30565
30566 * page/inspector/Console.js:
30567 (WebInspector.ConsoleMessage): Only format the plain text message
30568 if the URL and line are valid and the level is error or warning.
30569 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
30570 Helper to test for error or warning level.
30571 * page/inspector/SourceFrame.js:
30572 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
30573 message if there is no message or valid line or if the msg
30574 isn't an error or warning.
30575
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000305762008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
30577
30578 partial Gtk build fix, not reviewed
30579
30580 * platform/graphics/cairo/PatternCairo.cpp:
30581
weinig@apple.com45e83142008-08-14 04:49:30 +0000305822008-08-13 Sam Weinig <sam@webkit.org>
30583
weinig@apple.com1c615fe2008-09-29 04:17:33 +000030584 Reviewed by Anders Carlsson.
weinig@apple.com45e83142008-08-14 04:49:30 +000030585
30586 Fix style issue.
30587
30588 * html/HTMLMediaElement.cpp:
30589 (WebCore::HTMLMediaElement::pickMedia):
30590
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000305912008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
30592
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000030593 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
30594 Continue Erics build fixes, after the Image cleanup.
30595
30596 * platform/graphics/cairo/ImageBufferCairo.cpp:
30597 (WebCore::ImageBuffer::image):
30598
305992008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
30600
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000030601 Build fix for Qt, not reviewed.
30602 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
30603
30604 * dom/XMLTokenizer.cpp:
30605 (WebCore::eventuallyMarkAsParserCreated): Was erre
30606
306072008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
30608
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000030609 Build fix, not reviewed.
30610 Add ScriptElement.cpp to Gtk build.
30611
30612 * GNUmakefile.am:
30613
306142008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
30615
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000030616 Reviewed by Eric.
30617
30618 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
30619
30620 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
30621 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
30622
30623 This resolves code duplications and allows us to completly replace the old
30624 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
30625
30626 As ScriptElement, doesn't actually inherit from Element, we may want to rename
30627 it, though StyleElement uses the same naming convention, so I left it as is for now.
30628 Eventually we'll rename both files in future.
30629
30630 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
30631
30632 * WebCore.pro: Add new ScriptElement.cpp to build.
30633 * WebCore.vcproj/WebCore.vcproj: Ditto.
30634 * WebCore.xcodeproj/project.pbxproj: Ditto.
30635 * WebCoreSources.bkl: Dutto.
30636 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
30637 (WebCore::ScriptElement::insertedIntoDocument):
30638 (WebCore::ScriptElement::removedFromDocument):
30639 (WebCore::ScriptElement::childrenChanged):
30640 (WebCore::ScriptElement::finishParsingChildren):
30641 (WebCore::ScriptElement::handleSourceAttribute):
30642 (WebCore::isSupportedJavaScriptLanguage):
30643 (WebCore::ScriptElementData::ScriptElementData):
30644 (WebCore::ScriptElementData::~ScriptElementData):
30645 (WebCore::ScriptElementData::requestScript):
30646 (WebCore::ScriptElementData::evaluateScript):
30647 (WebCore::ScriptElementData::stopLoadRequest):
30648 (WebCore::ScriptElementData::notifyFinished):
30649 (WebCore::ScriptElementData::ignoresLoadRequest):
30650 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
30651 (WebCore::ScriptElementData::scriptCharset):
30652 (WebCore::ScriptElementData::scriptContent):
30653 * dom/ScriptElement.h: Added.
30654 (WebCore::ScriptElement::ScriptElement):
30655 (WebCore::ScriptElement::~ScriptElement):
30656 (WebCore::ScriptElementData::element):
30657 (WebCore::ScriptElementData::createdByParser):
30658 (WebCore::ScriptElementData::setCreatedByParser):
30659 * dom/XMLTokenizer.cpp:
30660 (WebCore::isScriptElement):
30661 (WebCore::castToScriptElement):
30662 (WebCore::eventuallyMarkAsParserCreated):
30663 (WebCore::XMLTokenizer::startElementNs):
30664 (WebCore::XMLTokenizer::endElementNs):
30665 (WebCore::createXHTMLParserErrorHeader):
30666 (WebCore::XMLTokenizer::insertErrorMessageBlock):
30667 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
30668 (WebCore::HTMLScriptElement::HTMLScriptElement):
30669 (WebCore::HTMLScriptElement::~HTMLScriptElement):
30670 (WebCore::HTMLScriptElement::isURLAttribute):
30671 (WebCore::HTMLScriptElement::setCreatedByParser):
30672 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
30673 (WebCore::HTMLScriptElement::childrenChanged):
30674 (WebCore::HTMLScriptElement::parseMappedAttribute):
30675 (WebCore::HTMLScriptElement::finishParsingChildren):
30676 (WebCore::HTMLScriptElement::insertedIntoDocument):
30677 (WebCore::HTMLScriptElement::removedFromDocument):
30678 (WebCore::HTMLScriptElement::text):
30679 (WebCore::HTMLScriptElement::setText):
30680 (WebCore::HTMLScriptElement::setHtmlFor):
30681 (WebCore::HTMLScriptElement::setEvent):
30682 (WebCore::HTMLScriptElement::charset):
30683 (WebCore::HTMLScriptElement::src):
30684 (WebCore::HTMLScriptElement::type):
30685 (WebCore::HTMLScriptElement::scriptCharset):
30686 (WebCore::HTMLScriptElement::scriptContent):
30687 (WebCore::HTMLScriptElement::sourceAttributeValue):
30688 (WebCore::HTMLScriptElement::charsetAttributeValue):
30689 (WebCore::HTMLScriptElement::typeAttributeValue):
30690 (WebCore::HTMLScriptElement::languageAttributeValue):
30691 (WebCore::HTMLScriptElement::dispatchLoadEvent):
30692 (WebCore::HTMLScriptElement::dispatchErrorEvent):
30693 * html/HTMLScriptElement.h:
30694 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
30695 * svg/SVGScriptElement.cpp:
30696 (WebCore::SVGScriptElement::SVGScriptElement):
30697 (WebCore::SVGScriptElement::scriptContent):
30698 (WebCore::SVGScriptElement::sourceAttributeValue):
30699 (WebCore::SVGScriptElement::charsetAttributeValue):
30700 (WebCore::SVGScriptElement::typeAttributeValue):
30701 (WebCore::SVGScriptElement::languageAttributeValue):
30702 (WebCore::SVGScriptElement::dispatchLoadEvent):
30703 (WebCore::SVGScriptElement::dispatchErrorEvent):
30704 * svg/SVGScriptElement.h:
30705 (WebCore::SVGScriptElement::setCreatedByParser):
30706
eric@webkit.org7811ef02008-08-14 00:28:51 +0000307072008-08-13 Eric Seidel <eric@webkit.org>
30708
eric@webkit.org3562c592008-08-14 02:17:29 +000030709 Attempt to fix the Gtk build, no review.
30710
30711 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
30712
30713 * platform/graphics/GraphicsContext.h:
30714 * platform/graphics/cairo/GraphicsContextCairo.cpp:
30715 * platform/graphics/qt/GradientQt.cpp:
30716 * platform/graphics/qt/GraphicsContextQt.cpp:
30717 * platform/gtk/RenderThemeGtk.cpp:
30718 (WebCore::paintMozWidget):
30719
307202008-08-13 Eric Seidel <eric@webkit.org>
30721
eric@webkit.org2ec42072008-08-14 02:03:09 +000030722 Yet another attempt to fix the Qt build, no review.
30723
30724 * platform/graphics/qt/GradientQt.cpp:
30725 * platform/graphics/qt/GraphicsContextQt.cpp:
30726 (WebCore::GraphicsContext::applyStrokePattern):
30727 (WebCore::GraphicsContext::applyFillPattern):
30728
307292008-08-13 Eric Seidel <eric@webkit.org>
30730
30731 Attempt to fix the Windows build, no review.
30732
30733 * platform/win/CursorWin.cpp:
30734 (WebCore::loadCursorByName):
30735 * platform/win/ScrollViewWin.cpp:
30736 (WebCore::ScrollView::paint):
30737
307382008-08-13 Eric Seidel <eric@webkit.org>
30739
eric@webkit.org508c0282008-08-14 01:29:34 +000030740 Attempt to fix the Windows build, no review.
30741
30742 * platform/win/CursorWin.cpp:
30743 (WebCore::loadCursorByName):
30744 * platform/win/ScrollViewWin.cpp:
30745 (WebCore::ScrollView::paint):
30746
307472008-08-13 Eric Seidel <eric@webkit.org>
30748
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000030749 Attempt to fix the Qt build, no review.
30750
30751 * platform/graphics/qt/ImageBufferQt.cpp:
30752 (WebCore::ImageBuffer::image):
30753
307542008-08-13 Eric Seidel <eric@webkit.org>
30755
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000030756 Attempt to fix the Windows build, no review.
30757
30758 * platform/graphics/win/ImageWin.cpp:
30759 (WebCore::Image::loadPlatformResource):
30760 * plugins/win/PluginViewWin.cpp:
30761 (WebCore::PluginView::paintMissingPluginIcon):
30762
307632008-08-13 Eric Seidel <eric@webkit.org>
30764
eric@webkit.orgac3f6662008-08-14 01:15:50 +000030765 Another attempt to fix the Qt build, no review.
30766
30767 * platform/graphics/qt/ImageQt.cpp:
30768 * platform/graphics/qt/StillImageQt.h:
30769
307702008-08-13 Eric Seidel <eric@webkit.org>
30771
eric@webkit.org31e0d812008-08-14 01:05:42 +000030772 No review, build fix only.
30773
30774 Fix mac build, due to change in new code since my patch was written.
30775
30776 * svg/graphics/cg/SVGResourceMaskerCg.mm:
30777 (WebCore::SVGResourceMasker::applyMask):
30778
307792008-08-13 Eric Seidel <eric@webkit.org>
30780
eric@webkit.orga20a0032008-08-14 00:42:54 +000030781 Build fix only, no review.
30782
30783 Attempt to fix the Qt build.
30784
eric@webkit.org923255c2008-08-14 00:59:20 +000030785 * platform/graphics/qt/ImageBufferQt.cpp:
30786 * platform/graphics/qt/StillImageQt.h:
30787 (WebCore::StillImage::create):
30788 (WebCore::StillImage::destroyDecodedData):
30789 (WebCore::StillImage::decodedSize):
30790
307912008-08-13 Eric Seidel <eric@webkit.org>
30792
30793 Build fix only, no review.
30794
30795 Attempt to fix the Qt build.
30796
eric@webkit.orga20a0032008-08-14 00:42:54 +000030797 * html/CanvasStyle.cpp:
30798 (WebCore::CanvasStyle::applyStrokeColor):
30799 (WebCore::CanvasStyle::applyFillColor):
30800
308012008-08-13 Eric Seidel <eric@webkit.org>
30802
eric@webkit.org4aca3be2008-08-14 00:30:04 +000030803 Reviewed by Sam.
30804
30805 Match HTML5 spec by throwing INVALID_STATE_ERR when
30806 createPattern is called and the HTMLImageElement is not
30807 yet done loading the image (!isComplete)
30808 https://bugs.webkit.org/show_bug.cgi?id=20351
30809
30810 Test: http/misc/canvas-pattern-from-incremental-image.html
30811
30812 * html/CanvasRenderingContext2D.cpp:
30813 (WebCore::CanvasRenderingContext2D::createPattern):
30814
308152008-08-13 Eric Seidel <eric@webkit.org>
30816
eric@webkit.org5b265602008-08-14 00:29:26 +000030817 Reviewed by Niko.
30818
eric@webkit.orgf0124f62008-08-14 00:29:50 +000030819 Split out a Pattern class from CanvasPattern
30820 and remove all the Pattern-related #ifdefs
30821 (This will break non-mac platforms! I will fix them.)
30822 https://bugs.webkit.org/show_bug.cgi?id=20351
30823
30824 * GNUmakefile.am:
30825 * WebCore.pro:
30826 * WebCore.vcproj/WebCore.vcproj:
30827 * WebCore.xcodeproj/project.pbxproj:
30828 * WebCoreSources.bkl:
30829 * html/CanvasPattern.cpp:
30830 (WebCore::CanvasPattern::parseRepetitionType):
30831 (WebCore::CanvasPattern::CanvasPattern):
30832 * html/CanvasPattern.h:
30833 (WebCore::CanvasPattern::create):
30834 (WebCore::CanvasPattern::pattern):
30835 (WebCore::CanvasPattern::originClean):
30836 * html/CanvasRenderingContext2D.cpp:
30837 (WebCore::CanvasRenderingContext2D::createPattern):
30838 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
30839 (WebCore::CanvasRenderingContext2D::applyFillPattern):
30840 * html/CanvasRenderingContext2D.h:
30841 * html/HTMLCanvasElement.cpp:
30842 * html/HTMLCanvasElement.h:
30843 * loader/FrameLoader.cpp:
30844 (WebCore::FrameLoader::createHistoryItem):
30845 * platform/graphics/GraphicsContext.h:
30846 * platform/graphics/cairo/GraphicsContextCairo.cpp:
30847 (WebCore::GraphicsContext::applyStrokePattern):
30848 (WebCore::GraphicsContext::applyFillPattern):
30849 * platform/graphics/cg/GraphicsContextCG.cpp:
30850 (WebCore::GraphicsContext::clipToImageBuffer):
30851 (WebCore::GraphicsContext::applyStrokePattern):
30852 (WebCore::GraphicsContext::applyFillPattern):
30853
308542008-08-13 Eric Seidel <eric@webkit.org>
30855
30856 Reviewed by Niko.
30857
eric@webkit.org5b265602008-08-14 00:29:26 +000030858 Make Images RefCounted (and clean up callers)
30859 https://bugs.webkit.org/show_bug.cgi?id=20351
30860
30861 * editing/DeleteButtonController.cpp:
30862 (WebCore::DeleteButtonController::createDeletionUI):
30863 * loader/CachedImage.cpp:
30864 (WebCore::CachedImage::CachedImage):
30865 (WebCore::brokenImage):
30866 (WebCore::nullImage):
30867 (WebCore::CachedImage::image):
30868 (WebCore::CachedImage::notifyObservers):
30869 (WebCore::CachedImage::createImage):
30870 * loader/CachedImage.h:
30871 * loader/icon/IconRecord.cpp:
30872 (WebCore::IconRecord::setImageData):
30873 (WebCore::IconRecord::loadImageFromResource):
30874 * loader/icon/IconRecord.h:
30875 * platform/graphics/BitmapImage.h:
30876 (WebCore::BitmapImage::create):
30877 * platform/graphics/GeneratedImage.h:
30878 * platform/graphics/Gradient.cpp:
30879 * platform/graphics/Gradient.h:
30880 * platform/graphics/Image.cpp:
30881 (WebCore::Image::nullImage):
30882 * platform/graphics/Image.h:
30883 * platform/graphics/ImageBuffer.h:
30884 * platform/graphics/cairo/ImageBufferCairo.cpp:
30885 (WebCore::ImageBuffer::image):
30886 * platform/graphics/cg/ImageBufferCG.cpp:
30887 (WebCore::ImageBuffer::image):
30888 (WebCore::ImageBuffer::getImageData):
30889 (WebCore::ImageBuffer::putImageData):
30890 * platform/graphics/cg/PDFDocumentImage.h:
30891 (WebCore::PDFDocumentImage::create):
30892 (WebCore::PDFDocumentImage::destroyDecodedData):
30893 (WebCore::PDFDocumentImage::decodedSize):
30894 * platform/graphics/gtk/ImageGtk.cpp:
30895 (WebCore::Image::loadPlatformResource):
30896 * platform/graphics/mac/ImageMac.mm:
30897 (WebCore::Image::loadPlatformResource):
30898 * rendering/RenderImage.cpp:
30899 * rendering/RenderLayer.cpp:
30900 (WebCore::RenderLayer::paintOverflowControls):
30901 * svg/graphics/SVGImage.cpp:
30902 (WebCore::SVGImage::nativeImageForCurrentFrame):
30903 * svg/graphics/SVGImage.h:
30904 (WebCore::SVGImage::create):
30905 (WebCore::SVGImage::destroyDecodedData):
30906 (WebCore::SVGImage::decodedSize):
30907 (WebCore::SVGImage::frameAtIndex):
30908 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
30909 (WebCore::SVGPaintServerPattern::setup):
30910 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
30911 (WebCore::SVGResourceMasker::applyMask):
30912 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
30913 (WebCore::patternCallback):
30914 * svg/graphics/cg/SVGResourceMaskerCg.mm:
30915 (WebCore::SVGResourceMasker::applyMask):
30916
309172008-08-13 Eric Seidel <eric@webkit.org>
30918
30919 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000030920
30921 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000030922 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000030923
30924 There are some down-sides to this commit.
30925 This commit limits us to 255 levels of grey for calls like:
30926 context.setStrokeStyle(.37, 1.0)
30927 previously CG might have used up to 32bits to store the grey level
30928 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
30929
30930 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
30931 to RGBA32 (like all the rest of colors in WebCore), thus:
30932 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
30933 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
30934
30935 If this is a problem for Dashboard, we can either roll out this commit
30936 or add a beefier Color abstraction, which can be used internally by GraphicsContext
30937 when keeping state, and then GraphicsContext can grow some additional set* routines
30938 for setting the a grey/float/whatever fill and stroke.
30939
30940 * html/CanvasRenderingContext2D.cpp:
30941 (WebCore::CanvasRenderingContext2D::setFillStyle):
30942 * html/CanvasStyle.cpp:
30943 (WebCore::CanvasStyle::CanvasStyle):
30944 (WebCore::colorWithOverrideAlpha):
30945 (WebCore::CanvasStyle::applyStrokeColor):
30946 (WebCore::CanvasStyle::applyFillColor):
30947 * html/CanvasStyle.h:
30948 * platform/graphics/Color.cpp:
30949 (WebCore::colorFloatToRGBAByte):
30950 (WebCore::makeRGBA32FromFloats):
30951 * platform/graphics/Color.h:
30952
adele@apple.com83e44822008-08-13 23:50:41 +0000309532008-08-13 Eric Carlson <eric.carlson@apple.com>
30954
30955 Reviewed by Adele Peterson.
30956
30957 Fix for <rdar://problem/6137931>
30958 https://bugs.webkit.org/show_bug.cgi?id=20360
30959 Remove all parameters from the MIME type before checking with the MIME type registry
30960
30961 Tests: media/video-source-type-params.html
30962
30963 * html/HTMLMediaElement.cpp:
30964 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
30965 to isSupportedMediaMIMEType()
30966
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000309672008-08-13 Beth Dakin <bdakin@apple.com>
30968
30969 Reviewed by Sam Weinig.
30970
30971 Fix for <rdar://problem/6141345>
30972
30973 This patch refines findString and markAllMatchesForText functions'
30974 interactions with disconnected frames. They no longer rely on
30975 knowing where a range is relative to the visible region and work
30976 with disconnected frames that contain frames.
30977
30978 * editing/Editor.cpp:
30979 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
30980 the visiblity enum.
30981 (WebCore::Editor::firstVisibleRange): This now returns the very
30982 first visible range in the document. It's no longer dependent on
30983 searching forward.
30984 (WebCore::Editor::lastVisibleRange): This now returns the very last
30985 visible range in the document. It's no longer dependent on
30986 searching backwards.
30987 (WebCore::Editor::nextVisibleRange): This returns the next visible
30988 range in the appropriate direction from the current range.
30989 * editing/Editor.h:
30990 * page/Frame.cpp:
30991 (WebCore::Frame::findString):
30992 (WebCore::Frame::markAllMatchesForText):
30993
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000309942008-08-13 Kevin Ollivier <kevino@theolliviers.com>
30995
30996 wx build fix for case-sensitive platforms, like Linux.
30997
30998 * WebCoreSources.bkl:
30999
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000310002008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
31001
31002 Reviewed by Holger Freyther.
31003
31004 http://bugs.webkit.org/show_bug.cgi?id=16881
31005 [GTK] PlatformScreenGtk is unimplemented
31006
31007 Original patch by Christian Dywan.
31008
31009 * platform/gtk/PlatformScreenGtk.cpp:
31010 (WebCore::screenDepth):
31011 (WebCore::screenDepthPerComponent):
31012 (WebCore::screenIsMonochrome):
31013 (WebCore::screenRect):
31014 (WebCore::screenAvailableRect):
31015
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000310162008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
31017
31018 Reviewed by Holger Freyther.
31019
31020 http://bugs.webkit.org/show_bug.cgi?id=20318
31021 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
31022
31023 g_idle_add is the same as g_idle_add_full with a priority of
31024 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
31025
31026 * platform/gtk/SharedTimerGtk.cpp:
31027 (WebCore::setSharedTimerFireTime):
31028
timothy@apple.comf0426602008-08-13 18:11:01 +0000310292008-08-13 Timothy Hatcher <timothy@apple.com>
31030
31031 Changed the InspectorController so it can be notified when the
31032 attached state of the Inspector changes in WebKit.
31033
31034 Reviewed by Kevin McCullough.
31035
31036 * WebCore.base.exp: Updated the symbol for setWindowVisible.
31037 * page/InspectorController.cpp:
31038 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
31039 that defaults to false.Call setAttachedWindow with the attached argument.
31040 (WebCore::InspectorController::setAttachedWindow): Call the script version
31041 of setAttachedWindow.
31042 * page/InspectorController.h:
31043 * page/inspector/inspector.js:
31044 (WebInspector.setAttachedWindow): Set the attached property.
31045
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000310462008-08-12 Timothy Hatcher <timothy@apple.com>
31047
timothy@apple.com72c92ae2008-08-13 18:10:45 +000031048 Added a close button to the Inspector's toolbar when docked.
31049
31050 https://bugs.webkit.org/show_bug.cgi?id=14270
31051
31052 Reviewed by Kevin McCullough.
31053
31054 * page/InspectorController.cpp:
31055 (WebCore::closeWindow): Call InspectorController::closeWindow.
31056 (WebCore::InspectorController::windowScriptObjectAvailable):
31057 Added closeWindow to the script class.
31058 * page/InspectorController.h:
31059 * page/inspector/Images/closeButtons.png: Added.
31060 * page/inspector/inspector.css: Added and changed styles.
31061 * page/inspector/inspector.html: Added the close button.
31062 * page/inspector/inspector.js:
31063 (WebInspector.loaded): Added click event listener to the close button.
31064 (WebInspector.close): Call InspectorController.closeWindow.
31065
310662008-08-12 Timothy Hatcher <timothy@apple.com>
31067
timothy@apple.com9ea832b2008-08-13 18:10:36 +000031068 Make the docked Web Inspector resizable. This is the cross platform
31069 portion of the code. Each InspectorClient needs to implement the
31070 real resize code.
31071
31072 https://bugs.webkit.org/show_bug.cgi?id=14282
31073
31074 Reviewed by Kevin McCullough.
31075
31076 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
31077 * page/InspectorClient.h: Added setAttachedWindowHeight.
31078 * page/InspectorController.cpp:
31079 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
31080 on the InspectorController.
31081 (WebCore::InspectorController::setAttachedWindowHeight): Call
31082 setAttachedWindowHeight on the client.
31083 (WebCore::InspectorController::windowScriptObjectAvailable):
31084 Added setAttachedWindowHeight to the script class.
31085 * page/InspectorController.h:
31086 * page/inspector/inspector.css: Make the cursor on the toolbar be
31087 row-resize when docked.
31088 * page/inspector/inspector.js:
31089 (WebInspector.loaded): Always add the toolbarDragStart event listener.
31090 (WebInspector.toolbarDragStart): Return early if we are not attached
31091 and not on Leopard. Call WebInspector.elementDragStart.
31092 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
31093 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
31094 otherwise call moveByUnrestricted.
31095
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000310962008-08-13 Simon Hausmann <hausmann@webkit.org>
31097
31098 Reviewed by Holger.
31099
31100 Initialize m_zoomsTextOnly in the Settings constructor.
31101
31102 * page/Settings.cpp:
31103 (WebCore::Settings::Settings):
31104
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000311052008-08-13 Brad Hughes <bhughes@trolltech.com>
31106
31107 Reviewed by Simon.
31108
31109 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
31110
31111 The latest upgrade of the intel compiler allows us to compile all of
31112 Qt with optimizations enabled (yay!).
31113
31114 * WebCore.pro:
31115
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000311162008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
31117
31118 Reviewed by Simon.
31119
31120 Fix QtWebKit not displaying content on 403 HTTP responses
31121
31122 Just like with 404 responses also display content with 403, as
31123 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
31124
31125 * platform/network/qt/QNetworkReplyHandler.cpp:
31126 (WebCore::QNetworkReplyHandler::finish):
31127
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000311282008-08-13 Simon Hausmann <hausmann@webkit.org>
31129
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000031130 Reviewed by Holger.
31131
31132 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
31133
31134 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
31135
31136 * platform/text/String.cpp:
31137 (WebCore::String::format):
31138
311392008-08-13 Simon Hausmann <hausmann@webkit.org>
31140
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000031141 Reviewed by Lars.
31142
31143 Fix QWebFrame::setHtml() not setting the new contents immediately.
31144
31145 Added a setter to the DocumentLoader to toggle the deferred loading of the main
31146 resource when it comes from substitute data.
31147
31148 Disable deferred loading of the main resource when we have valid substitute data,
31149 as used by QWebFrame::setHtml.
31150
31151 * loader/DocumentLoader.h:
31152
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000311532008-08-13 Mark Rowe <mrowe@apple.com>
31154
31155 Speculative GTK build fix.
31156
31157 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
31158
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000311592008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
31160
31161 Reviewed by Simon.
31162
31163 Fix encoding of [ and ] in the host part of the URL
31164
31165 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
31166 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
31167 doesn't encode [ and ] when they are found in the host part. That is, the
31168 following URL:
31169 http://[::1]/
31170 is valid and should not be reencoded to:
31171 http://%5b::1%5d/
31172
31173 * platform/qt/KURLQt.cpp:
31174 (WebCore::KURL::operator QUrl):
31175
mitz@apple.come198b012008-08-12 21:49:07 +0000311762008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
31177
31178 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
31179 Broken HTML object elements cause de-reference of pointer to freed memory.
31180 If we fail to load an image for an object tag and we no longer believe the object tag points at
31181 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
31182 fall back content.
31183
31184 Reviewed by Dave Hyatt and Alexey Proskuryakov.
31185
31186 Test: http/tests/misc/object-image-error-with-onload.html
31187
31188 * html/HTMLObjectElement.cpp:
31189 (WebCore::HTMLObjectElement::renderFallbackContent):
31190 * page/Frame.cpp:
31191 (WebCore::Frame::Frame):
31192
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000311932008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
31194
31195 Reviewed by Dave.
31196
31197 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
31198 Masks are translated, and the mask images are swapped on the y-axis.
31199
31200 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
31201 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
31202
31203 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
31204 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
31205
31206 * svg/graphics/cg/SVGResourceMaskerCg.mm:
31207 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
31208
mitz@apple.comf8a98692008-08-12 17:04:42 +0000312092008-08-12 Dan Bernstein <mitz@apple.com>
31210
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000031211 - WebCore part of <rdar://problem/6121636>
31212 Make fast*alloc() abort() on failure and add "try" variants that
31213 return NULL on failure.
31214
31215 Reviewed by Darin Adler.
31216
31217 * platform/Arena.cpp:
31218 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
31219 result.
31220 * platform/graphics/cg/ImageBufferCG.cpp:
31221 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
31222
312232008-08-12 Dan Bernstein <mitz@apple.com>
31224
mitz@apple.com1e09cd72008-08-12 18:27:58 +000031225 Reviewed by Darin Adler.
31226
31227 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
31228 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
31229
31230 Test: fast/frames/frameset-style-recalc.html
31231
31232 * html/HTMLFrameSetElement.cpp:
31233 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
31234 class implementation after marking for layout.
31235
312362008-08-12 Dan Bernstein <mitz@apple.com>
31237
mitz@apple.comf8a98692008-08-12 17:04:42 +000031238 Reviewed by John Sullivan.
31239
31240 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
31241
31242 * WebCore.base.exp:
31243 * page/FrameView.cpp:
31244 (WebCore::FrameViewPrivate::FrameViewPrivate):
31245 (WebCore::FrameView::shouldUpdateWhileHidden):
31246 (WebCore::FrameView::setShouldUpdateWhileHidden):
31247 * page/FrameView.h:
31248 * page/Settings.cpp:
31249 * page/Settings.h:
31250
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000312512008-08-12 Adam Roben <aroben@apple.com>
31252
31253 Windows build fix
31254
31255 * bindings/js/JSSVGPODTypeWrapper.h: Align
31256 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
31257 members on 16-byte boundaries to avoid an alignment warning.
31258
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000312592008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
31260
31261 Reviewed by Oliver.
31262
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000031263 Add new dynamice-update layout tests covering SVGMarkerElement.
31264 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
31265 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
31266
31267 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
31268 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
31269 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
31270 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
31271 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
31272 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
31273 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
31274 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
31275 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
31276 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
31277 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
31278 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
31279 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
31280 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
31281 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
31282
31283 * svg/SVGMarkerElement.cpp:
31284 (WebCore::SVGMarkerElement::SVGMarkerElement):
31285 (WebCore::SVGMarkerElement::parseMappedAttribute):
31286 (WebCore::SVGMarkerElement::svgAttributeChanged):
31287 (WebCore::SVGMarkerElement::childrenChanged):
31288 (WebCore::SVGMarkerElement::setOrientToAuto):
31289 (WebCore::SVGMarkerElement::setOrientToAngle):
31290 (WebCore::SVGMarkerElement::canvasResource):
31291
312922008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
31293
31294 Reviewed by Oliver.
31295
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000031296 Add new dynamic-update layout tests covering SVGImageElement.
31297 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
31298
31299 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
31300 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
31301 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
31302 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
31303 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
31304 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
31305 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
31306 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
31307 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
31308 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
31309
31310 * svg/SVGImageElement.cpp:
31311 (WebCore::SVGImageElement::svgAttributeChanged):
31312
timothy@apple.com93114722008-08-12 04:20:25 +0000313132008-08-11 Anthony Ricaud <rik24d@gmail.com>
31314
timothy@apple.com2f2cde32008-08-12 04:28:16 +000031315 Changed Option/Alt-Up or Down in CSS editing when the value is
31316 near zero to jump to the next integer.
31317
31318 Reviewed by Tim Hatcher.
31319
31320 https://bugs.webkit.org/show_bug.cgi?id=20326
31321
31322 * page/inspector/StylesSidebarPane.js:
31323
313242008-08-11 Anthony Ricaud <rik24d@gmail.com>
31325
timothy@apple.com93114722008-08-12 04:20:25 +000031326 Changed the line highlight transition for an easier animation.
31327
31328 Reviewed by Tim Hatcher.
31329
31330 * page/inspector/SourceFrame.js:
31331
timothy@apple.com24a14852008-08-12 03:57:39 +0000313322008-08-11 Keishi Hattori <casey.hattori@gmail.com>
31333
31334 Added support for some Firebug Command Line APIs.
31335
31336 Reviewed by Tim Hatcher.
31337
31338 https://bugs.webkit.org/show_bug.cgi?id=19867
31339 https://bugs.webkit.org/show_bug.cgi?id=19868
31340 https://bugs.webkit.org/show_bug.cgi?id=19869
31341 https://bugs.webkit.org/show_bug.cgi?id=19875
31342 https://bugs.webkit.org/show_bug.cgi?id=19876
31343 https://bugs.webkit.org/show_bug.cgi?id=19880
31344
31345 * page/inspector/Console.js:
31346 (WebInspector.Console.prototype._evalInInspectedWindow):
31347 Create an object on the inspected window that holds the console
31348 command line API functions. This object is used in a with statement
31349 around the typed expression.
31350
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000313512008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
31352
31353 Reviewed by Antti.
31354
31355 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
31356
31357 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
31358 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
31359
31360 Added tests: svg/custom/svg-modify-currentTranslate.html
31361 svg/custom/tearoffs-with-tearoffs.html
31362 svg/custom/immutable-properties.html
31363
31364 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
31365
31366 * bindings/js/JSSVGPODTypeWrapper.h:
31367 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
31368 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
31369 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
31370 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
31371 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
31372 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
31373 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
31374 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
31375 * bindings/scripts/CodeGenerator.pm:
31376 * bindings/scripts/CodeGeneratorJS.pm:
31377 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
31378 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
31379
beidson@apple.com0e772f72008-08-12 00:34:46 +0000313802008-08-11 Brady Eidson <beidson@apple.com>
31381
31382 Reviewed by John and Anders
31383
31384 Fix for <rdar://problem/6141797>
31385
31386 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
31387 would never have nil data.
31388
31389 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
31390 semantics with some WebKit applications.
31391
31392 The guarantee was a good one and should be restored.
31393
31394 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
31395 creates an empty data object in the case of null data for its own purposes.
31396
31397 * loader/SubstituteResource.h:
31398 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
31399 well help any future subclassers not make this mistake.
31400
31401 * loader/archive/ArchiveResource.cpp:
31402 (WebCore::ArchiveResource::create): Return 0 if the data is null.
31403
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000314042008-08-11 Simon Fraser <simon.fraser@apple.com>
31405
31406 Reviewed by Dave Hyatt
31407
31408 https://bugs.webkit.org/show_bug.cgi?id=20328
31409 Fix a problem when an 'all' transition transition with more than
31410 one property changing is interrupted, and did some AnimationController
31411 cleanup.
31412
31413 Test: transitions/interrupted-all-transition.html
31414
31415 * page/AnimationController.cpp:
31416 (WebCore::ImplicitAnimation::ImplicitAnimation):
31417 (WebCore::AnimationControllerPrivate::blendProperties):
31418 (WebCore::CompositeAnimation::updateTransitions):
31419 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
31420 (WebCore::CompositeAnimation::setTransitionStartTime):
31421 (WebCore::CompositeAnimation::overrideImplicitAnimations):
31422 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
31423 (WebCore::ImplicitAnimation::animate):
31424 (WebCore::ImplicitAnimation::onAnimationEnd):
31425 (WebCore::ImplicitAnimation::sendTransitionEvent):
31426 (WebCore::ImplicitAnimation::affectsProperty):
31427 (WebCore::KeyframeAnimation::endAnimation):
31428 (WebCore::KeyframeAnimation::onAnimationEnd):
31429
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000314302008-08-11 Kevin McCullough <kmccullough@apple.com>
31431
31432 Reviewed by Tim.
31433
31434 - Because console messages have group levels now, newly created messages
31435 that do not specify the level lose their message since the number of
31436 arguments is wrong.
31437
31438 * page/inspector/Console.js:
31439 * page/inspector/Resource.js:
31440
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000314412008-08-11 Alp Toker <alp@nuanti.com>
31442
31443 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
31444 the opportunity to sort the sources lists.
31445
31446 * GNUmakefile.am:
31447
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000314482008-08-11 Timothy Hatcher <timothy@apple.com>
31449
31450 Speed up the the JavaScript syntax highlighter by generating
31451 the finders only once per script instead of per line.
31452
31453 https://bugs.webkit.org/show_bug.cgi?id=20346
31454
31455 Reviewed by Adam Roben.
31456
31457 * page/inspector/SourceFrame.js:
31458 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
31459 Removed, factored into syntaxHighlightJavascript as an inline function.
31460 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
31461 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
31462 Generate the finders before iterating the lines.
31463
aroben@apple.com957d2d32008-08-11 18:31:37 +0000314642008-08-11 Adam Roben <aroben@apple.com>
31465
31466 Windows build fix
31467
31468 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
31469 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
31470 too.
31471
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000314722008-08-11 Dan Bernstein <mitz@apple.com>
31473
31474 Reviewed by Darin Adler.
31475
31476 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
31477
31478 Test: fast/css/counters/invalidate-cached-counter-node.html
31479
31480 * rendering/RenderContainer.cpp:
31481 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
31482 RenderCounters in :before and :after content.
31483 * rendering/RenderContainer.h:
31484 * rendering/RenderCounter.cpp:
31485 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
31486 to match the RenderObject method.
31487 (WebCore::RenderCounter::invalidate): Added. Resets the cached
31488 CounterNode and invalidates the object's layout and preferred widths.
31489 (WebCore::destroyCounterNodeChildren): Added a call to
31490 invalidateCounters().
31491 * rendering/RenderCounter.h:
31492 * rendering/RenderObject.h:
31493 (WebCore::RenderObject::invalidateCounters):
31494
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000314952008-08-11 Dean Jackson <dino@apple.com>
31496
31497 Implement CSS Animation and Transition Events
31498 https://bugs.webkit.org/show_bug.cgi?id=20337
31499
31500 Implement the events defined in the CSS Animations
31501 and Transitions specifications so code can react
31502 to animations and transitions.
31503
31504 Reviewed by Tim Hatcher and Dave Hyatt.
31505
31506 * DerivedSources.make:
31507 * GNUmakefile.am:
31508 * WebCore.pro:
31509 * WebCore.vcproj/WebCore.vcproj:
31510 * WebCore.xcodeproj/project.pbxproj:
31511 * WebCoreSources.bkl:
31512 Build configs for new files
31513
31514 * bindings/js/JSDOMWindowBase.cpp:
31515 * bindings/js/JSDOMWindowBase.h:
31516 * bindings/js/JSEventCustom.cpp:
31517 * dom/Document.h:
31518 * dom/Event.cpp:
31519 * dom/Event.h:
31520 * dom/EventTarget.cpp:
31521 * dom/EventTargetNode.cpp:
31522 * dom/EventTargetNode.h:
31523 * html/HTMLElement.cpp:
31524 * page/AnimationController.cpp:
31525 do all the new event stuff
31526
31527 * html/HTMLAttributeNames.in:
31528 the onwebkitanimation* and onwebkittransitionend attrs
31529
31530 * dom/WebKitAnimationEvent.cpp: Added.
31531 * dom/WebKitAnimationEvent.h: Added.
31532 * dom/WebKitAnimationEvent.idl: Added.
31533 * dom/WebKitTransitionEvent.cpp: Added.
31534 * dom/WebKitTransitionEvent.h: Added.
31535 * dom/WebKitTransitionEvent.idl: Added.
31536 New files for the events
31537
31538 * manual-tests/transition-events.html: Added.
31539 New testfile
31540
aroben@apple.com3eae8622008-08-11 17:21:23 +0000315412008-08-11 Adam Roben <aroben@apple.com>
31542
31543 Add a ForwardingHeader for wtf/NotFound.h
31544
31545 Rubberstamped by Darin Adler.
31546
31547 * ForwardingHeaders/wtf/NotFound.h: Added.
31548
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000315492008-08-11 Timothy Hatcher <timothy@apple.com>
31550
31551 Fixes a bug where error bubbles in JavaScript resources would
31552 be clobbered by the syntax highlighter.
31553
31554 https://bugs.webkit.org/show_bug.cgi?id=20345
31555
31556 Reviewed by Adam Roben.
31557
31558 * manual-tests/inspector/resources/script-error.js: Added.
31559 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
31560 * page/inspector/SourceFrame.js:
31561 (WebInspector.SourceFrame.prototype._addMessageToSource):
31562 Check the nodeType and not the nodeName, this is less fragile.
31563 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
31564 Check if the lastChild is an error bubble, if so remove it before
31565 getting the line's textContent. Add the error bubble back at the end.
31566
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000031567== Rolled over to ChangeLog-2008-08-10 ==