blob: 7f04a114ef4393e2f9c3115d81bcaf006464116f [file] [log] [blame]
krit@webkit.orgf0572d22008-12-21 23:44:16 +000012008-12-21 Dirk Schulze <krit@webkit.org>
2
3 Reviewed by Darin Adler, Nikolas Zimmermann.
4
5 Move the the platform dependent strokeBBox functionality out of RenderPath
6 into Path with strokeBoundingRect.
7
8 RenderPath clean-up for strokeBoundingBox
9 [https://bugs.webkit.org/show_bug.cgi?id=22902]
10
11 * GNUmakefile.am:
12 * WebCore.xcodeproj/project.pbxproj:
13 * platform/graphics/GraphicsContext.h:
14 * platform/graphics/Path.h:
15 * platform/graphics/StrokeStyleApplier.h: Added.
16 (WebCore::StrokeStyleApplier::~StrokeStyleApplier):
17 * platform/graphics/cairo/PathCairo.cpp:
18 (WebCore::Path::strokeBoundingRect):
19 * platform/graphics/cg/PathCG.cpp:
20 (WebCore::createScratchContext):
21 (WebCore::scratchContext):
22 (WebCore::Path::strokeBoundingRect):
23 * platform/graphics/qt/GraphicsContextQt.cpp:
24 (WebCore::GraphicsContext::pen):
25 * platform/graphics/qt/PathQt.cpp:
26 (WebCore::Path::strokeBoundingRect):
27 * rendering/RenderPath.cpp:
28 (WebCore::StrokeBoundingRectStyleApplier::StrokeBoundingRectStyleApplier):
29 (WebCore::StrokeBoundingRectStyleApplier::strokeStyle):
30 (WebCore::RenderPath::relativeBBox):
31 * rendering/RenderPath.h:
32 * svg/graphics/cairo/RenderPathCairo.cpp:
33 * svg/graphics/cg/RenderPathCg.cpp:
34 * svg/graphics/qt/RenderPathQt.cpp:
35
ddkilzer@apple.comd9a1d972008-12-20 20:52:46 +0000362008-12-20 David Kilzer <ddkilzer@apple.com>
37
38 Fix typo "CSSAferRuleValue" to "CSSAfterRuleValue"
39
40 * html/PreloadScanner.cpp:
41 (WebCore::PreloadScanner::tokenizeCSS):
42 * html/PreloadScanner.h:
43 (WebCore::PreloadScanner::CSSState):
44
ap@webkit.org3197a102008-12-20 10:26:43 +0000452008-12-19 Alexey Proskuryakov <ap@webkit.org>
46
47 Reviewed by Geoff Garen.
48
49 <rdar://problem/6454076> Random crashes on JS raytracer
50
51 No test, because the crash is not readily reproducible.
52
53 * platform/text/StringImpl.cpp:
54 (WebCore::StringImpl::empty):
55 * platform/text/StringImpl.h:
56 Made empty string per-thread.
57
andersca@apple.com201c1ff2008-12-20 02:04:20 +0000582008-12-19 Anders Carlsson <andersca@apple.com>
59
60 Reviewed by Sam Weinig.
61
62 Replace some uses of HardRetain etc with RetainPtr.
63
64 * platform/mac/DragImageMac.mm:
65 * platform/mac/SharedBufferMac.mm:
66 (WebCore::SharedBuffer::createCFData):
67 * rendering/RenderThemeMac.mm:
68 * svg/graphics/cg/SVGResourceFilterCg.mm:
69 (WebCore::SVGResourceFilter::prepareFilter):
70 (WebCore::SVGResourceFilter::applyFilter):
71 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
72 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
73 (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
74
kevino@webkit.orgbbd2ef72008-12-20 00:28:32 +0000752008-12-19 miggilin <mr.diggilin@gmail.com>
76
77 Reviewed by Kevin Ollivier.
78
79 Add Context Menu support to wx bindings.
80
81 https://bugs.webkit.org/show_bug.cgi?id=22675
82
83 * platform/ContextMenu.h:
84 * platform/ContextMenuItem.h:
85 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
86 * platform/wx/ContextMenuItemWx.cpp: Added.
87 * platform/wx/ContextMenuWx.cpp: Added.
88 * platform/wx/LocalizedStringsWx.cpp:
89 * platform/wx/TemporaryLinkStubs.cpp:
90 * webcore-wx.bkl:
91
92
bdakin@apple.comf2abf242008-12-19 22:54:43 +0000932008-12-19 Beth Dakin <bdakin@apple.com>
94
95 Reviewed by Darin Adler.
96
97 Temporary band-aide fix for <rdar://problem/6372481> In Gmail, a
98 crash occurs at
99 AccessibilityTable::isTableExposableThroughAccessibility() when
100 attempting to create a link in a rich text message
101
102 We need to disable Accessibility Tables until we get this fixed for
103 real to prevent rampant crashing.
104
105 * page/AccessibilityTable.cpp:
106 (WebCore::AccessibilityTable::AccessibilityTable):
107
simon.fraser@apple.come3f759c2008-12-19 22:44:10 +00001082008-12-19 Simon Fraser <simon.fraser@apple.com>
109
110 Reviewed by Darin Adler
111
112 https://bugs.webkit.org/show_bug.cgi?id=22938
113
114 When the document element is transformed, we need to paint
115 the view background to avoid unpainted areas.
116
117 Test: fast/transforms/transformed-document-element.html
118
119 * rendering/RenderView.cpp:
120 (WebCore::RenderView::paintBoxDecorations):
121
sfalken@apple.com69c4b2a2008-12-19 21:19:17 +00001222008-12-19 Steve Falkenburg <sfalken@apple.com>
123
124 Fix build.
125
126 * WebCore.vcproj/WebCore.vcproj:
127
kevino@webkit.orgf30b0aa2008-12-19 18:52:50 +00001282008-12-19 Kevin Ollivier <kevino@theolliviers.com>
129
130 wx build fixes after recent changes.
131
132 * WebCoreSources.bkl:
133 * platform/graphics/wx/ImageSourceWx.cpp:
134 (WebCore::ImageSource::clear):
135 * webcore-base.bkl:
136
zecke@webkit.orgf65797e2008-12-19 18:34:39 +00001372008-12-19 Holger Hans Peter Freyther <zecke@selfish.org>
138
139 Reviewed by Sam Weinig.
140
141 [GTK] Fix make distcheck again
142
143 These files were moved to WebCore/platform/animation
144 and WebCore/platform/graphics/transforms.
145
146 * GNUmakefile.am:
147
zecke@webkit.org4406bfc2008-12-19 16:53:21 +00001482008-12-19 Gustavo Noronha Silva <gns@gnome.org>
149
150 Reviewed by Holger Freyther.
151
152 https://bugs.webkit.org/show_bug.cgi?id=22900
153
154 Fix AtomicString usage, so that building works.
155
156 * platform/network/soup/ResourceHandleSoup.cpp:
157
aroben@apple.comdb9a7bb2008-12-19 15:32:03 +00001582008-12-19 Adam Roben <aroben@apple.com>
159
160 Windows build fix on older versions of CFNetwork after r39393
161
162 * platform/network/cf/ResourceHandleCFNet.cpp:
163 (WebCore::highestSupportedCFURLConnectionClientVersion): Changed
164 preprocessor directives not to leave in unreachable code on old
165 versions of CFNetwork.
166
antti@apple.comc7b7d6b2008-12-19 12:45:02 +00001672008-12-19 Antti Koivisto <antti@apple.com>
168
169 Comment fix.
170
171 * platform/PurgeableBuffer.h:
172
zecke@webkit.orgbb8af4e2008-12-19 11:26:49 +00001732008-12-19 Holger Hans Peter Freyther <zecke@selfish.org>
174
175 [GTK] Build fix by adding the new files.
176
177 * GNUmakefile.am:
178
vestbo@webkit.org3b981902008-12-19 10:41:57 +00001792008-12-19 Jade Han <jade.han@nokia.com>
180
181 Reviewed by Tor Arne Vestbø.
182
183 [Qt] Allow conversion of JavaScript Number and Boolean types to Qt types
184
185 https://bugs.webkit.org/show_bug.cgi?id=22880
186
187 * bridge/qt/qt_runtime.cpp:
188 (JSC::Bindings::convertValueToQVariant):
189
vestbo@webkit.org8ab35fd2008-12-19 10:05:59 +00001902008-12-19 Tor Arne Vestbø <tavestbo@trolltech.com>
191
192 Reviewed by Holger Freyther.
193
194 Implement ImageDecoder::filenameExtension() for Qt
195
196 * platform/graphics/qt/ImageDecoderQt.cpp:
197 (WebCore::ImageDecoderQt::filenameExtension):
198 * platform/graphics/qt/ImageDecoderQt.h:
199 * platform/graphics/qt/ImageSourceQt.cpp:
200 (WebCore::ImageSource::filenameExtension):
201
abarth@webkit.org250c4ea2008-12-19 09:03:07 +00002022008-12-19 Adam Barth <abarth@webkit.org>
203
204 Reviewed by Darin Alder.
205
206 Implement ImageSource::filenameExtension for Cario
207 https://bugs.webkit.org/show_bug.cgi?id=22905
208
209 * platform/graphics/cairo/ImageSourceCairo.cpp:
210 (WebCore::ImageSource::filenameExtension):
211 * platform/image-decoders/ImageDecoder.h:
212 * platform/image-decoders/bmp/BMPImageDecoder.h:
213 (WebCore::BMPImageDecoder::filenameExtension):
214 * platform/image-decoders/gif/GIFImageDecoder.h:
215 (WebCore::GIFImageDecoder::filenameExtension):
216 * platform/image-decoders/ico/ICOImageDecoder.h:
217 (WebCore::ICOImageDecoder::filenameExtension):
218 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
219 (WebCore::JPEGImageDecoder::filenameExtension):
220 * platform/image-decoders/png/PNGImageDecoder.h:
221 (WebCore::PNGImageDecoder::filenameExtension):
222 * platform/image-decoders/xbm/XBMImageDecoder.h:
223 (WebCore::XBMImageDecoder::filenameExtension):
224
mitz@apple.come8a753d2008-12-19 07:34:52 +00002252008-12-18 Dan Bernstein <mitz@apple.com>
226
227 Reviewed by Sam Weinig.
228
229 - avoid using the ResourceHandle-level credential storage, if any,
230 unless the client opts to use it; when use of the credential
231 storage is disallowed, all authentication challenges are sent to
232 the client.
233 - let the FrameLoaderClient decide whether to use the credential
234 storage.
235
236 * loader/EmptyClients.h:
237 (WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage): Added.
238 Returns false.
239 * loader/FrameLoader.cpp:
240 (WebCore::FrameLoader::shouldUseCredentialStorage): Added. Calls through
241 to the FrameLoaderClient.
242 * loader/FrameLoader.h: Declared shouldUseCredentialStorage().
243 * loader/FrameLoaderClient.h: Declared shouldUseCredentialStorage().
244 * loader/ResourceLoader.cpp:
245 (WebCore::ResourceLoader::shouldUseCredentialStorage): Added. Calls
246 through to the FrameLoader.
247 * loader/ResourceLoader.h:
248 (WebCore::ResourceLoader::shouldUseCredentialStorage): Implemented this
249 ResourceHandleClient method.
250 * loader/SubresourceLoader.cpp:
251 (WebCore::SubresourceLoader::shouldUseCredentialStorage): Added.
252 Overrides the ResourceLoader implementation by letting the client
253 supply the return value. If the client does not do this, continues
254 with the ResourceLoader behavior of asking the FrameLoader.
255 * loader/SubresourceLoader.h: Removed an unused #include and declared
256 shouldUseCredentialStorage().
257 * loader/SubresourceLoaderClient.h:
258 (WebCore::SubresourceLoaderClient::getShouldUseCredentialStorage):
259 Added a default implementation which returns false, meaning the client
260 does not wish to decide whether the credential storage should be used.
261 * platform/network/ResourceHandle.h: Removed unused forward declarations.
262 Declared a new member function, shouldUseCredentialStorage(), on Mac and
263 CFNetwork-using builds.
264 * platform/network/ResourceHandleClient.h:
265 (WebCore::ResourceHandleClient::shouldUseCredentialStorage): Added this
266 default implementation that returns false.
267 * platform/network/cf/ResourceHandleCFNet.cpp:
268 (WebCore::findCFNetworkModule): Added. Returns a handle to the CFNetwork
269 module.
270 (WebCore::cfNetworkVersion): Added. Returns the high word of the
271 CFNetwork library's product version.
272 (WebCore::highestSupportedCFURLConnectionClientVersion): Added. Returns
273 the highest version of the CFURLConnectionClient structure supported by
274 the CFNetwork library. The only reason to check this at runtime is
275 that WebKit may be linking at runtime against an older version of
276 CFNetwork than the one it was built with, as is the case with nightly
277 builds.
278 (WebCore::shouldUseCredentialStorageCallback): Added this
279 CFURLConnection callback which calls through to
280 ResourceHandle::shouldUseCredentialStorage().
281 (WebCore::ResourceHandle::start): Pass a version 3 CFURLConnectionClient
282 including the shouldUseCredentialStorage callback. At runtime, clamp the
283 client structure version down to the highest supported by CFNetwork.
284 (WebCore::ResourceHandle::shouldUseCredentialStorage): Added. Calls through
285 to the client if there is one. Otherwise returns false.
286 * platform/network/mac/ResourceHandleMac.mm:
287 (WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto.
288 (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
289 Added this delegate method which callls through to
290 ResourceHandle::shouldUseCredentialStorage().
291
ddkilzer@apple.com72a171d2008-12-19 01:51:02 +00002922008-12-18 David Kilzer <ddkilzer@apple.com>
293
294 Reset role to "Private" on 6 header files to fix clean builds after r39378
295
296 Reviewed by BUILD FIX.
297
298 * WebCore.xcodeproj/project.pbxproj: Added back "Private" role
299 that was lost on 6 headers when they were "moved":
300 AffineTransform.h, Animation.h, AnimationList.h,
301 TimingFunction.h, TransformOperation.h and
302 TransformOperations.h.
303
pam@chromium.org35aa5c62008-12-19 01:49:17 +00003042008-12-18 Pamela Greene <pam@chromium.org>
305
306 Reviewed by Dan Bernstein.
307
308 Add initializer for m_textDirectionSubmenuInclusionBehavior.
309 https://bugs.webkit.org/show_bug.cgi?id=22926
310
311 * page/Settings.cpp:
312 (WebCore::Settings::Settings): Initialize m_textDirectionSubmenuInclusionBehavior
313
weinig@apple.com3cd020e2008-12-19 01:15:00 +00003142008-12-18 Sam Weinig <sam@webkit.org>
315
316 Reviewed by John Sullivan.
317
318 Add new FrameLoaderClient method to indicate the first visually
319 non-empty layout based on an heuristic. Right now that heuristic
320 is the first layout after an image, text or plugin has been added
321 to the render tree, but I can imagine it becoming much smarter.
322
323 * loader/EmptyClients.h:
324 (WebCore::EmptyFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
325 * loader/FrameLoader.cpp:
326 (WebCore::FrameLoader::didFirstVisuallyNonEmptyLayout):
327 * loader/FrameLoader.h:
328 * loader/FrameLoaderClient.h:
329 * page/FrameView.cpp:
330 (WebCore::FrameViewPrivate::reset):
331 (WebCore::FrameView::layout):
332 (WebCore::FrameView::performPostLayoutTasks):
333 (WebCore::FrameView::setIsVisuallyNonEmpty):
334 * page/FrameView.h:
335 * rendering/RenderImage.cpp:
336 (WebCore::RenderImage::RenderImage):
337 * rendering/RenderPartObject.cpp:
338 (WebCore::RenderPartObject::RenderPartObject):
339 * rendering/RenderText.cpp:
340 (WebCore::RenderText::RenderText):
341
darin@apple.com5f09d602008-12-18 23:58:53 +00003422008-12-18 Darin Adler <darin@apple.com>
343
344 Reviewed by Sam Weinig.
345
346 - fix <rdar://problem/6449841> reduce memory use of ResourceResponseBase by removing two maps
347
348 We were parsing the cache-control and pragma header field values into maps.
349 I changed that so instead we only cache two bits with the data we were actually
350 using. Later we might want to move this responsibility out of this class entirely;
351 we can cache it at the higher level instead.
352
353 * loader/CachedResource.cpp:
354 (WebCore::CachedResource::mustRevalidate): Changed to call a specific API to get at
355 the bits in quest instead of a general "cache control directives" API.
356
357 * platform/network/ResourceResponseBase.cpp:
358 (WebCore::ResourceResponseBase::setHTTPHeaderField): Remove the logic for the
359 pragma header field since no one is using this for now.
360 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Eliminated the return
361 value and made this function have side effects only. Changed it so it's the caller's
362 responsibility to check m_haveParsedCacheControl. Set m_cacheControlContainsNoCache
363 and m_cacheControlContainsMustRevalidate rather than keeping a map around.
364
365 * platform/network/ResourceResponseBase.h:
366 (WebCore::ResourceResponseBase::cacheControlContainsNoCache): Added.
367 (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate): Added.
368 (WebCore::ResourceResponseBase::ResourceResponseBase): Updated since I removed
369 m_haveParsedCacheControl and renamed m_haveParsedCacheControlHeader to remove
370 the imprecise use of the term "header".
371
sfalken@apple.com1085b1e2008-12-18 23:07:56 +00003722008-12-18 Steve Falkenburg <sfalken@apple.com>
373
374 Build fix.
375 Delete 2nd copy of code in these files.
376
377 * platform/animation/Animation.cpp:
378 * platform/animation/Animation.h:
379 * platform/animation/AnimationList.cpp:
380 * platform/animation/AnimationList.h:
381 * platform/animation/TimingFunction.h:
382 * platform/graphics/transforms/AffineTransform.cpp:
383 * platform/graphics/transforms/AffineTransform.h:
384 * platform/graphics/transforms/IdentityTransformOperation.h:
385 * platform/graphics/transforms/MatrixTransformOperation.cpp:
386 * platform/graphics/transforms/MatrixTransformOperation.h:
387 * platform/graphics/transforms/RotateTransformOperation.cpp:
388 * platform/graphics/transforms/RotateTransformOperation.h:
389 * platform/graphics/transforms/ScaleTransformOperation.cpp:
390 * platform/graphics/transforms/ScaleTransformOperation.h:
391 * platform/graphics/transforms/SkewTransformOperation.cpp:
392 * platform/graphics/transforms/SkewTransformOperation.h:
393 * platform/graphics/transforms/TransformOperation.h:
394 * platform/graphics/transforms/TransformOperations.cpp:
395 * platform/graphics/transforms/TransformOperations.h:
396 * platform/graphics/transforms/TranslateTransformOperation.cpp:
397 * platform/graphics/transforms/TranslateTransformOperation.h:
398
darin@chromium.orgf7b0ea52008-12-18 21:21:13 +00003992008-12-18 Dimitri Glazkov <dglazkov@chromium.org>
400
401 Reviewed by Geoffrey Garen.
402
403 https://bugs.webkit.org/show_bug.cgi?id=22859
404 Abstract away the use of JSDOMWindow in CachedPage and introduce
405 ScriptCachedPageData abstraction.
406
407 * GNUmakefile.am: Added ScriptCachedPageData to project.
408 * WebCore.pro: Added ScriptCachedPageData to project.
409 * WebCore.vcproj/WebCore.vcproj: Added ScriptCachedPageData to project.
410 * WebCore.xcodeproj/project.pbxproj: Added ScriptCachedPageData to
411 project.
412 * bindings/js/ScriptCachedPageData.cpp: Added.
413 (WebCore::ScriptCachedPageData::ScriptCachedPageData):
414 (WebCore::ScriptCachedPageData::~ScriptCachedPageData):
415 (WebCore::ScriptCachedPageData::restore):
416 (WebCore::ScriptCachedPageData::clear):
417 * bindings/js/ScriptCachedPageData.h: Added.
418 * history/CachedPage.cpp: Replaced JSDOMWindow and ProtectedPtr with
419 ScriptCachedPageData.
420 (WebCore::CachedPage::CachedPage):
421 (WebCore::CachedPage::domWindow):
422 (WebCore::CachedPage::restore):
423 (WebCore::CachedPage::clear):
424 * history/CachedPage.h: Replaced JSDOMWindow and ProtectedPtr with
425 ScriptCachedPageData.
426
cmarrin@apple.coma85f8d42008-12-18 21:06:22 +00004272008-12-18 Chris Marrin <cmarrin@apple.com>
428
429 Reviewed by Dave Hyatt.
430
431 https://bugs.webkit.org/show_bug.cgi?id=22888
432
433 To avoid future dependency issues, all the TransformOperations and Animation related files need to be moved to platform
434
435 * WebCore.xcodeproj/project.pbxproj:
436 * platform/animation: Added.
437 * platform/animation/Animation.cpp: Copied from WebCore/rendering/style/Animation.cpp.
438 * platform/animation/Animation.h: Copied from WebCore/rendering/style/Animation.h.
439 * platform/animation/AnimationList.cpp: Copied from WebCore/rendering/style/AnimationList.cpp.
440 * platform/animation/AnimationList.h: Copied from WebCore/rendering/style/AnimationList.h.
441 * platform/animation/TimingFunction.h: Copied from WebCore/rendering/style/TimingFunction.h.
442 * platform/graphics/AffineTransform.cpp: Removed.
443 * platform/graphics/AffineTransform.h: Removed.
444 * platform/graphics/transforms: Added.
445 * platform/graphics/transforms/AffineTransform.cpp: Copied from WebCore/platform/graphics/AffineTransform.cpp.
446 * platform/graphics/transforms/AffineTransform.h: Copied from WebCore/platform/graphics/AffineTransform.h.
447 * platform/graphics/transforms/IdentityTransformOperation.h: Copied from WebCore/rendering/style/IdentityTransformOperation.h.
448 * platform/graphics/transforms/MatrixTransformOperation.cpp: Copied from WebCore/rendering/style/MatrixTransformOperation.cpp.
449 * platform/graphics/transforms/MatrixTransformOperation.h: Copied from WebCore/rendering/style/MatrixTransformOperation.h.
450 * platform/graphics/transforms/RotateTransformOperation.cpp: Copied from WebCore/rendering/style/RotateTransformOperation.cpp.
451 * platform/graphics/transforms/RotateTransformOperation.h: Copied from WebCore/rendering/style/RotateTransformOperation.h.
452 * platform/graphics/transforms/ScaleTransformOperation.cpp: Copied from WebCore/rendering/style/ScaleTransformOperation.cpp.
453 * platform/graphics/transforms/ScaleTransformOperation.h: Copied from WebCore/rendering/style/ScaleTransformOperation.h.
454 * platform/graphics/transforms/SkewTransformOperation.cpp: Copied from WebCore/rendering/style/SkewTransformOperation.cpp.
455 * platform/graphics/transforms/SkewTransformOperation.h: Copied from WebCore/rendering/style/SkewTransformOperation.h.
456 * platform/graphics/transforms/TransformOperation.h: Copied from WebCore/rendering/style/TransformOperation.h.
457 * platform/graphics/transforms/TransformOperations.cpp: Copied from WebCore/rendering/style/TransformOperations.cpp.
458 * platform/graphics/transforms/TransformOperations.h: Copied from WebCore/rendering/style/TransformOperations.h.
459 * platform/graphics/transforms/TranslateTransformOperation.cpp: Copied from WebCore/rendering/style/TranslateTransformOperation.cpp.
460 * platform/graphics/transforms/TranslateTransformOperation.h: Copied from WebCore/rendering/style/TranslateTransformOperation.h.
461 * rendering/style/Animation.cpp: Removed.
462 * rendering/style/Animation.h: Removed.
463 * rendering/style/AnimationList.cpp: Removed.
464 * rendering/style/AnimationList.h: Removed.
465 * rendering/style/IdentityTransformOperation.h: Removed.
466 * rendering/style/MatrixTransformOperation.cpp: Removed.
467 * rendering/style/MatrixTransformOperation.h: Removed.
468 * rendering/style/RotateTransformOperation.cpp: Removed.
469 * rendering/style/RotateTransformOperation.h: Removed.
470 * rendering/style/ScaleTransformOperation.cpp: Removed.
471 * rendering/style/ScaleTransformOperation.h: Removed.
472 * rendering/style/SkewTransformOperation.cpp: Removed.
473 * rendering/style/SkewTransformOperation.h: Removed.
474 * rendering/style/TimingFunction.h: Removed.
475 * rendering/style/TransformOperation.h: Removed.
476 * rendering/style/TransformOperations.cpp: Removed.
477 * rendering/style/TransformOperations.h: Removed.
478 * rendering/style/TranslateTransformOperation.cpp: Removed.
479 * rendering/style/TranslateTransformOperation.h: Removed.
480
cwzwarich@webkit.org05a4f6a2008-12-18 18:19:06 +00004812008-12-18 Cameron Zwarich <zwarich@apple.com>
482
483 Reviewed by Geoff Garen.
484
485 Bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link
486 <https://bugs.webkit.org/show_bug.cgi?id=21855>
487 <rdar://problem/6278244>
488
489 If JavaScript is not currently executing, the handleEvent member function
490 of JSAbstractEventListener should set the dynamic global object to the
491 global object of the context in which the event occurred.
492
493 If this is not set, then JavaScriptCore will simply take the global object
494 of the context where the event handler function was created, which may be
495 a different frame. This will cause the popup blocker to incorrectly block
496 windows opened from onclick events inside of an iframe whose handler was
497 created in the outer frame, as it will check the outer frame and see that
498 it is not processing any events.
499
500 * bindings/js/JSEventListener.cpp:
501 (WebCore::JSAbstractEventListener::handleEvent):
502
simon.fraser@apple.com58d89ae2008-12-18 17:42:27 +00005032008-12-17 Simon Fraser <simon.fraser@apple.com>
504
505 Reviewed by Dave Hyatt
506
507 https://bugs.webkit.org/show_bug.cgi?id=22570
508
509 Add the ability to compute clip rects independently from
510 caching them on the RenderLayer. When painting reflections, use
511 such temporarily computed clipRects, otherwise the layer may cache
512 clipRects which are invalid, since they have been computed with
513 a rootLayer that is not the one usually used to paint.
514
515 Test: fast/reflections/reflection-overflow-hidden.html
516
517 * rendering/RenderLayer.cpp:
518 (WebCore::RenderLayer::paintLayer):
519 (WebCore::RenderLayer::hitTestLayer):
520 (WebCore::RenderLayer::updateClipRects):
521 (WebCore::RenderLayer::calculateClipRects):
522 (WebCore::RenderLayer::calculateRects):
523 * rendering/RenderLayer.h:
524 (WebCore::ClipRects::ClipRects):
525 (WebCore::ClipRects::reset):
526 (WebCore::ClipRects::overflowClipRect):
527 (WebCore::ClipRects::setOverflowClipRect):
528 (WebCore::ClipRects::fixedClipRect):
529 (WebCore::ClipRects::setFixedClipRect):
530 (WebCore::ClipRects::posClipRect):
531 (WebCore::ClipRects::setPosClipRect):
532 (WebCore::ClipRects::setFixed):
533 (WebCore::ClipRects::operator==):
534 (WebCore::ClipRects::operator=):
535 * rendering/RenderReplica.cpp:
536 (WebCore::RenderReplica::paint):
537
vestbo@webkit.orgeed1d642008-12-18 14:37:51 +00005382008-12-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
539
540 Reviewed by Simon Hausmann.
541
542 https://bugs.webkit.org/show_bug.cgi?id=22618
543
544 Fix MinGW QtWebKit linking problems and also make the
545 QtWebKit build system more robust.
546
547 * WebCore.pro:
548
zimmermann@webkit.org1bd74ac2008-12-18 01:56:52 +00005492008-12-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
550
551 Reviewed by Maciej Stachowiak.
552
553 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22866
554
555 wml.css is based on an older copy of html4.css. Synchronize them.
556 Remove all entries, that are irrelevant for WML.
557
558 Fix <do> appearance: should behave like HTMLs <button>.
559
560 * css/wml.css:
561
abarth@webkit.org74a91812008-12-17 22:16:52 +00005622008-12-17 Yury Semikhatsky <yurys@google.com>
563
564 Reviewed by Timothy Hatcher.
565 Landed by Adam Barth.
566
567 Added more checks that WebInspector.panels.{resources,scripts} are
568 defined where they are accessed from other panels and WebInspector
569 (some panels are not yet supported in Chrome).
570
571 * inspector/front-end/Console.js:
572 (WebInspector.Console.prototype.addMessage):
573 (WebInspector.Console.prototype.clearMessages):
574 (WebInspector.Console.prototype.completions):
575 * inspector/front-end/ObjectPropertiesSection.js:
576 (WebInspector.ObjectPropertyTreeElement.prototype.evaluateExpression):
577 * inspector/front-end/ScriptsPanel.js:
578 (WebInspector.ScriptsPanel.prototype.get searchableViews):
579 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource):
580 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
581 (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
582 * inspector/front-end/SourceView.js:
583 (WebInspector.SourceView.prototype._addBreakpoint):
584 * inspector/front-end/inspector.js:
585 (WebInspector.addResource):
586 (WebInspector.removeResource):
587 (WebInspector.showResourceForURL):
588
abarth@webkit.orged041612008-12-17 21:11:31 +00005892008-12-17 Cary Clark < caryclark@google.com>
590
591 Reviewed by Darin Adler.
592 Landed by Adam Barth.
593
594 Add ENABLE_TEXT_CARET to permit the ANDROID platform
595 to invalidate and draw the caret in a separate thread.
596
597 * page/Frame.cpp:
598 (WebCore::Frame::clearCaretRectIfNeeded): Body of
599 function does nothing if text caret is disabled.
600 (WebCore::Frame::selectionLayoutChanged): Do nothing
601 if text caret is disabled and the caret only blinked.
602 (WebCore::Frame::caretBlinkTimerFired):
603 (WebCore::Frame::paintCaret):
604 (WebCore::Frame::paintDragCaret): Body of
605 functions does nothing if text caret is disabled.
606
cwzwarich@webkit.orgff4ec0e2008-12-17 02:23:02 +00006072008-12-16 Darin Adler <darin@apple.com>
608
609 Reviewed and landed by Cameron Zwarich.
610
611 Change the style of AtomicString::add() to match Identifier:add().
612
613 * platform/text/AtomicString.cpp:
614 (WebCore::AtomicString::add):
615
adele@apple.come4572be2008-12-17 01:54:55 +00006162008-12-16 Adele Peterson <adele@apple.com>
617
618 Reviewed by Darin Adler.
619
620 Fix for https://bugs.webkit.org/show_bug.cgi?id=22827
621 <rdar://problem/6247724> RenderThemeWin buttons have weird heavy text
622
623 * rendering/RenderThemeWin.cpp:
624 (WebCore::fillFontDescription): Add version that takes a font size.
625 (WebCore::RenderThemeWin::systemFont): Use the default GUI font for control fonts, but specify the size.
626 This will match Firefox.
627
slewis@apple.com500b5302008-12-17 00:57:35 +00006282008-12-16 Stephanie Lewis <slewis@apple.com>
629
slewis@apple.com218190e2008-12-17 01:11:00 +0000630 Another build fix.
631
632 * platform/text/AtomicString.h:
633 (WebCore::AtomicString::AtomicString):
634
6352008-12-16 Stephanie Lewis <slewis@apple.com>
636
slewis@apple.com500b5302008-12-17 00:57:35 +0000637 Windows Build Fix.
638
639 * platform/text/AtomicString.h:
640 (WebCore::AtomicString::AtomicString):
641 (WebCore::AtomicString::createCFString):
642
pkasting@chromium.orgcb6b5712008-12-16 21:44:14 +00006432008-12-16 Peter Kasting <pkasting@google.com>
644
645 Reviewed by David Hyatt.
646
647 https://bugs.webkit.org/show_bug.cgi?id=22885
648 Fix memory corruption in GIFImageDecoder.cpp with certain GIFs.
649
650 * platform/image-decoders/gif/GIFImageDecoder.cpp:
651 (WebCore::GIFImageDecoder::frameComplete):
652
slewis@apple.com2bf11602008-12-16 21:20:38 +00006532008-12-16 Stephanie Lewis <slewis@apple.com>
654
655 Reviewed by Geoff Garen.
656
657 Change HTTPHeaderMap to use an AtomicString as its key.
658 Shaves ~1MB off of the Mozilla Memory Test
659 No functionality difference
660
661 * WebCore.xcodeproj/project.pbxproj:
662 * inspector/InspectorController.cpp:
663 (WebCore::addHeaders):
664 * loader/appcache/ApplicationCacheStorage.cpp:
665 (WebCore::parseHeader):
666 * platform/network/HTTPHeaderMap.h:
667 * platform/network/ResourceRequestBase.cpp:
668 (WebCore::ResourceRequestBase::httpHeaderField):
669 (WebCore::ResourceRequestBase::setHTTPHeaderField):
670 (WebCore::ResourceRequestBase::addHTTPHeaderField):
671 * platform/network/ResourceRequestBase.h:
672 * platform/network/ResourceResponseBase.cpp:
673 (WebCore::ResourceResponseBase::httpHeaderField):
674 (WebCore::ResourceResponseBase::setHTTPHeaderField):
675 * platform/network/ResourceResponseBase.h:
676 * platform/text/StringHash.h:
677 (WebCore::CaseFoldingHash::hash):
678 (WebCore::CaseFoldingHash::equal):
679 * xml/XMLHttpRequest.cpp:
680 (WebCore::isSetCookieHeader):
681 (WebCore::XMLHttpRequest::setRequestHeader):
682 (WebCore::XMLHttpRequest::setRequestHeaderInternal):
683 (WebCore::XMLHttpRequest::getRequestHeader):
684 (WebCore::XMLHttpRequest::getResponseHeader):
685 * xml/XMLHttpRequest.h:
686
zimmermann@webkit.org1604d702008-12-16 21:15:22 +00006872008-12-16 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
688
689 Reviewed by Darin Adler.
690
691 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22876
692
693 Remove legacy randomNumber() functionality from HTMLFormElement, and use the new wtf/RandomNumber.h.
694 Also remove an uneeded QFileInfo include while I'm at it - there is no Qt usage in this file.
695
696 * ForwardingHeaders/wtf/RandomNumber.h: Added.
697 * html/HTMLFormElement.cpp:
698 (WebCore::getUniqueBoundaryString):
699
vestbo@webkit.org0305bfd2008-12-16 16:02:46 +00007002008-12-16 Yael Aharon <yael.aharon@nokia.com>
701
702 Reviewed by Tor Arne Vestbø.
703
704 Qt/Win build fix
705
706 * platform/win/SystemTimeWin.cpp:
707
zecke@webkit.org7c2ca842008-12-16 15:28:50 +00007082008-12-16 Kalle Vahlman <kalle.vahlman@movial.com>
709
710 Reviewed by Holger Freyther.
711
712 [CURL] memory leak of ResouceHandles
713 http://bugs.webkit.org/show_bug.cgi?id=20777
714
715 Fix ResourceHandle ref management to be consistent and correct.
716 Original patch from Marco Barisione.
717
718 * platform/network/curl/ResourceHandleCurl.cpp:
719 (WebCore::ResourceHandle::start):
720 * platform/network/curl/ResourceHandleManager.cpp:
721 (WebCore::ResourceHandleManager::removeFromCurl):
722 (WebCore::ResourceHandleManager::add):
723 (WebCore::ResourceHandleManager::removeScheduledJob):
724
hausmann@webkit.org890775b2008-12-16 09:44:08 +00007252008-12-16 Simon Hausmann <simon.hausmann@nokia.com>
726
727 Fix the Qt build.
728
729 * platform/graphics/qt/ImageSourceQt.cpp:
730 (WebCore::ImageSource::clear): Adjust to new signature.
731
mrowe@apple.com70f72742008-12-16 07:38:27 +00007322008-12-15 Mark Rowe <mrowe@apple.com>
733
734 Rubber-stamped by Cameron Zwarich.
735
736 <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
737
738 * Configurations/Base.xcconfig:
739 * Configurations/DebugRelease.xcconfig:
740
adele@apple.com887c2c92008-12-16 00:52:23 +00007412008-12-15 Adele Peterson <adele@apple.com>
742
743 Reviewed by Darin Adler.
744
745 Fix for https://bugs.webkit.org/show_bug.cgi?id=22871
746 <rdar://problem/6417316> RenderThemeWin buttons are too short/thin
747
748 * rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle):
749 Check if the button's style (not the new inner style) has appearance set to determine whether we should set padding on the inner style.
750
zimmermann@webkit.org9edd4b62008-12-16 00:30:26 +00007512008-12-15 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
752
753 Reviewed by Oliver Hunt.
754
755 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22865
756
757 Add complete WML <table> / <tr> / <td> element support.
758 Proper handling of all table related attributes, including tests.
759
760 Tests: fast/wml/table-element-align-attribute-invalid.wml (variable reference in 'align' attribute, raises error)
761 fast/wml/table-element-columns-attribute-invalid-number.wml (columns='0', raises error)
762 fast/wml/table-element-columns-attribute-invalid.wml (non-numeric 'columns' attribute value, raises error)
763 fast/wml/table-element-columns-attribute-missing.wml (missing 'columns')
764 fast/wml/table-element-columns-attribute.wml (test 'columns' attribute and <td> count mismatches)
765
766 * GNUmakefile.am:
767 * WebCore.pro:
768 * WebCore.vcproj/WebCore.vcproj:
769 * WebCore.xcodeproj/project.pbxproj:
770 * rendering/RenderObject.cpp:
771 (WebCore::RenderObject::offsetParent):
772 * rendering/RenderTableRow.cpp:
773 (WebCore::RenderTableRow::addChild):
774 * wml/WMLTableElement.cpp: Added.
775 (WebCore::WMLTableElement::WMLTableElement):
776 (WebCore::WMLTableElement::~WMLTableElement):
777 (WebCore::WMLTableElement::mapToEntry):
778 (WebCore::WMLTableElement::parseMappedAttribute):
779 (WebCore::WMLTableElement::finishParsingChildren):
780 * wml/WMLTableElement.h: Added.
781 * wml/WMLTagNames.in:
782
darin@apple.coma2a00252008-12-16 00:22:14 +00007832008-12-15 Darin Adler <darin@apple.com>
784
785 Reviewed by Sam Weinig.
786
787 - fix <rdar://problem/6427048> crash due to infinite recursion after setting window.__proto__ = window
788
789 Test: fast/dom/Window/window-custom-prototype.html
790
791 Replaced toGlobalObject with the more generally useful unwrappedObject.
792
793 * bindings/js/JSDOMWindowShell.cpp:
794 (WebCore::JSDOMWindowShell::unwrappedObject): Added.
795 * bindings/js/JSDOMWindowShell.h: Declared unwrappedObject.
796 * bindings/js/JSQuarantinedObjectWrapper.h:
797 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): Ditto.
798
zecke@webkit.orga1d89492008-12-16 00:09:38 +00007992008-12-15 Gustavo Noronha Silva <kov@kov.eti.br>
800
801 Reviewed by Mark Rowe.
802
803 https://bugs.webkit.org/show_bug.cgi?id=22686
804
805 GTK+ build fix.
806
807 * GNUmakefile.am:
808
weinig@apple.comc0ca04e2008-12-15 21:09:35 +00008092008-12-15 Sam Weinig <sam@webkit.org>
810
811 Reviewed by Darin Adler.
812
813 Fix for https://bugs.webkit.org/show_bug.cgi?id=22847
814 Geolocation PositionOptions cannot be an arbitrary object.
815
816 Allow the PositionOptions to be a vanilla JS object and parse it
817 appropriately.
818
819 * DerivedSources.make: Remove PositionOptions.
820 * GNUmakefile.am: Ditto.
821 * WebCore.pro: Ditto.
822 * WebCore.vcproj/WebCore.vcproj: Ditto.
823 * WebCore.xcodeproj/project.pbxproj: Ditto.
824 * WebCoreSources.bkl: Ditto.
825
826 * bindings/js/JSGeolocationCustom.cpp:
827 (WebCore::createPositionOptions): Added. Extracts the enableHighAccuracy
828 and timeout fields from a vanilla JS object in order to create the
829 PositionOptions object, checking for exceptions as necessary.
830 (WebCore::JSGeolocation::getCurrentPosition): Use createPositionOptions
831 instead of toPositionOptions.
832 (WebCore::JSGeolocation::watchPosition): Ditto.
833 * page/PositionOptions.idl: Removed
834
pkasting@chromium.orgccd09ad2008-12-15 20:45:46 +00008352008-12-15 Peter Kasting <pkasting@google.com>
836
837 Reviewed by David Hyatt.
838
839 https://bugs.webkit.org/show_bug.cgi?id=22108
840 Large animated GIFs weren't always animating. The code that deleted
841 the entire decoder after each frame of a large image was resulting in
842 us forgetting the loop count, breaking animations intermittently.
843
844 Instead of throwing the whole decoder away, we're more careful to just
845 delete frames we don't care about. This additionally addresses
846 problems in the Cairo and Chromium ports with excessive peak memory
847 use and CPU use when decoding large animated GIFs because it leads to
848 much less redecoding (O(n) instead of O(n^2) CPU, and O(1) instead of
849 O(n) memory).
850
851 This change has less impact on the CG decoder, which seems to throw
852 away frames automatically when their external references are dropped;
853 this means the CG decoder didn't suffer from the peak memory usage
854 issue before (and still doesn't), but it also still burns excessive
855 CPU redecoding earlier frames, that in theory it wouldn't need to
856 redecode if it would judiciously save the most recent frames. At
857 least this patch plumbs some useful info to the ImageSource so it can
858 help guide the CG decoder heuristics in the future.
859
860 * platform/graphics/BitmapImage.cpp:
861 (WebCore::frameBytes):
862 (WebCore::BitmapImage::destroyDecodedData):
863 (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
864 (WebCore::BitmapImage::destroyMetadataAndNotify):
865 (WebCore::BitmapImage::clearFrame):
866 (WebCore::BitmapImage::cacheFrame):
867 (WebCore::BitmapImage::dataChanged):
868 (WebCore::BitmapImage::startAnimation):
869 (WebCore::BitmapImage::resetAnimation):
870 (WebCore::BitmapImage::internalAdvanceAnimation):
871 * platform/graphics/BitmapImage.h:
872 * platform/graphics/GeneratedImage.h:
873 (WebCore::GeneratedImage::destroyDecodedData):
874 * platform/graphics/Image.h:
875 * platform/graphics/ImageSource.h:
876 * platform/graphics/cairo/ImageSourceCairo.cpp:
877 (WebCore::ImageSource::~ImageSource):
878 (WebCore::ImageSource::clear):
879 * platform/graphics/cg/ImageSourceCG.cpp:
880 (WebCore::ImageSource::~ImageSource):
881 (WebCore::ImageSource::clear):
882 * platform/graphics/cg/PDFDocumentImage.h:
883 (WebCore::PDFDocumentImage::destroyDecodedData):
884 * platform/graphics/qt/StillImageQt.h:
885 (WebCore::StillImage::destroyDecodedData):
886 * platform/image-decoders/ImageDecoder.h:
887 (WebCore::RGBA32Buffer::clear):
888 (WebCore::ImageDecoder::clearFrameBufferCache):
889 * platform/image-decoders/gif/GIFImageDecoder.cpp:
890 (WebCore::GIFImageDecoder::repetitionCount):
891 (WebCore::GIFImageDecoder::clearFrameBufferCache):
892 (WebCore::GIFImageDecoder::initFrameBuffer):
893 * platform/image-decoders/gif/GIFImageDecoder.h:
894 * platform/image-decoders/gif/GIFImageReader.h:
895 (GIFImageReader::GIFImageReader):
896 * svg/graphics/SVGImage.h:
897 (WebCore::SVGImage::destroyDecodedData):
898
cwzwarich@webkit.orgf00db1f2008-12-15 19:42:59 +00008992008-12-15 Cameron Zwarich <zwarich@apple.com>
900
901 Reviewed by Darin Adler.
902
903 Bug 22562: REGRESSION (r37971): events not firing after going back in back/forward cache
904 <https://bugs.webkit.org/show_bug.cgi?id=22562>
905 <rdar://problem/6414593>
906
907 Restore the Frame's DOMWindow to its previous value when going back in
908 the back/forward cache. The fact that it was not getting set before may
909 have always caused some subtle bugs with the back/forward cache, but
910 after r37971, it causes no events to fire after restoring a page.
911
912 Previously, ScriptController::clearScriptObjects() was calling
913 clearPlatformScriptObjects(), which was not actually clearing any
914 objects, only updating them to reflect some change in state. Since the
915 window shell was not updated until after the call to clearScriptObjects(),
916 this didn't actually make that much sense.
917
918 We rename clearPlatformScriptObjects() to reflect its actual purpose and
919 call it after the window shell has been updated rather than before.
920
921 Unfortunately, there is no way to test this with a layout test because
922 it involves the back/forward cache.
923
924 * bindings/js/ScriptController.cpp:
925 (WebCore::ScriptController::updatePlatformScriptObjects): Renamed from
926 clearPlatformScriptObjects(), because the only nonempty implementation
927 doesn't actually clear any objects, it updates them. Also made public.
928 (WebCore::ScriptController::clearScriptObjects): Remove the call to
929 clearPlatformScriptObjects().
930 * bindings/js/ScriptController.h:
931 * bindings/js/ScriptControllerMac.mm:
932 (WebCore::ScriptController::updatePlatformScriptObjects):
933 * history/CachedPage.cpp:
934 (WebCore::CachedPage::domWindow): Added.
935 * history/CachedPage.h:
936 * loader/FrameLoader.cpp:
937 (WebCore::FrameLoader::cancelAndClear): Added call to updatePlatformScriptObjects().
938 (WebCore::FrameLoader::begin): Added call to updatePlatformScriptObjects().
939 (WebCore::FrameLoader::open): Added call to updatePlatformScriptObjects().
940 * page/Frame.cpp:
941 (WebCore::Frame::setDOMWindow): Added.
942 (WebCore::Frame::pageDestroyed): Added call to updatePlatformScriptObjects().
943 * page/Frame.h:
944
antti@apple.com4da613e2008-12-15 15:28:41 +00009452008-12-15 Antti Koivisto <antti@apple.com>
946
947 Reviewed by Darin Adler.
948
949 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
950 https://bugs.webkit.org/show_bug.cgi?id=17998
951
952 - Enable conditional revalidation for reloads by default.
953 - Add a parameter to FrameLoader::reload() for forcing end-to-end reload.
954 - To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader.
955 Instead synthezise the policy on demand.
956
957 This speeds up reloads and makes them use way less bandwidth.
958
959 * WebCore.base.exp:
960 * loader/CachePolicy.h: Rename CachePolicyRefresh to CachePolicyRevalidate.
961 (WebCore::):
962 * loader/DocLoader.cpp:
963 (WebCore::DocLoader::DocLoader):
964 (WebCore::DocLoader::checkForReload): Support CachePolicyRevalidate.
965 (WebCore::DocLoader::requestResource):
966 (WebCore::DocLoader::cachePolicy):
967 * loader/DocLoader.h: Get rid of m_cachePolicy member.
968 * loader/FrameLoader.cpp:
969 (WebCore::ScheduledRedirection::ScheduledRedirection):
970 Add parameter to differentiate refresh from other types of redirects.
971 m_cachePolicy was used for signaling this before.
972 (WebCore::isBackForwardLoadType):
973 (WebCore::FrameLoader::FrameLoader):
974 (WebCore::FrameLoader::changeLocation):
975 (WebCore::FrameLoader::stopLoading):
976 (WebCore::FrameLoader::receivedFirstData):
977 (WebCore::FrameLoader::write):
978 (WebCore::FrameLoader::startIconLoader):
979 (WebCore::FrameLoader::restoreDocumentState):
980 (WebCore::FrameLoader::scheduleHTTPRedirection):
981 (WebCore::FrameLoader::scheduleLocationChange):
982 (WebCore::FrameLoader::scheduleRefresh):
983 (WebCore::FrameLoader::redirectionTimerFired):
984 (WebCore::FrameLoader::canCachePage):
985 (WebCore::FrameLoader::loadURL):
986 (WebCore::FrameLoader::reload):
987 Differentiate between revalidation and reload.
988 No need to use setHTTPHeaderField here, addExtraFieldsToRequest will set the headers.
989 (WebCore::FrameLoader::transitionToCommitted):
990 (WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type.
991 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
992 (WebCore::FrameLoader::addExtraFieldsToRequest): Set Cache-control: no-cache for FrameLoadTypeReloadFromOrigin
993 (WebCore::FrameLoader::shouldScrollToAnchor):
994 (WebCore::FrameLoader::loadItem):
995 (WebCore::FrameLoader::updateHistoryForReload):
996 (WebCore::FrameLoader::updateHistoryForCommit):
997 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
998 * loader/FrameLoader.h:
999 * loader/FrameLoaderTypes.h: Add FrameLoadTypeReloadFromOrigin
1000 (WebCore::):
1001 * loader/NavigationAction.cpp:
1002 (WebCore::navigationType): Support FrameLoadTypeReloadFromOrigin
1003 * loader/loader.cpp:
1004 (WebCore::Loader::Host::servePendingRequests):
1005
zecke@webkit.org5b696aa2008-12-15 12:32:48 +000010062008-12-15 Holger Hans Peter Freyther <zecke@selfish.org>
1007
1008 Reviewed by Simon Hausmann.
1009
1010 Add null checks to PlatformScreenQt
1011
1012 The other ports do the null checks and JSDOMWindowBase is
1013 at least one caller that is passing 0.
1014
1015 * platform/qt/PlatformScreenQt.cpp:
1016 (WebCore::screenDepth):
1017 (WebCore::screenDepthPerComponent):
1018 (WebCore::screenIsMonochrome):
1019 (WebCore::screenRect):
1020 (WebCore::screenAvailableRect):
1021
ap@webkit.org5688bbe2008-12-15 12:03:41 +000010222008-12-15 Alexey Proskuryakov <ap@webkit.org>
1023
1024 Reviewed by Oliver Hunt.
1025
1026 <rdar://problem/6444455> Worker Thread crash running multiple workers for a moderate amount of time
1027
1028 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
1029 Detach the thread. Without this, one page of its stack was never unmmaped, and fragmentation
1030 made RegisterFile allocaiton fail after a while.
1031
darin@apple.combdf4c442008-12-15 02:13:51 +000010322008-12-13 Darin Adler <darin@apple.com>
1033
1034 Reviewed by Sam Weinig.
1035
1036 - half of https://bugs.webkit.org/show_bug.cgi?id=17425
1037 eliminate DeprecatedPtrList
1038
1039 * dom/Document.cpp:
1040 (WebCore::Document::removeImage): Change to set slots in the vector
1041 to 0 rather than removing items from a list.
1042 (WebCore::Document::dispatchImageLoadEventsNow): Rewrite to process
1043 the list. Since we now use a "set to zero" design, we don't need to
1044 be careful about where the iterator points while iterating the list,
1045 instead we just have to skip zeros.
1046
1047 * dom/Document.h: Use Vector instead of DeprecatedPtrList.
1048
1049 * dom/EventTargetNode.cpp:
1050 (WebCore::EventTargetNode::dispatchGenericEvent): Use a Vector instead
1051 of a DeprecatedPtrList for the list of nodes to handle. Also streamlined
1052 the logic a bit and used goto in a couple key places.
1053
1054 * dom/Node.cpp:
1055 (WebCore::Node::eventParentNode): Moved this function into this file
1056 because it's a virtual function so already can't be inlined. Also updated
1057 to return a ContainerNode, so it needs to be in a place where the
1058 definition of ContainerNode is visible, not the header file.
1059
1060 * dom/Node.h: Changed return type of eventParentNode to ContainerNode
1061 and moved its definition into the cpp file.
1062
1063 * dom/XMLTokenizerLibxml2.cpp:
1064 (WebCore::PendingCallbacks::~PendingCallbacks): Added a call to
1065 deleteAllValues here instead of setAutoDelete in the constructor, since
1066 we're using Deque instead of DeprecatedPtrList.
1067 (WebCore::PendingCallbacks::callAndRemoveFirstCallback): Changed the
1068 code to use an OwnPtr since the deque won't delete the callback object.
1069
1070 * editing/ApplyStyleCommand.cpp:
1071 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use a
1072 Vector instead of a DeprecatedPtrList.
1073
1074 * svg/SVGElement.cpp:
1075 (WebCore::SVGElement::eventParentNode): Moved this function into this file
1076 because it's a virtual function so already can't be inlined. Also updated
1077 to return a ContainerNode.
1078
1079 * svg/SVGElement.h: Changed setShadowParentNode to take a ContainerNode*,
1080 made eventParentNode return a ContainerNode*, and made m_shadowParent a
1081 ContainerNode*.
1082
zimmermann@webkit.orgbf867582008-12-14 23:37:27 +000010832008-12-14 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1084
1085 Reviewed by George Staikos.
1086
1087 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22857
1088
1089 Jumps within a WML deck using <go> task elements fail. Manual reloading
1090 is necessary to display the page - fix cache-policy in WMLGoElement::executeTask
1091 to prevent the problem.
1092
1093 Refactor setActiveCardInDocument in two new functions: findNamedCardInDocument
1094 and determineActiveCard, to fix a side-effect of executing a <go> task:
1095 when switching cards within a deck the active card was changed before the load
1096 was fired which resulted in a flash effect on the screen, and doing unnecessary work.
1097
1098 Test: wml/go-task-animation.html
1099
1100 * wml/WMLCardElement.cpp:
1101 (WebCore::WMLCardElement::findNamedCardInDocument):
1102 (WebCore::WMLCardElement::determineActiveCard):
1103 * wml/WMLCardElement.h:
1104 * wml/WMLDocument.cpp:
1105 (WebCore::WMLDocument::finishedParsing):
1106 * wml/WMLGoElement.cpp:
1107 (WebCore::WMLGoElement::executeTask):
1108 (WebCore::WMLGoElement::prepareGETRequest):
1109 * wml/WMLGoElement.h:
1110
krit@webkit.org7b2526c2008-12-14 14:47:54 +000011112008-12-14 Dirk Schulze <krit@webkit.org>
1112
1113 Reviewed by Oliver Hunt.
1114
1115 Fixes an issue in cairo. A fully transparent color can cause wrong
1116 drawings on canvas' composite.
1117
1118 https://bugs.webkit.org/show_bug.cgi?id=22846
1119 [CAIRO] Canvas: transparent color and composite
1120
1121 Test: fast/canvas/canvas-transparency-and-composite.html
1122
1123 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1124 (WebCore::GraphicsContext::fillPath):
1125 (WebCore::GraphicsContext::strokePath):
1126
jchaffraix@webkit.org321ee182008-12-14 11:46:36 +000011272008-12-13 Julien Chaffraix <jchaffraix@webkit.org>
1128
1129 Reviewed by Darin Adler.
1130
1131 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
1132 https://bugs.webkit.org/show_bug.cgi?id=22665
1133
1134 Remove setCreatedByParser from frame and iframe.
1135
1136 * html/HTMLElementFactory.cpp:
1137 (WebCore::frameConstructor):
1138 (WebCore::iframeConstructor):
1139 (WebCore::objectConstructor):
1140 * html/HTMLFrameElement.cpp:
1141 (WebCore::HTMLFrameElement::HTMLFrameElement):
1142 * html/HTMLFrameElement.h:
1143 * html/HTMLFrameElementBase.cpp:
1144 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
1145 * html/HTMLFrameElementBase.h:
1146 * html/HTMLFrameOwnerElement.cpp:
1147 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
1148 * html/HTMLFrameOwnerElement.h:
1149 (WebCore::HTMLFrameOwnerElement::createdByParser):
1150 * html/HTMLIFrameElement.cpp:
1151 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
1152 * html/HTMLIFrameElement.h:
1153 * html/HTMLPlugInElement.cpp:
1154 (WebCore::HTMLPlugInElement::HTMLPlugInElement):
1155 * html/HTMLTagNames.in:
1156
ap@webkit.orgbde5cc92008-12-14 09:55:08 +000011572008-12-13 Alexey Proskuryakov <ap@webkit.org>
1158
1159 Reviewed by Darin Adler.
1160
1161 https://bugs.webkit.org/show_bug.cgi?id=22843
1162 Auto-generate JSWorkerContext
1163
1164 * bindings/scripts/CodeGeneratorJS.pm:
1165 * dom/WorkerContext.idl: Added.
1166 * page/DOMWindow.idl:
1167 Added ExtendsDOMGlobalObject, a new attribute for behaviors common to DOMWindow and
1168 WorkerContext.
1169
1170 * bindings/js/WorkerScriptController.cpp:
1171 (WebCore::WorkerScriptController::initScript):
1172 Made JSWorkerContext creation look more like JSDOMWindow creation, to work with generated code.
1173
1174 * DerivedSources.make:
1175 * GNUmakefile.am:
1176 * WebCore.pro:
1177 * WebCore.scons:
1178 * WebCore.vcproj/WebCore.vcproj:
1179 * WebCore.xcodeproj/project.pbxproj:
1180 * bindings/js/JSWorkerContext.cpp: Removed.
1181 * bindings/js/JSWorkerContext.h: Removed.
1182 * bindings/js/JSWorkerContextBase.cpp: Copied from WebCore/bindings/js/JSWorkerContext.cpp.
1183 (WebCore::JSWorkerContextBase::JSWorkerContextBase):
1184 (WebCore::JSWorkerContextBase::~JSWorkerContextBase):
1185 (WebCore::JSWorkerContextBase::scriptExecutionContext):
1186 (WebCore::getJSWorkerContextBaseTable):
1187 (WebCore::):
1188 (WebCore::JSWorkerContextBase::put):
1189 * bindings/js/JSWorkerContextBase.h: Copied from WebCore/bindings/js/JSWorkerContext.h.
1190 * bindings/js/JSWorkerContextCustom.cpp: Added.
1191 (WebCore::JSWorkerContext::customGetOwnPropertySlot):
1192 (WebCore::JSWorkerContext::mark):
1193 (WebCore::JSWorkerContext::self):
1194 (WebCore::JSWorkerContext::setSelf):
1195 (WebCore::JSWorkerContext::addEventListener):
1196 (WebCore::JSWorkerContext::removeEventListener):
1197 Moved code around. Note that currently, JSWorkerContextBase lookup table is empty, but we'll
1198 need to add some global objects to it in the future, as it is done in JSDOMWindowBase.
1199
1200 * page/WorkerNavigator.cpp:
1201 * page/WorkerNavigator.h:
1202 Added ENABLE(WORKERS) ifdefs.
1203
darin@apple.com929b9072008-12-13 22:53:55 +000012042008-12-13 Darin Adler <darin@apple.com>
1205
darin@apple.come6cd59e2008-12-13 23:28:30 +00001206 - fix Release build
1207
1208 * dom/Node.cpp:
1209 (WebCore::Node::rareData): Remove inappropriate inline directive.
1210
12112008-12-13 Darin Adler <darin@apple.com>
1212
darin@apple.comfd245ad2008-12-13 23:02:11 +00001213 Reviewed by Dan Bernstein.
1214
1215 - fix https://bugs.webkit.org/show_bug.cgi?id=18734
1216 REGRESSION (r31081): Focus problems in Gmail 2/Plain text message text
1217 <rdar://problem/5892415>
1218
1219 Test: fast/forms/textarea-selection-preservation.html
1220
1221 The regression reported was caused by the fact that the renderer code had
1222 a bug where it would constantly think the newline at the end of text was
1223 missing, and so it would replace all the text even though it wasn't changing,
1224 which would destroy the selection.
1225
1226 When writing the regression test I discovered another problem: The value
1227 property in HTMLTextAreaElement was intentionally changing the selection
1228 to the end of the textarea, but doing that even when the value wasn't changing.
1229
1230 This patch fixes both and the test checks both.
1231
1232 * html/HTMLTextAreaElement.cpp:
1233 (WebCore::HTMLTextAreaElement::setValue): Exit early if the value is
1234 not changing.
1235
1236 * rendering/RenderTextControl.cpp:
1237 (WebCore::RenderTextControl::text): Add a newline character for each <br>
1238 element encountered in the control
1239
12402008-12-13 Darin Adler <darin@apple.com>
1241
darin@apple.come80ea542008-12-13 22:58:14 +00001242 - file deletion part of https://bugs.webkit.org/show_bug.cgi?id=17497
1243 eliminate DeprecatedValueList
1244
1245 * GNUmakefile.am: Removed references to deleted files.
1246 * WebCore.pro: Ditto.
1247 * WebCore.scons: Ditto.
1248 * WebCore.vcproj/WebCore.vcproj: Ditto.
1249 * WebCore.xcodeproj/project.pbxproj: Ditto.
1250 * WebCoreSources.bkl: Ditto.
1251
1252 * platform/DeprecatedPtrQueue.h: Removed.
1253 * platform/DeprecatedValueList.h: Removed.
1254 * platform/DeprecatedValueListImpl.cpp: Removed.
1255 * platform/DeprecatedValueListImpl.h: Removed.
1256
12572008-12-13 Darin Adler <darin@apple.com>
1258
darin@apple.com929b9072008-12-13 22:53:55 +00001259 Reviewed by Anders Carlsson.
1260
1261 - https://bugs.webkit.org/show_bug.cgi?id=17497
1262 eliminate DeprecatedValueList
1263
1264 * css/CSSStyleDeclaration.cpp: Removed unneeded include.
1265
1266 * dom/Document.cpp:
1267 (WebCore::Document::removeAllEventListenersFromAllNodes):
1268 Set the removed flag on the window event listeners in case we
1269 are in the middle of dispatching events on this window.
1270 (WebCore::Document::clear): Ditto.
1271 (WebCore::Document::handleWindowEvent): Changed to use a vector
1272 instead of a DeprecatedPtrList.
1273 (WebCore::Document::windowInlineEventListenerForType): Ditto.
1274 (WebCore::Document::removeWindowInlineEventListenerForType): Ditto.
1275 Also added a call to setRemoved, which is needed here just as in
1276 other functions that remove.
1277 (WebCore::Document::removeWindowEventListener): Ditto.
1278 (WebCore::Document::hasWindowEventListener): Ditto.
1279
1280 * dom/Document.h: Changed RegisteredEventListenerList to
1281 RegisteredEventListeners.
1282
1283 * dom/Element.cpp:
1284 (WebCore::Element::attach): Use a function to access rare data instead
1285 of getting directly at the data field.
1286 (WebCore::Element::focus): Ditto.
1287 (WebCore::Element::cancelFocusAppearanceUpdate): Ditto.
1288
1289 * dom/ElementRareData.h: Use "using" to make things that are protected
1290 in NodeRareData be public here.
1291
1292 * dom/EventTarget.h: Removed include of DeprecatedValueList and
1293 related declearations that weren't needed. Tweaked the definitions
1294 of the forbidEventDispatch functions too.
1295
1296 * dom/EventTargetNode.cpp:
1297 (WebCore::EventTargetNode::EventTargetNode): Eliminated code that
1298 was used to initialized m_regdListeners.
1299 (WebCore::EventTargetNode::~EventTargetNode): Elminated delete of
1300 m_regdListeners. Changed code to use eventListeners() instead of
1301 m_regdListeners.
1302 (WebCore::EventTargetNode::eventListeners): Added.
1303 (WebCore::EventTargetNode::insertedIntoDocument): Use eventListeners.
1304 (WebCore::EventTargetNode::removedFromDocument): Ditto.
1305 (WebCore::EventTargetNode::willMoveToNewOwnerDocument): Ditto.
1306 (WebCore::EventTargetNode::didMoveToNewOwnerDocument): Ditto.
1307 (WebCore::EventTargetNode::addEventListener): Ditto.
1308 (WebCore::EventTargetNode::removeEventListener): Ditto.
1309 (WebCore::EventTargetNode::removeAllEventListeners): Ditto.
1310 Also added code to call setRemoved on all the listeners.
1311 (WebCore::EventTargetNode::handleLocalEvents): Ditto.
1312 (WebCore::EventTargetNode::dispatchGenericEvent): Fixed indentation.
1313 (WebCore::EventTargetNode::removeInlineEventListenerForType): Use
1314 the new event listeners vector. Also added missing call to setRemoved.
1315 (WebCore::EventTargetNode::inlineEventListenerForType): Ditto.
1316
1317 * dom/EventTargetNode.h: Added a new RegisteredEventListenerVector
1318 type and replaced the old localEventListeners function with a new
1319 eventListeners function. Removed m_regdListeners.
1320
1321 * dom/Node.cpp:
1322 (WebCore::Node::childNodes): Removed unneeded std prefix.
1323 (WebCore::Node::setFocus): Use function instead of going directly
1324 at rare data.
1325 (WebCore::Node::rareDataFocused): Ditto.
1326 (WebCore::Node::registerDynamicNodeList): Removed unneeded std prefix.
1327 (WebCore::Node::getElementsByName): Ditto.
1328 (WebCore::Node::getElementsByClassName): Ditto.
1329 (WebCore::Node::compareDocumentPosition): Ditto.
1330
1331 * dom/Node.h: Removed unneeded forward declaration of
1332 RegisteredEventListener. This is now in EventTargetNode.
1333
1334 * dom/NodeRareData.h: Renamed m_focused to m_isFocused and made it
1335 private. Made m_needsFocusAppearanceUpdateSoonAfterAttach private.
1336 Added listeners and ensureListeners functions as well as isFocused,
1337 setFocused, and focus-appearance functions. Made all data members private.
1338
1339 * dom/RegisteredEventListener.cpp: Removed operator ==.
1340 * dom/RegisteredEventListener.h: Removed operator == and !=.
1341
1342 * svg/SVGElement.cpp:
1343 (WebCore::hasLoadListener): Rewrote to work with the vector.
1344 * svg/SVGUseElement.cpp:
1345 (WebCore::SVGUseElement::transferEventListenersToShadowTree): Ditto.
1346
zecke@webkit.orgaefb9572008-12-13 21:45:35 +000013472008-12-13 Holger Hans Peter Freyther <zecke@selfish.org>
1348
1349 Reviewed by Dan Bernstein.
1350
1351 https://bugs.webkit.org/show_bug.cgi?id=22824
1352
1353 Change ENABLE(FONT_FAST_PATH) to USE(FONT_FAST_PATH). With r39206
1354 floatWidth always used the complex path causing a regression
1355 in the pixel tests.
1356
1357 * platform/graphics/Font.cpp:
1358 (WebCore::Font::floatWidth): Use the fast path again
1359
krit@webkit.org68c691b2008-12-13 20:45:41 +000013602008-12-13 Dirk Schulze <krit@webkit.org>
1361
1362 Reviewed by Darin Adler.
1363
1364 Fixes behavior of gradients on empty path in canvas/Cg
1365
1366 https://bugs.webkit.org/show_bug.cgi?id=22844
1367 [Cg] Canvas fill() draws gradients even without a path
1368
1369 Test: fast/canvas/canvas-gradient-without-path.html
1370
1371 * html/CanvasRenderingContext2D.cpp:
1372 (WebCore::CanvasRenderingContext2D::fill):
1373 (WebCore::CanvasRenderingContext2D::stroke):
1374
kevino@webkit.org509aa502008-12-13 17:38:17 +000013752008-12-13 Kevin Ollivier <kevino@theolliviers.com>
1376
1377 wx build fix.
1378
1379 * platform/graphics/wx/ImageSourceWx.cpp:
1380 (WebCore::ImageSource::filenameExtension):
1381
pewtermoose@webkit.org7f27a442008-12-13 06:32:08 +000013822008-12-12 Brent Fulgham <bfulgham@gmail.com>
1383
1384 Reviewed by Oliver Hunt.
1385
1386 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22805
1387
1388 Provides implementation of image dragging logic for Windows Cairo
1389 back-end.
1390
1391 * platform/win/DragImageCGWin.cpp:
1392 (WebCore::deallocContext): Add a generic CGContextRef destructor.
1393 * platform/win/DragImageCairoWin.cpp:
1394 (WebCore::deallocContext): Add a generic cairo_* destructor.
1395 (WebCore::allocImage): New implementation to allocate a Cairo
1396 surface of a specified size.
1397 (WebCore::createCairoContextFromBitmap): New implementation to
1398 create a Cairo surface from a Windows BITMAP.
1399 (WebCore::scaleDragImage): Replace stub with implementation to
1400 actually create a scaled image.
1401 (WebCore::createDragImageFromImage): Replace stub with implementation
1402 to actually create an image.
1403
dino@apple.com572b6eb2008-12-13 02:30:09 +000014042008-12-12 Dean Jackson <dino@apple.com>
1405
1406 Reviewed by Darin Adler.
1407
1408 Expose WebKitAnimationEvent, WebKitTransitionEvent,
1409 WebKitCSSTransformValue, WebKitCSSKeyframeRule and
1410 WebKitCSSKeyframesRule to Window object.
1411 This required generating constructors for the event
1412 interfaces.
1413
1414 https://bugs.webkit.org/show_bug.cgi?id=20560
1415
1416 * dom/WebKitAnimationEvent.idl:
1417 * dom/WebKitTransitionEvent.idl:
1418 * page/DOMWindow.idl:
1419
eric@webkit.org066936d2008-12-13 01:20:58 +000014202008-12-12 Dave Moore <davemoore@google.com>
1421
1422 Reviewed by Eric Seidel.
1423
1424 Fixed https://bugs.webkit.org/show_bug.cgi?id=22798
1425
1426 In Font::drawTextUsingSVGFont() a variable of type SVGTextRunWalkerDrawTextData
1427 is created on the stack (called data). One of its fields, charsConsumed, is
1428 unitialized, leading to random values after calling walk() on the
1429 SVGTextRunWalker created with it. I now initialize the variable
1430
1431 This bug was revealed in our Purify run. I don't know of any specific incorrect
1432 behavior caused by it but it would lead to the charsConsumed field having a
1433 a wrong value.
1434
1435 * svg/SVGFont.cpp:
1436 (WebCore::Font::drawTextUsingSVGFont):
1437
bdakin@apple.comf22f3ee2008-12-13 00:11:36 +000014382008-12-12 Beth Dakin <bdakin@apple.com>
1439
1440 Rubber Stamped by Steve Falkenburg.
1441
1442 Build fix.
1443
1444 * platform/KURL.h:
1445
brettw@chromium.org973ee702008-12-12 22:22:14 +000014462008-12-12 Brett Wilson <brettw@chromium.org>
1447
1448 Reviewed by Darin Adler.
1449
1450 Add the ability so that Google-URL can optionally be used in a build
1451 of WebKit without changing the shared header. The guts of KURL are
1452 optionally ifdefed out, and the replacement code goes in a different
1453 header to avoid polluting KURL.h
1454
1455 * platform/KURL.cpp:
1456 * platform/KURL.h:
1457 (WebCore::KURL::string):
1458 (WebCore::KURL::operator const String&):
1459 (WebCore::KURL::operator JSC::UString):
1460 (WebCore::KURL::operator NSString*):
1461 (WebCore::KURL::parsed):
1462 (WebCore::KURL::utf8String):
1463 (WebCore::KURL::isNull):
1464 (WebCore::KURL::isEmpty):
1465 (WebCore::KURL::isValid):
1466 (WebCore::KURL::hostStart):
1467 (WebCore::KURL::hostEnd):
1468 (WebCore::KURL::pathStart):
1469 (WebCore::KURL::pathEnd):
1470 (WebCore::KURL::pathAfterLastSlash):
1471
sfalken@apple.comeb8788d4fb2008-12-12 18:10:52 +000014722008-12-11 Steve Falkenburg <sfalken@apple.com>
1473
1474 Delete the previous timer-queue timer in the main thread, just prior to scheduling a new timer.
1475 The code previously called DeleteTimerQueueTimer in the timer callback proc.
1476
1477 The new technique simplifies the code, since we now create and delete timers on the
1478 same thread, and don't access the timer queue or timer handles in the callback.
1479 This allows us to remove some mutex use, and more importantly, it solves a race
1480 condition that was occuring between ChangeTimerQueueTimer and DeleteTimerQueueTimer.
1481
1482 Since the timer callback isn't passed the timer handle, we were retrieving that handle
1483 via a global. If the timer callback code was entered, but then a new timer was immediately
1484 scheduled (prior to the callback acquiring the mutex and calling DeleteTimerQueueTimer),
1485 there was a small window where the timer could be re-scheduled via ChangeTimerQueueTimer
1486 and then immediately deleted once the already running callback acquired the mutex and
1487 then called DeleteTimerQueueTimer. This resulted in the newly scheduled timer never firing.
1488
1489 Reviewed by Oliver Hunt.
1490
1491 * platform/win/SharedTimerWin.cpp:
1492 (WebCore::queueTimerProc): Don't delete the timer in the callback.
1493 (WebCore::setSharedTimerFireTime): Always delete and create the timer instead of using ChangeTimerQueueTimer.
1494 (WebCore::stopSharedTimer): Call DeleteTimerQueueTimer directly.
1495
darin@apple.com12967052008-12-12 18:06:42 +000014962008-12-12 Kai BrĂĽning <kai@granus.net>
1497
1498 Reviewed and tweaked by Darin Adler.
1499
1500 - fix https://bugs.webkit.org/show_bug.cgi?id=18205
1501 DOMNode objects are garbage collected although there are strong references
1502 <rdar://problem/6441200>
1503
1504 Fixes resurrection bug for wrapper objects by using an NSMapTable with zeroing weak
1505 memory for the wrapper reference for DOMWrapperCache (DOMInternal.mm),
1506 JSWrapperCache (WebScriptObject.mm) and wrapperCache (DOMRGBColor.mm).
1507 BUILDING_ON_TIGER is used to create a Leopard-only NSMapTable or an old-style
1508 procedural map table for Tiger systems.
1509
1510 No regression tests yet since we don't currently run any tests in GC mode.
1511
1512 * bindings/objc/DOMInternal.h: added WebCore::createWrapperCache for use by all three caches
1513 * bindings/objc/DOMInternal.mm:
1514 (WebCore::createWrapperCache): Contains the compile-time check for map table creation
1515 (WebCore::getDOMWrapper): HashMap -> NSMapTable
1516 (WebCore::addDOMWrapper): ditto
1517 (WebCore::removeDOMWrapper): ditto
1518 * bindings/objc/DOMObject.mm: removed [DOMObject finalize]
1519 * bindings/objc/DOMRGBColor.mm: removed [DOMRGBColor finalize]
1520 (WebCore::getWrapperForRGB): CFMutableDictionaryRef -> NSMapTable
1521 (WebCore::setWrapperForRGB): ditto
1522 (WebCore::removeWrapperForRGB): ditto
1523 * bindings/objc/WebScriptObject.mm:
1524 (WebCore::getJSWrapper): HashMap -> NSMapTable
1525 (WebCore::addJSWrapper): ditto
1526 (WebCore::removeJSWrapper): ditto
1527 (-[WebScriptObject finalize]): removed call of removeJSWrapper()
1528
darin@chromium.org7e241692008-12-12 16:10:23 +000015292008-12-12 Dimitri Glazkov <dglazkov@chromium.org>
1530
1531 Reviewed by Alexey Proskuryakov.
1532
1533 https://bugs.webkit.org/show_bug.cgi?id=22813
1534 Remove unused references to JSDOMBinding, CallFrame, and JSLock.
1535
1536 * dom/Node.cpp: Removed CallFrame and JSLock header includes.
1537 * loader/FrameLoader.cpp: Removed JSDOMBinding header include.
1538
zecke@webkit.org4ee565b2008-12-12 16:09:11 +000015392008-12-12 Holger Hans Peter Freyther <zecke@selfish.org>
1540
1541 Reviewed by Simon Hausmann.
1542
1543 Update the WebKit.qrc and add a script to automatically generate the file.
1544
1545 With the way rcc and qmake work this can not be done at build time
1546 as the WebKit.qrc must sit inside the directory that contains the files
1547 and at build time we may not change the content of the source directory.
1548
1549 * inspector/front-end/WebKit.qrc: Updated with new script
1550
oliver@apple.coma0e7d7d2008-12-12 14:11:04 +000015512008-12-12 Oliver Hunt <oliver@apple.com>
1552
1553 Reviewed by Alexey Proskuryakov.
1554
1555 REGRESSION: Canvas is broken in high dpi mode
1556 <rdar://problem/6432739> <https://bugs.webkit.org/show_bug.cgi?id=22823>
1557
1558 Simply made sure that we correctly scale the graphics context to
1559 account for the difference between logical and buffer resolution.
1560
1561 * html/HTMLCanvasElement.cpp:
1562 (WebCore::HTMLCanvasElement::createImageBuffer):
1563 (WebCore::HTMLCanvasElement::baseTransform):
1564
vestbo@webkit.orgf43b6932008-12-12 10:54:42 +000015652008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>
1566
vestbo@webkit.org3649fdb2008-12-12 13:18:30 +00001567 Rubber-stamped by Oliver Hunt.
1568
1569 Share PluginView::paintMissingPluginIcon() between ports
1570
1571 Also, enable this feature for Qt/X11, Qt/Mac and GTK
1572
1573 * plugins/PluginView.cpp:
1574 (WebCore::PluginView::paintMissingPluginIcon):
1575 * plugins/gtk/PluginViewGtk.cpp:
1576 (WebCore::PluginView::paint):
1577 * plugins/mac/PluginViewMac.cpp:
1578 (WebCore::PluginView::paint):
1579 * plugins/qt/PluginViewQt.cpp:
1580 (WebCore::PluginView::paint):
1581 * plugins/win/PluginViewWin.cpp:
1582
15832008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>
1584
vestbo@webkit.org1d4641e2008-12-12 13:16:39 +00001585 Reviewed by Simon Hausmann.
1586
1587 [Qt/Mac] Implement PluginView::updatePluginWidget()
1588
1589 We should update the window and clip rect regardless of whether or
1590 not the plugin has been loaded, for example to ensure that the
1591 missing plugin image is placed correctly.
1592
1593 * plugins/mac/PluginViewMac.cpp:
1594 (WebCore::PluginView::setNPWindowIfNeeded):
1595 (WebCore::PluginView::updatePluginWidget):
1596
15972008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>
1598
vestbo@webkit.org8bd71bb2008-12-12 13:15:15 +00001599 Rubber-stamped by Oliver Hunt.
1600
1601 Make PluginView::updatePluginWidget() non-const
1602
1603 We can do this now since frameRectsChanged() is no longer const. This
1604 also allows us to get rid of the mutables in the PluginView.
1605
1606 * platform/qt/TemporaryLinkStubs.cpp:
1607 (PluginView::updatePluginWidget):
1608 * plugins/PluginView.h:
1609 * plugins/gtk/PluginViewGtk.cpp:
1610 (WebCore::PluginView::updatePluginWidget):
1611 * plugins/mac/PluginViewMac.cpp:
1612 (WebCore::PluginView::updatePluginWidget):
1613 * plugins/qt/PluginViewQt.cpp:
1614 (WebCore::PluginView::updatePluginWidget):
1615 * plugins/win/PluginViewWin.cpp:
1616 (WebCore::PluginView::updatePluginWidget):
1617 * plugins/wx/PluginViewWx.cpp:
1618 (WebCore::PluginView::updatePluginWidget):
1619
16202008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>
1621
vestbo@webkit.orgf43b6932008-12-12 10:54:42 +00001622 Reviewed by Simon Hausmann.
1623
1624 Implement ImageSource::filenameExtension() for the Qt port
1625
1626 We're using QImageReader::imageFormat().toLower() to check
1627 that the image format is supported, and if it is we store
1628 the resulting extension when creating the ImageDecoderQt.
1629
1630 * platform/graphics/qt/ImageDecoderQt.cpp:
1631 (WebCore::ImageDecoderQt::create):
1632 (WebCore::ImageDecoderQt::ImageDecoderQt):
1633 (WebCore::ImageDecoderQt::imageFormat):
1634 * platform/graphics/qt/ImageDecoderQt.h:
1635 * platform/graphics/qt/ImageSourceQt.cpp:
1636 (WebCore::ImageSource::setData):
1637 (WebCore::ImageSource::filenameExtension):
1638
slewis@apple.coma7ce2732008-12-12 07:51:09 +000016392008-12-11 Stephanie Lewis <slewis@apple.com>
1640
1641 Reviewed by Geoff Garen
1642
1643 Account for the size of the response and request headers as well as other overhead
1644 when calculating the size a resource takes up in the cache. Halts unbounded
1645 growth in the cache. Reduced stress test memory high water marks by > 50%.
1646
1647 Uses estimates gathered from the stress test to set the overhead size.
1648 A version of the patch was created that calculated most of the sizes, but it was
1649 decided that the patch was still at a basic level an estimate. What gains it made
1650 in accuracy was offset by the complexity involved in creating and updating the
1651 estimate.
1652
1653 * loader/Cache.cpp:
1654 (WebCore::Cache::resourceAccessed):
1655 (WebCore::Cache::TypeStatistic::addResource):
1656 (WebCore::Cache::dumpLRULists):
1657 * loader/CachedResource.cpp:
1658 (WebCore::CachedResource::overheadSize):
1659 * loader/CachedResource.h:
1660 (WebCore::CachedResource::size):
1661
zimmermann@webkit.orgcd723f72008-12-12 02:02:14 +000016622008-12-11 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1663
1664 Reviewed by Holger Freyther.
1665
1666 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22814
1667
1668 Add <wml> image element support. Based on HTML/SVGImage{Element/Loader}, with
1669 the only difference that WML defines a second source attribute 'localsrc', that
1670 takes precedence over the 'src' attribute. If loading the 'localsrc' attribute
1671 fails, the user agent should try loading the 'src' attribute. If both fail the
1672 'alt' fallback content will be used - just like in HTML.
1673
1674 Fixes: fast/wml/img-localsrc.wml (<img> and 'localsrc' attribute)
1675 fast/wml/img-src-localsrc-alt.wml ('localsrc'/'src' fallback handling)
1676 fast/wml/img-src.wml (<img> and 'src' attribute)
1677
1678 * GNUmakefile.am:
1679 * WebCore.vcproj/WebCore.vcproj:
1680 * WebCore.xcodeproj/project.pbxproj:
1681 * rendering/HitTestResult.cpp:
1682 (WebCore::HitTestResult::altDisplayString):
1683 (WebCore::HitTestResult::absoluteImageURL):
1684 * rendering/RenderImage.cpp:
1685 (WebCore::RenderImage::updateAltText):
1686 * wml/WMLImageElement.cpp: Added.
1687 (WebCore::WMLImageElement::WMLImageElement):
1688 (WebCore::WMLImageElement::~WMLImageElement):
1689 (WebCore::WMLImageElement::mapToEntry):
1690 (WebCore::WMLImageElement::parseMappedAttribute):
1691 (WebCore::WMLImageElement::attach):
1692 (WebCore::WMLImageElement::createRenderer):
1693 (WebCore::WMLImageElement::insertedIntoDocument):
1694 (WebCore::WMLImageElement::isURLAttribute):
1695 (WebCore::WMLImageElement::imageSourceAttributeName):
1696 (WebCore::WMLImageElement::altText):
1697 * wml/WMLImageElement.h: Added.
1698 (WebCore::WMLImageElement::useFallbackAttribute):
1699 (WebCore::WMLImageElement::setUseFallbackAttribute):
1700 * wml/WMLImageLoader.cpp: Added.
1701 (WebCore::WMLImageLoader::WMLImageLoader):
1702 (WebCore::WMLImageLoader::~WMLImageLoader):
1703 (WebCore::WMLImageLoader::dispatchLoadEvent):
1704 (WebCore::WMLImageLoader::sourceURI):
1705 (WebCore::WMLImageLoader::notifyFinished):
1706 * wml/WMLImageLoader.h: Added.
1707 * wml/WMLTagNames.in:
1708
zecke@webkit.orgdfeac1a2008-12-12 00:37:00 +000017092008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
1710
1711 Reviewed by Darin Adler.
1712
1713 https://bugs.webkit.org/show_bug.cgi?id=22043
1714
1715 Do not run into the WebCore::DocumentLoader::updateLoading
1716 ASSERT on Gtk+/CURL when trying to load tests from our LayoutTests.
1717
1718 Do not call setPrimaryLoadComplete when the
1719 activeDocumentLoader has already been replaced. This can happen
1720 when a script executed from within FramerLoader::didFinishLoading will
1721 navigate to another URL.
1722
1723 The assertion is caused by existing tests (e.g.
1724 fast/history/clicked-link-is-visited.html) reproducing this with
1725 network backends not equal to curl is tough or maybe not
1726 even possible.
1727
1728 * loader/DocumentLoader.cpp:
1729 (WebCore::DocumentLoader::setPrimaryLoadComplete):
1730
zimmermann@webkit.orgfcd8b3c2008-12-11 23:42:12 +000017312008-12-11 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1732
1733 Reviewed by Eric Seidel.
1734
1735 - Remove some dead, commented-out code from WMLAElement.
1736 - Add missing virtual destructor for <noop>, as suggested by Alexey.
1737 - Refactor addHTMLAlignment in a static helper function to share with WML.
1738
1739 * html/HTMLElement.cpp:
1740 (WebCore::HTMLElement::addHTMLAlignment):
1741 (WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
1742 * html/HTMLElement.h:
1743 * wml/WMLAElement.cpp:
1744 (WebCore::WMLAElement::defaultEventHandler):
1745 * wml/WMLNoopElement.cpp:
1746 (WebCore::WMLNoopElement::~WMLNoopElement):
1747 * wml/WMLNoopElement.h:
1748
oliver@apple.com8f7b5da2008-12-11 22:33:51 +000017492008-12-10 Oliver Hunt <oliver@apple.com>
1750
1751 Reviewed by Adele Peterson.
1752
1753 <rdar://problem/6302405> Crash (null-deref) when using :before pseudoselector with content CSS rule in SVG
1754 <https://bugs.webkit.org/show_bug.cgi?id=22804>
1755
1756 This issue was caused by css generated content resulting in non-svg flowboxes
1757 being injected into SVG content. As SVG spec does not describe behaviour in
1758 this case, and neither Opera nor Firefox displays such generated content, so
1759 now we make svg text layout and rendering just ignore any such content.
1760
1761 Test: svg/css/crash-css-generated-content.xhtml
1762
1763 * rendering/SVGRootInlineBox.cpp:
1764 (WebCore::SVGRootInlineBox::buildLayoutInformation):
1765 (WebCore::SVGRootInlineBox::layoutInlineBoxes):
1766 (WebCore::SVGRootInlineBox::buildTextChunks):
1767
cwzwarich@webkit.orgd96b94e2008-12-11 21:56:07 +000017682008-12-11 Cameron Zwarich <zwarich@apple.com>
1769
1770 Reviewed by Dave Hyatt.
1771
1772 Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling
1773 <https://bugs.webkit.org/show_bug.cgi?id=21256>
1774 <rdar://problem/6362978>
1775
1776 The ScrollView refactoring in r36906 caused the ScrollView and the
1777 platform widget to disagree about whether optimizing scrolling via
1778 blitting is allowed. The easiest way to fix this is to make ScrollView
1779 simply ask the platform widget whether this is safe on platforms that
1780 are affected.
1781
1782 It is not possible to write a layout test for this bug because it
1783 involves the back/forward cache.
1784
1785 * platform/ScrollView.cpp:
1786 (WebCore::ScrollView::ScrollView):
1787 (WebCore::ScrollView::setCanBlitOnScroll):
1788 (WebCore::ScrollView::canBlitOnScroll):
1789 (WebCore::ScrollView::platformSetCanBlitOnScroll):
1790 (WebCore::ScrollView::platformCanBlitOnScroll):
1791 * platform/ScrollView.h:
1792 * platform/mac/ScrollViewMac.mm:
1793 (WebCore::ScrollView::platformSetCanBlitOnScroll):
1794 (WebCore::ScrollView::platformCanBlitOnScroll):
1795 * platform/wx/ScrollViewWx.cpp:
1796 (WebCore::ScrollView::platformSetCanBlitOnScroll):
1797 (WebCore::ScrollView::platformCanBlitOnScroll):
1798
zecke@webkit.org939645a2008-12-11 19:16:20 +000017992008-12-11 Brent Fulgham <bfulgham@gmail.com>
1800
1801 Reviewed by Adam Roben.
1802
1803 https://bugs.webkit.org/show_bug.cgi?id=22808
1804
1805 Correct build break due to malformed XML in Visual Studio project
1806 following @r39205 change.
1807
1808 * WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads.
1809
cmarrin@apple.comeff4ef92008-12-11 16:24:32 +000018102008-12-10 Chris Marrin <cmarrin@apple.com>
1811
1812 Reviewed by Dave Hyatt.
1813
1814 Fixed https://bugs.webkit.org/show_bug.cgi?id=22738
1815
1816 This gets rid of the per-animation timers which were used when an animation
1817 started, ended and looped. Their job is now done by the main AnimationController's
1818 timer. It is now set to fire as needed. For instance, if there is a delay, it will
1819 fire after the delay time and then every 30ms to run the animation. The start, loop
1820 and end events are generated as needed during the firing of this timer.
1821
1822 I had to add one more bit of code. When animation timers used to fire the animation events.
1823 This would always happen from the RunLoop, so any style changes that happened in the
1824 event handler would get picked up on the next updateRendering() call. But now the start
1825 event is generated during the styleIsAvailable() call, which is in the middle of the
1826 updateRendering() cycle. And calling an event handler in the middle of updateRendering()
1827 is not allowed and causes style changes to get missed. We already have a mechanism in
1828 AnimationController to defer updateRendering() calls. So I added logic to defer all
1829 event handling to there. Now, I put any request for event handling into a list and ask
1830 for a deferred updateRendering() call. When that deferred timer fires, I go through that
1831 list, send all the events and then call updateRendering().
1832
1833 * page/animation/AnimationBase.cpp:
1834 (WebCore::AnimationBase::AnimationBase):
1835 (WebCore::AnimationBase::updateStateMachine):
1836 (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
1837 (WebCore::AnimationBase::willNeedService):
1838 (WebCore::AnimationBase::goIntoEndingOrLoopingState):
1839 * page/animation/AnimationBase.h:
1840 * page/animation/AnimationController.cpp:
1841 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1842 (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
1843 (WebCore::AnimationControllerPrivate::addEventToDispatch):
1844 (WebCore::AnimationControllerPrivate::animationTimerFired):
1845 (WebCore::AnimationController::addEventToDispatch):
1846 * page/animation/AnimationController.h:
1847 * page/animation/CompositeAnimation.cpp:
1848 (WebCore::CompositeAnimationPrivate::updateTransitions):
1849 (WebCore::CompositeAnimationPrivate::willNeedService):
1850 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
1851 (WebCore::CompositeAnimation::willNeedService):
1852 (WebCore::CompositeAnimation::getAnimationForProperty):
1853 * page/animation/CompositeAnimation.h:
1854 * page/animation/ImplicitAnimation.cpp:
1855 (WebCore::ImplicitAnimation::animate):
1856 (WebCore::ImplicitAnimation::onAnimationEnd):
1857 (WebCore::ImplicitAnimation::sendTransitionEvent):
1858 * page/animation/ImplicitAnimation.h:
1859 * page/animation/KeyframeAnimation.cpp:
1860 (WebCore::KeyframeAnimation::animate):
1861 (WebCore::KeyframeAnimation::sendAnimationEvent):
1862 * page/animation/KeyframeAnimation.h:
1863 (WebCore::KeyframeAnimation::setUnanimatedStyle):
1864
hausmann@webkit.orgb6758982008-12-11 15:45:47 +000018652008-12-11 Simon Hausmann <simon.hausmann@nokia.com>
1866
1867 Fix the Qt build with an empty filenameExtension() implementation.
1868
1869 * platform/graphics/qt/ImageSourceQt.cpp:
1870 (WebCore::ImageSource::filenameExtension):
1871
zecke@webkit.org552528d2008-12-11 15:03:43 +000018722008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
1873
1874 Reviewed by Simon Hausmann.
1875
1876 Fix crash in the cairo implementation of the SVGPaintServer
1877
1878 For SVGFonts the RenderObject can be zero. The existing SVGFont
1879 test cases is exposing this bug. Qt and other ports have fixed
1880 this issue by adding null checks as well.
1881
1882 * svg/graphics/cairo/SVGPaintServerCairo.cpp:
1883 (WebCore::SVGPaintServer::renderPath):
1884
zecke@webkit.org9f5417c2008-12-11 14:14:46 +000018852008-12-11 Holger Freyther <zecke@selfish.org>
1886
1887 Reviewed by Simon Hausmann.
1888
1889 https://bugs.webkit.org/show_bug.cgi?id=20953
1890
zecke@webkit.orgefadb5b2008-12-11 14:46:52 +00001891 Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font
1892 handling. FontQt.cpp from now on is only implementing the complex path. Create
1893 FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within
1894 the framework set by the Font code.
1895
1896 Sharing the Font.cpp implementation allows the Qt port to support
1897 the CSS font faces and SVG fonts.
1898
1899 Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more
1900 easily deprecate it.
1901
1902 This commit is removing a lot of #ifdefs from Font.h as the Qt Font
1903 implementation is now in line with the rest of WebCore.
1904
1905 * WebCore.pro:
1906 * platform/graphics/Font.h: Remove #ifdefs
1907 (WebCore::Font::letterSpacing):
1908 (WebCore::Font::setLetterSpacing):
1909 (WebCore::Font::isPlatformFont):
1910 * platform/graphics/FontFallbackList.h:
1911 * platform/graphics/SimpleFontData.cpp:
1912 (WebCore::SimpleFontData::SimpleFontData):
1913 (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache
1914 on Qt, move the initialisation over.
1915 (WebCore::SimpleFontData::~SimpleFontData):
1916 * platform/graphics/SimpleFontData.h:
1917 (WebCore::SimpleFontData::getQtFont):
1918 * platform/graphics/qt/FontCacheQt.cpp:
1919 (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter
1920 (WebCore::FontCache::releaseFontData): Add to build
1921 * platform/graphics/qt/FontCustomPlatformData.cpp:
1922 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1923 (WebCore::FontCustomPlatformData::fontPlatformData):
1924 (WebCore::createFontCustomPlatformData):
1925 * platform/graphics/qt/FontCustomPlatformData.h:
1926 * platform/graphics/qt/FontFallbackListQt.cpp: Added.
1927 (WebCore::FontFallbackList::FontFallbackList):
1928 (WebCore::FontFallbackList::invalidate):
1929 (WebCore::FontFallbackList::releaseFontData):
1930 (WebCore::FontFallbackList::determinePitch):
1931 (WebCore::FontFallbackList::fontDataAt):
1932 (WebCore::FontFallbackList::fontDataForCharacters):
1933 (WebCore::FontFallbackList::setPlatformFont):
1934 * platform/graphics/qt/FontPlatformData.h:
1935 (WebCore::FontPlatformData::font):
1936 (WebCore::FontPlatformData::size):
1937 * platform/graphics/qt/FontPlatformDataQt.cpp: Added.
1938 (WebCore::FontPlatformData::FontPlatformData):
1939 * platform/graphics/qt/FontQt.cpp:
1940 (WebCore::Font::drawComplexText):
1941 (WebCore::Font::floatWidthForComplexText):
1942 (WebCore::Font::offsetForPositionForComplexText):
1943 (WebCore::Font::selectionRectForComplexText):
1944 (WebCore::Font::font):
1945 * platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp
1946 (WebCore::Font::drawComplexText):
1947 (WebCore::Font::floatWidthForComplexText):
1948 (WebCore::Font::offsetForPositionForComplexText):
1949 (WebCore::Font::selectionRectForComplexText):
1950 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
1951 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
1952 (WebCore::GlyphPageTreeNode::pruneTreeFontData):
1953 * platform/graphics/qt/SimpleFontDataQt.cpp:
1954 (WebCore::SimpleFontData::determinePitch):
1955 (WebCore::SimpleFontData::containsCharacters):
1956 (WebCore::SimpleFontData::platformInit):
1957 (WebCore::SimpleFontData::platformGlyphInit):
1958 (WebCore::SimpleFontData::platformDestroy):
1959 * platform/qt/RenderThemeQt.cpp:
1960 (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes.
1961
19622008-12-11 Holger Freyther <zecke@selfish.org>
1963
1964 Reviewed by Simon Hausmann.
1965
1966 https://bugs.webkit.org/show_bug.cgi?id=20953
1967
zecke@webkit.org9f5417c2008-12-11 14:14:46 +00001968 For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
1969 implementation. This is one of the reasons why the Qt port is currently not
1970 using WebCore/platform/graphics/Font.cpp. By allowing to not use
1971 the simple/fast-path the Qt port will be able to use it.
1972
1973 Introduce USE(FONT_FAST_PATH) and define it for every port but the
1974 Qt one.
1975
1976 * platform/graphics/Font.cpp:
1977 (WebCore::Font::drawText):
1978 (WebCore::Font::floatWidth):
1979 (WebCore::Font::selectionRectForText):
1980 (WebCore::Font::offsetForPosition):
1981 * platform/graphics/Font.h:
1982
zecke@webkit.orge6ede5b2008-12-11 11:18:46 +000019832008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
1984
1985 Reviewed by Darin Adler.
1986
1987 https://bugs.webkit.org/show_bug.cgi?id=20953
1988
1989 Split out the font fast path from Fast.cpp into FontFastPath.cpp. This
1990 will allow the Qt port to share most of WebCore::Font
1991 implementation but the fast path. Qt does not provide the API to get
1992 individual Glyphs making the fast path hard to support.
1993
1994
1995 * GNUmakefile.am:
1996 * WebCore.vcproj/WebCore.vcproj:
1997 * WebCore.xcodeproj/project.pbxproj:
1998 * WebCoreSources.bkl:
1999 * platform/graphics/Font.cpp:
2000 * platform/graphics/FontFastPath.cpp: Added.
2001 (WebCore::Font::glyphDataForCharacter):
2002
zecke@webkit.orge27e3242008-12-11 10:22:40 +000020032008-12-11 Robert Carr <racarr@svn.gnome.org>
2004
2005 Reviewed by Holger Freyther.
2006
2007 https://bugs.webkit.org/show_bug.cgi?id=22560
2008
2009 Code in PlatformScreenGtk for screenDepth and screenRect can not
2010 assume that the platformWindow for the widget has a valid "window"
2011 member. For example in the case of, a new browser view opening as a
2012 child of a GtkNotebook, but never being switched to, or manually
2013 realized. Solve by using the toplevel window of the widget, rather
2014 than the widget itself.
2015
2016 * platform/gtk/PlatformScreenGtk.cpp:
2017 (WebCore::screenDepth):
2018 (WebCore::screenRect):
2019
vestbo@webkit.org70da8f02008-12-11 10:09:50 +000020202008-12-08 Tor Arne Vestbø <tavestbo@trolltech.com>
2021
2022 Reviewed by Darin Adler and Holger Freyther.
2023
2024 Make Widget::frameRectsChanged() and overrides non-const
2025
2026 This will hopefully allow us to get rid of some of the mutables in
2027 the classes that react to the callback by changing their own state.
2028
2029 * platform/ScrollView.cpp:
2030 (WebCore::ScrollView::frameRectsChanged):
2031 * platform/ScrollView.h:
2032 * platform/Widget.h:
2033 (WebCore::Widget::frameRectsChanged):
2034 * platform/gtk/ScrollbarGtk.cpp: Remove non-const version since
2035 this was more complex and did the same thing, changed const of
2036 the leftover frameRectsChanged() method.
2037 (ScrollbarGtk::frameRectsChanged):
2038 * platform/gtk/ScrollbarGtk.h:
2039 * plugins/PluginView.cpp:
2040 (WebCore::PluginView::frameRectsChanged):
2041 * plugins/PluginView.h:
2042
zecke@webkit.orga01855a2008-12-11 10:03:28 +000020432008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
2044
2045 Reviewed and implemented with Tor Arne Vestbø.
2046
2047 Reimplement RenderTheme::caretBlinkInterval for Qt.
2048
2049 The QApplication::cursorFlashTime is in milliseconds and describes
2050 the whole cycle while WebCore expects half a cycle.
2051
2052 * platform/qt/RenderThemeQt.cpp:
2053 (WebCore::RenderThemeQt::caretBlinkInterval):
2054 * platform/qt/RenderThemeQt.h:
2055
vestbo@webkit.org7551f1e2008-12-11 08:27:10 +000020562008-12-09 Trenton Schulz <trenton.schulz@nokia.com>
2057
2058 Reviewed by Tor Arne Vestbø.
2059
2060 [Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better
2061
2062 * plugins/mac/PluginViewMac.cpp:
2063 (WebCore::tigerOrBetter):
2064 (WebCore::PluginView::globalMousePosForPlugin):
2065
zimmermann@webkit.org96f2b552008-12-11 02:34:51 +000020662008-12-10 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2067
2068 Reviewed by Eric Seidel and George Staikos.
2069
2070 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22799
2071
2072 Add WML <template> support. The <template> element is specified at deck-level
2073 and declares a template for all <card> elements in the document.
2074
2075 * GNUmakefile.am:
2076 * WebCore.vcproj/WebCore.vcproj:
2077 * WebCore.xcodeproj/project.pbxproj:
2078 * editing/htmlediting.cpp:
2079 (WebCore::canHaveChildrenForEditing): Treat <do> just like a <button>.
2080 * wml/WMLCardElement.cpp:
2081 (WebCore::WMLCardElement::WMLCardElement):
2082 (WebCore::WMLCardElement::setTemplateElement):
2083 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
2084 (WebCore::WMLCardElement::handleDeckLevelTaskOverridesIfNeeded):
2085 * wml/WMLCardElement.h:
2086 (WebCore::WMLCardElement::templateElement):
2087 * wml/WMLDoElement.cpp:
2088 (WebCore::WMLDoElement::insertedIntoDocument):
2089 * wml/WMLDocument.cpp:
2090 (WebCore::WMLDocument::finishedParsing):
2091 * wml/WMLErrorHandling.cpp:
2092 (WebCore::errorMessageForErrorCode):
2093 * wml/WMLErrorHandling.h:
2094 (WebCore::):
2095 * wml/WMLEventHandlingElement.cpp:
2096 (WebCore::WMLEventHandlingElement::~WMLEventHandlingElement):
2097 * wml/WMLEventHandlingElement.h:
2098 (WebCore::WMLEventHandlingElement::doElements):
2099 * wml/WMLTagNames.in:
2100 * wml/WMLTemplateElement.cpp: Added.
2101 (WebCore::WMLTemplateElement::WMLTemplateElement):
2102 (WebCore::WMLTemplateElement::~WMLTemplateElement):
2103 (WebCore::WMLTemplateElement::parseMappedAttribute):
2104 (WebCore::WMLTemplateElement::registerTemplatesInDocument):
2105 * wml/WMLTemplateElement.h: Added.
2106 * wml/WMLTimerElement.cpp:
2107 (WebCore::WMLTimerElement::timerFired):
2108
oliver@apple.com94408062008-12-11 02:14:04 +000021092008-12-09 Dmitry Titov <dimich@chromium.org>
2110
2111 Reviewed by Darin Adler.
2112
2113 Fix memory leak - need to call stopActiveDOMObjects
2114 when cached pages get destroyed.
2115 https://bugs.webkit.org/show_bug.cgi?id=22753
2116
2117 * dom/Document.cpp:
2118 (WebCore::Document::detach):
2119
alice.liu@apple.comc4084312008-12-10 23:57:53 +000021202008-12-10 Alice Liu <alice.liu@apple.com>
2121
alice.liu@apple.com417e0022008-12-11 00:00:16 +00002122 Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685
2123
2124 Reviewed by Darin Adler.
2125
2126 * manual-tests/drag-image-to-desktop.html: Added.
2127
21282008-12-10 Alice Liu <alice.liu@apple.com>
2129
alice.liu@apple.comc4084312008-12-10 23:57:53 +00002130 fixed https://bugs.webkit.org/show_bug.cgi?id=20685
2131
2132 Reviewed by Darin Adler.
2133
2134 Manual test case is manual-tests/drag-image-to-desktop.html
2135
2136 Added new files to projects
2137 * WebCore.vcproj/WebCore.vcproj:
2138 * WebCore.xcodeproj/project.pbxproj:
2139
2140 * page/DragController.cpp:
2141 (WebCore::DragController::startDrag):
2142 * platform/MIMETypeRegistry.cpp:
2143 (WebCore::initializeSupportedImageMIMETypes):
2144 (WebCore::initializeSupportedImageMIMETypesForEncoding):
2145
2146 These changes add a method to obtain the extension for an image
2147 * platform/graphics/BitmapImage.cpp:
2148 (WebCore::BitmapImage::filenameExtension):
2149 * platform/graphics/BitmapImage.h:
2150 * platform/graphics/Image.h:
2151 (WebCore::Image::filenameExtension):
2152 * platform/graphics/ImageSource.h:
2153 * platform/graphics/cairo/ImageSourceCairo.cpp:
2154 (WebCore::ImageSource::filenameExtension):
2155 * platform/graphics/cg/ImageSourceCG.cpp:
2156 (WebCore::ImageSource::filenameExtension):
2157
2158 These changes added a utility that returns the preferred extension for a UTI
2159 * platform/graphics/cg/ImageSourceCG.h: Added.
2160 * platform/graphics/cg/ImageSourceCGMac.mm: Added.
2161 (WebCore::MIMETypeForImageSourceType):
2162 (WebCore::preferredExtensionForImageSourceType):
2163 * platform/graphics/cg/ImageSourceCGWin.cpp: Added.
2164 (WebCore::MIMETypeForImageSourceType):
2165 (WebCore::preferredExtensionForImageSourceType):
2166
2167 * platform/mac/MIMETypeRegistryMac.mm:
2168 moved getMIMETypeForUTI to ImageSourceCGMac.mm
2169
2170 Ask image for its file extension instead of relying on MIME type and file path
2171 * platform/win/ClipboardWin.cpp:
2172 (WebCore::createGlobalImageFileDescriptor):
2173
2174 Remove extraneous code from getPreferredExtensionForMIMEType.
2175 Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp
2176 * platform/win/MIMETypeRegistryWin.cpp:
2177 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
2178
simon.fraser@apple.com9aa54fb2008-12-10 20:03:47 +000021792008-12-10 Simon Fraser <simon.fraser@apple.com>
2180
simon.fraser@apple.comd0cc41d2008-12-11 01:55:06 +00002181 Reviewed by Antti Koivisto
2182
2183 <rdar://problem/6431224>
2184
2185 When updating the value of a slider, don't mark the parents
2186 as needing layout, because the size of the slider can never
2187 change. This fixes full-page repaints in some cases.
2188
2189 * rendering/RenderSlider.cpp:
2190 (WebCore::RenderSlider::updateFromElement):
2191
21922008-12-10 Simon Fraser <simon.fraser@apple.com>
2193
simon.fraser@apple.com3be3eab2008-12-10 20:57:09 +00002194 Potential build fix. The forward declaration of FloatPoint should
2195 be inside the WebCore namespace.
2196
2197 * platform/graphics/FloatPoint3D.h:
2198
21992008-12-10 Simon Fraser <simon.fraser@apple.com>
2200
darin@apple.combdf4c442008-12-15 02:13:51 +00002201 Reviewed by Sam Weinig.
simon.fraser@apple.com9aa54fb2008-12-10 20:03:47 +00002202
2203 https://bugs.webkit.org/show_bug.cgi?id=22793
2204
2205 Cleanup FloatPoint3D: inline the getters and setters,
2206 fix a potential divide-by-zero in normalize(), and add
2207 a FloatPoint constructor.
2208
2209 * platform/graphics/FloatPoint3D.cpp:
2210 (WebCore::FloatPoint3D::FloatPoint3D):
2211 (WebCore::FloatPoint3D::normalize):
2212 * platform/graphics/FloatPoint3D.h:
2213 (WebCore::FloatPoint3D::x):
2214 (WebCore::FloatPoint3D::setX):
2215 (WebCore::FloatPoint3D::y):
2216 (WebCore::FloatPoint3D::setY):
2217 (WebCore::FloatPoint3D::z):
2218 (WebCore::FloatPoint3D::setZ):
2219
jchaffraix@webkit.orgade1c042008-12-10 19:18:58 +000022202008-12-09 Julien Chaffraix <jchaffraix@webkit.org>
2221
2222 Reviewed by Eric Seidel.
2223
2224 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
2225 https://bugs.webkit.org/show_bug.cgi?id=22665
2226
2227 - Removed setCreatedByParser from style and link elements.
2228
2229 - Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
2230
2231 * dom/XMLTokenizer.cpp:
2232 * dom/XMLTokenizer.h:
2233 * dom/XMLTokenizerLibxml2.cpp:
2234 (WebCore::XMLTokenizer::startElementNs):
2235 * dom/XMLTokenizerQt.cpp:
2236 (WebCore::XMLTokenizer::parseStartElement):
2237 * html/HTMLElementFactory.cpp:
2238 (WebCore::linkConstructor):
2239 (WebCore::styleConstructor):
2240 * html/HTMLLinkElement.cpp:
2241 (WebCore::HTMLLinkElement::HTMLLinkElement):
2242 * html/HTMLLinkElement.h:
2243 * html/HTMLStyleElement.cpp:
2244 (WebCore::HTMLStyleElement::HTMLStyleElement):
2245 * html/HTMLStyleElement.h:
2246 * html/HTMLTagNames.in:
2247 * svg/SVGStyleElement.cpp:
2248 (WebCore::SVGStyleElement::SVGStyleElement):
2249 * svg/SVGStyleElement.h:
2250 * svg/svgtags.in:
2251
beidson@apple.comeff9da52008-12-10 18:37:32 +000022522008-12-10 Brady Eidson <beidson@apple.com>
2253
2254 Reviewed by Darin
2255
2256 https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
2257 Dialog when going back to a page from whence you submitted a form
2258
2259 http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
2260 http requests, which caused the networking layer to have an incomplete set of headers
2261 just before consulting the Policy Delegate. This caused a cache miss and incorrectly made
2262 us believe we'd be resubmitting the form.
2263
2264 * loader/FrameLoader.cpp:
2265 (WebCore::FrameLoader::loadItem): Being careful to maintain the new behavior required by
2266 the Origin header mechanism as discussed in bug 22194, restore the previous behavior of
2267 setting all the headers before the networking layer is asked about the cache lookup.
2268
darin@chromium.org829adae2008-12-10 18:27:22 +000022692008-12-10 Dimitri Glazkov <dglazkov@chromium.org>
2270
2271 Reviewed by Timothy Hatcher.
2272
2273 Add back ability to end all profiling via console by invoking profileEnd
2274 with no arguments.
2275
2276 * page/Console.cpp:
2277 (WebCore::Console::profileEnd): Removed title null-checking and
2278 subsequent early exit.
2279
pol@apple.comf32ea112008-12-10 18:00:55 +000022802008-12-10 Pierre-Olivier Latour <pol@apple.com>
2281
2282 Reviewed by Darin Adler.
2283
2284 KeyframeAnimation::animate() needs to compute the elapsed animation time
2285 properly taking into account its paused state.
2286
2287 https://bugs.webkit.org/show_bug.cgi?id=22773
2288
2289 Test: animations/animation-drt-api-multiple-keyframes.html
2290
2291 * page/animation/KeyframeAnimation.cpp:
2292 (WebCore::KeyframeAnimation::animate):
2293
simon.fraser@apple.com19c26902008-12-10 17:18:12 +000022942008-12-10 Simon Fraser <simon.fraser@apple.com>
2295
2296 Reviewed by Dan Bernstein
2297
2298 Part of
2299 https://bugs.webkit.org/show_bug.cgi?id=22570
2300
2301 Rename methods on RenderLayer for clarity:
2302 clearClipRects -> clearClipRectsIncludingDescendants
2303 clearClipRect -> clearClipRects
2304
2305 * rendering/RenderBox.cpp:
2306 (WebCore::RenderBox::destroy):
2307 * rendering/RenderLayer.cpp:
2308 (WebCore::RenderLayer::updateLayerPosition):
2309 (WebCore::RenderLayer::removeOnlyThisLayer):
2310 (WebCore::RenderLayer::insertOnlyThisLayer):
2311 (WebCore::RenderLayer::clearClipRectsIncludingDescendants):
2312 (WebCore::RenderLayer::clearClipRects):
2313 * rendering/RenderLayer.h:
2314 * rendering/RenderObject.cpp:
2315 (WebCore::RenderObject::styleWillChange):
2316 * rendering/RenderWidget.cpp:
2317 (WebCore::RenderWidget::destroy):
2318
kevino@webkit.orgddbbc5e2008-12-10 17:06:15 +000023192008-12-10 Kevin Ollivier <kevino@theolliviers.com>
2320
2321 wx build fix after the script call stack/frame additions.
2322
2323 * WebCoreSources.bkl:
2324
zecke@webkit.orgb50d1262008-12-10 16:35:41 +000023252008-12-10 Srinivasa Rao M. Hamse <msrinirao@gmail.com>
2326
2327 Reviewed by Holger Freyther.
2328
2329 F1-F12 key mappings for WebKit Gtk Port
2330
2331 * platform/gtk/KeyEventGtk.cpp:
2332 (WebCore::windowsKeyCodeForKeyEvent):
2333
hausmann@webkit.orgb627d662008-12-10 16:06:43 +000023342008-12-10 Enrico Ros <enrico.ros@m31.com>
2335
2336 Reviewed by Simon Hausmann.
2337
2338 Fix the Qt build when SVG is disabled. A broken dependancy caused
2339 unnecessary rebuilds even with no changes.
2340
2341 * WebCore.pro: fix a broken build dependancy
2342
ap@webkit.orgee2987b2008-12-10 12:49:56 +000023432008-12-10 Hironori Bono <hbono@chromium.org>
2344
2345 Reviewed by Alexey Proskuryakov.
2346
2347 Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
2348 https://bugs.webkit.org/show_bug.cgi?id=21820
2349
2350 <rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
2351 <rdar://problem/5702038> Backspace removes Thai Character in wrong sequence
2352
2353 Tests: editing/deleting/delete-ligature-001.html
2354 editing/deleting/delete-ligature-002.html
2355 editing/deleting/delete-ligature-003.html
2356
2357 * editing/TypingCommand.cpp:
2358 (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character
2359 of a ligature which consists of multiple Unicode characters when deleting it with
2360 a backspace key.
2361
ap@webkit.orgb38f2062008-12-10 12:23:36 +000023622008-12-10 David Levin <levin@chromium.org>
2363
2364 Reviewed by Alexey Proskuryakov.
2365
2366 https://bugs.webkit.org/show_bug.cgi?id=22177
2367 Fix the windows build by removing calls to notifyFormStateChanged
2368 where they didn't appear in the original reviewed patch.
2369
2370 * html/HTMLInputElement.cpp:
2371 (WebCore::HTMLInputElement::type):
2372 (WebCore::HTMLInputElement::attach):
2373
abarth@webkit.org24d63ef2008-12-10 06:48:36 +000023742008-12-09 Adam Barth <abarth@webkit.org>
2375
2376 Reviewed by Sam Weinig.
2377
2378 Add ScriptController::updateSecurityOrigin to notify the bindings
2379 that a document's securityOrigin has been updated. This is used by
2380 V8 to update its security context.
2381
2382 * bindings/js/ScriptController.cpp:
2383 (WebCore::ScriptController::updateSecurityOrigin):
2384 * bindings/js/ScriptController.h:
2385 * dom/Document.cpp:
2386 (WebCore::Document::setDomain):
2387
eric@webkit.org610eca92008-12-10 00:11:46 +000023882008-12-09 Eric Seidel <eric@webkit.org>
2389
2390 No review, build fix only.
2391
2392 Fix a few config issues to let the Chromium Windows WebCore build get further.
2393
2394 * WebCore.scons:
2395
brettw@chromium.org2ffc58e2008-12-10 00:01:39 +000023962008-12-09 Brett Wilson <brettw@chromium.org>
2397
2398 Reviewed by Dave Hyatt.
2399
2400 https://bugs.webkit.org/show_bug.cgi?id=22177
2401
2402 Add a callback on ChromeClient that the state of form elements on
2403 the page has changed. This is to allow clients implementing session
2404 saving to know when the current state is dirty.
2405
2406 * html/HTMLInputElement.cpp:
2407 (WebCore::notifyFormStateChanged):
2408 (WebCore::HTMLInputElement::setInputType):
2409 (WebCore::HTMLInputElement::type):
2410 (WebCore::HTMLInputElement::attach):
2411 (WebCore::HTMLInputElement::setValue):
2412 (WebCore::HTMLInputElement::setValueFromRenderer):
2413 (WebCore::HTMLInputElement::setFileListFromRenderer):
2414 * html/HTMLSelectElement.cpp:
2415 (WebCore::HTMLSelectElement::setSelectedIndex):
2416 * html/HTMLTextAreaElement.cpp:
2417 (WebCore::notifyFormStateChanged):
2418 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
2419 (WebCore::HTMLTextAreaElement::updateValue):
2420 (WebCore::HTMLTextAreaElement::setValue):
2421 * loader/EmptyClients.h:
2422 (WebCore::EmptyChromeClient::formStateDidChange):
2423 * page/ChromeClient.h:
2424
weinig@apple.com0cde6af2008-12-09 23:36:39 +000024252008-12-09 Sam Weinig <sam@webkit.org>
2426
2427 Reviewed by Darin Adler.
2428
ap@webkit.orgcdc38a72008-12-10 07:59:56 +00002429 https://bugs.webkit.org/show_bug.cgi?id=19762
2430
weinig@apple.com0cde6af2008-12-09 23:36:39 +00002431 Fix intermittent crash in buildbot. The CSSCursorImageValues and
2432 SVGCursorElements held onto raw SVGElement pointers without any
2433 guarantee that the element is still around.
2434
2435 We did not fix the design that resulted in this issue, we just fixed
2436 the pointer lifetimes.
2437
2438 * css/CSSCursorImageValue.cpp:
2439 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers.
2440 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer.
2441 (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element
2442 is destroyed.
2443 * css/CSSCursorImageValue.h: Added removeReferencedElement.
2444
2445 * svg/SVGCursorElement.cpp:
2446 (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers.
2447 (WebCore::SVGCursorElement::addClient): Set up a back pointer.
2448 (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
2449
2450 * svg/SVGElement.cpp:
2451 (WebCore::SVGElement::SVGElement): Initialize back pointers to zero.
2452 (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value
2453 to remove the element from their sets.
2454 * svg/SVGElement.h:
2455 (WebCore::SVGElement::setCursorElement): Added.
2456 (WebCore::SVGElement::setCursorImageValue): Added.
2457
hyatt@apple.comfdd9eed2008-12-09 22:36:10 +000024582008-12-09 David Hyatt <hyatt@apple.com>
2459
2460 Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
2461 frame/iframe. If any of them set a custom style, it will be used. The scrollbars do not update dynamically
2462 yet as you switch from page to page (until they are destroyed and recreated).
2463
2464 Reviewed by Adele
2465
2466 * page/FrameView.cpp:
2467 (WebCore::FrameView::createScrollbar):
2468
darin@chromium.orge040ff22008-12-09 21:46:03 +000024692008-12-09 Ojan Vafai <ojan@chromium.org>
2470
2471 Reviewed by Dave Hyatt.
2472
2473 https://bugs.webkit.org/show_bug.cgi?id=22689
2474 Match Firefox button metrics on Windows.
2475
2476 * rendering/RenderButton.cpp:
2477 (WebCore::RenderButton::addChild):
2478 (WebCore::RenderButton::styleDidChange):
2479 (WebCore::RenderButton::setupInnerStyle):
2480 * rendering/RenderButton.h:
2481 * rendering/RenderTheme.cpp:
2482 (WebCore::RenderTheme::adjustButtonInnerStyle):
2483 * rendering/RenderTheme.h:
2484 * rendering/RenderThemeWin.cpp:
2485 (WebCore::RenderThemeWin::adjustSliderThumbSize):
2486 (WebCore::RenderThemeWin::adjustButtonInnerStyle):
2487 * rendering/RenderThemeWin.h:
2488
darin@chromium.orga4519fd2008-12-09 20:43:56 +000024892008-12-09 Darin Fisher <darin@chromium.org>
2490
2491 Fixes bustages.
2492
2493 https://bugs.webkit.org/show_bug.cgi?id=22631
2494 Adding missing files from previous commit.
2495
2496 * bindings/js/ScriptCallFrame.cpp: Added.
2497 (WebCore::ScriptCallFrame::ScriptCallFrame):
2498 (WebCore::ScriptCallFrame::~ScriptCallFrame):
2499 (WebCore::ScriptCallFrame::argumentAt):
2500 * bindings/js/ScriptCallFrame.h: Added.
2501 (WebCore::ScriptCallFrame::functionName):
2502 (WebCore::ScriptCallFrame::sourceURL):
2503 (WebCore::ScriptCallFrame::lineNumber):
2504 (WebCore::ScriptCallFrame::argumentCount):
2505 * bindings/js/ScriptCallStack.cpp: Added.
2506 (WebCore::ScriptCallStack::ScriptCallStack):
2507 (WebCore::ScriptCallStack::~ScriptCallStack):
2508 (WebCore::ScriptCallStack::at):
2509 (WebCore::ScriptCallStack::size):
2510 (WebCore::ScriptCallStack::initialize):
2511 * bindings/js/ScriptCallStack.h: Added.
2512 (WebCore::ScriptCallStack::state):
2513
darin@chromium.orgc593adc2008-12-09 20:25:33 +000025142008-12-09 Dimitri Glazkov <dglazkov@chromium.org>
2515
2516 Reviewed by Timothy Hatcher.
2517
2518 https://bugs.webkit.org/show_bug.cgi?id=22631
2519 Streamline Console.cpp, abstract out the use of JSC::ExecState and
2520 JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
2521 abstractions.
2522
2523 * GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
2524 * WebCore.pro: Added ScriptCallFrame and ScriptCallStack to build
2525 * WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and
2526 ScriptCallStack to project
2527 * WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and
2528 ScriptCallStack to project
2529 * bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
2530 * bindings/js/ScriptCallFrame.cpp: Added.
2531 (WebCore::ScriptCallFrame::ScriptCallFrame):
2532 (WebCore::ScriptCallFrame::~ScriptCallFrame):
2533 (WebCore::ScriptCallFrame::argumentAt):
2534 * bindings/js/ScriptCallFrame.h: Added.
2535 (WebCore::ScriptCallFrame::functionName):
2536 (WebCore::ScriptCallFrame::sourceURL):
2537 (WebCore::ScriptCallFrame::lineNumber):
2538 (WebCore::ScriptCallFrame::argumentCount):
2539 * bindings/js/ScriptCallStack.cpp: Added.
2540 (WebCore::ScriptCallStack::ScriptCallStack):
2541 (WebCore::ScriptCallStack::~ScriptCallStack):
2542 (WebCore::ScriptCallStack::at):
2543 (WebCore::ScriptCallStack::size):
2544 (WebCore::ScriptCallStack::initialize):
2545 * bindings/js/ScriptCallStack.h: Added.
2546 (WebCore::ScriptCallStack::ScriptCallStack):
2547 (WebCore::ScriptCallStack::~ScriptCallStack):
2548 (WebCore::ScriptCallStack::state):
2549 (WebCore::ScriptCallStack::at):
2550 (WebCore::ScriptCallStack::size):
2551 (WebCore::ScriptCallStack::initialize):
2552 * bindings/js/ScriptString.h: Added missing PlatformString include.
2553 (WebCore::ScriptString::ScriptString): Added default constructor.
2554 (WebCore::ScriptString::operator==): Added equality operator.
2555 (WebCore::ScriptString::operator!=):
2556 * bindings/js/ScriptValue.cpp: Added isNull and isUndefined.
2557 (WebCore::ScriptValue::isNull):
2558 (WebCore::ScriptValue::isUndefined):
2559 * bindings/js/ScriptValue.h: Added isNull and isUndefined
2560 * bindings/scripts/CodeGeneratorJS.pm: Add handling for
2561 CustomArgumentHandling attribute.
2562 * inspector/InspectorController.cpp: Refactored to use
2563 ScriptCallFrame and ScriptCallStack.
2564 (WebCore::ConsoleMessage::ConsoleMessage):
2565 (WebCore::InspectorController::addMessageToConsole):
2566 (WebCore::InspectorController::startGroup):
2567 (WebCore::InspectorController::addScriptConsoleMessage):
2568 (WebCore::InspectorController::count):
2569 (WebCore::InspectorController::startTiming):
2570 (WebCore::InspectorController::stopTiming):
2571 * inspector/InspectorController.h: Refactored to use ScriptCallFrame and
2572 ScriptCallStack.
2573 * inspector/front-end/Console.js: Modified to use argument value itself
2574 rather than f.name for stack trace.
2575 * page/Console.cpp: Refactored to use ScriptCallFrame and
2576 ScriptCallStack.
2577 (WebCore::getFirstArgumentAsString):
2578 (WebCore::Console::addMessage):
2579 (WebCore::Console::debug):
2580 (WebCore::Console::error):
2581 (WebCore::Console::info):
2582 (WebCore::Console::log):
2583 (WebCore::Console::dir):
2584 (WebCore::Console::dirxml):
2585 (WebCore::Console::trace):
2586 (WebCore::Console::assertCondition):
2587 (WebCore::Console::count):
2588 (WebCore::Console::profile):
2589 (WebCore::Console::profileEnd):
2590 (WebCore::Console::time):
2591 (WebCore::Console::timeEnd):
2592 (WebCore::Console::group):
2593 (WebCore::Console::warn):
2594 * page/Console.h:
2595 * page/Console.idl: Removed Custom attributes, added
2596 CustomArgumentHandling attributes, and tweaked argument defs.
2597
darin@apple.comaf61d532008-12-09 18:38:35 +000025982008-12-09 Darin Adler <darin@apple.com>
2599
darin@apple.com5a018f32008-12-09 18:42:41 +00002600 Try to fix non-Mac builds.
2601
2602 * GNUmakefile.am: Added NavigatorBase.
2603 * WebCore.pro: Ditto.
2604 * WebCore.scons: Ditto.
2605 * WebCore.vcproj/WebCore.vcproj: Ditto.
2606 * WebCoreSources.bkl: Ditto.
2607
2608 Unrelated tweak sitting in my tree.
2609
2610 * bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
2611
26122008-12-09 Darin Adler <darin@apple.com>
2613
darin@apple.comaf61d532008-12-09 18:38:35 +00002614 Try to fix Tiger build.
2615
2616 * platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
2617
ap@webkit.orgbf13f522008-12-09 17:58:10 +000026182008-12-09 Alexey Proskuryakov <ap@webkit.org>
2619
2620 Reviewed by Darin Adler.
2621
2622 https://bugs.webkit.org/show_bug.cgi?id=22719
2623 Implement Navigator object in Workers
2624
2625 Test: fast/workers/worker-navigator.html
2626
2627 * DerivedSources.make:
2628 * GNUmakefile.am:
2629 * WebCore.pro:
2630 * WebCore.vcproj/WebCore.vcproj:
2631 * WebCore.xcodeproj/project.pbxproj:
2632 Added WorkerNavigator sources.
2633
2634 * bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator):
2635 Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec,
2636 but it is not the same interface that is available on Windows).
2637
2638 * dom/Worker.cpp:
2639 (WebCore::Worker::notifyFinished):
2640 * dom/WorkerContext.cpp:
2641 (WebCore::WorkerContext::WorkerContext):
2642 (WebCore::WorkerContext::navigator):
2643 * dom/WorkerContext.h:
2644 (WebCore::WorkerContext::create):
2645 * dom/WorkerThread.cpp:
2646 (WebCore::WorkerThread::create):
2647 (WebCore::WorkerThread::WorkerThread):
2648 (WebCore::WorkerThread::workerThread):
2649 * dom/WorkerThread.h:
2650 Pass a pre-computed user agent string into worker, because it cannot call a client method
2651 directly, and pre-computing is easier than sending a synchronous message to the main thread.
2652
2653 * page/Navigator.cpp:
2654 * page/Navigator.h:
2655 * page/NavigatorBase.cpp: Added.
2656 * page/NavigatorBase.h: Added.
2657 Factor out common (and uncommon, but very similar) functionality into a base class.
2658
2659 * page/WorkerNavigator.cpp: Added.
2660 * page/WorkerNavigator.h: Added.
2661 * page/WorkerNavigator.idl: Added.
2662 Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
2663
2664 * platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier):
2665 Make networkStateNotifier() static constructor thread safe. The object is created on the
2666 thread it is first called from, while callbacks are registered on the main thread. Calls to
2667 onLine() from other threads are safe, because it is just loading a boolean.
2668
2669 * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2670 Schedule notifications on main event loop, not the current one.
2671
zimmermann@webkit.org87a2a962008-12-09 14:42:56 +000026722008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2673
zimmermann@webkit.org7dc90742008-12-09 14:50:21 +00002674 Rubber-stamped by Alexey Proskuryakov.
2675
2676 Forgot to update Qt/WML build - add some new files to the build.
2677
2678 * WebCore.pro:
2679
26802008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2681
zimmermann@webkit.org87a2a962008-12-09 14:42:56 +00002682 Reviewed by Alexey Proskuryakov.
2683
2684 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22637
2685
2686 Implement the GET method for WMLGoElement, and some test covering it's behaviour.
2687 Update all build systems supporting WML that haven't been updated since a while.
2688
2689 Add WMLPostField stub implementation, needed for implementing POST method.
2690
2691 Tests: wml/go-task-get-method-external-deck-with-href.html
2692 wml/go-task-get-method-external-deck.html
2693 wml/go-task-get-method-same-deck.html
2694
2695 * GNUmakefile.am:
2696 * WebCore.vcproj/WebCore.vcproj:
2697 * WebCore.xcodeproj/project.pbxproj:
2698 * dom/Document.cpp:
2699 (WebCore::Document::resetWMLPageState):
2700 * wml/WMLCardElement.cpp:
2701 * wml/WMLCardElement.h:
2702 * wml/WMLEventHandlingElement.cpp:
2703 (WebCore::WMLCardElement::registerDoElement):
2704 * wml/WMLEventHandlingElement.h:
2705 * wml/WMLGoElement.cpp:
2706 (WebCore::WMLGoElement::WMLGoElement):
2707 (WebCore::WMLGoElement::registerPostfieldElement):
2708 (WebCore::WMLGoElement::parseMappedAttribute):
2709 (WebCore::WMLGoElement::executeTask):
2710 (WebCore::WMLGoElement::parseContentType):
2711 (WebCore::WMLGoElement::preparePOSTRequest):
2712 (WebCore::WMLGoElement::prepareGETRequest):
2713 * wml/WMLGoElement.h:
2714 * wml/WMLPostfieldElement.cpp: Added.
2715 (WebCore::WMLPostfieldElement::WMLPostfieldElement):
2716 (WebCore::WMLPostfieldElement::parseMappedAttribute):
2717 (WebCore::WMLPostfieldElement::insertedIntoDocument):
2718 * wml/WMLPostfieldElement.h: Added.
2719 (WebCore::WMLPostfieldElement::name):
2720 (WebCore::WMLPostfieldElement::value):
2721 * wml/WMLTagNames.in:
2722
ddkilzer@apple.com97ce0a32008-12-09 14:48:15 +000027232008-12-08 Peter Kasting <pkasting@google.com>
pkasting@chromium.org9343faa2008-12-09 00:35:17 +00002724
2725 Reviewed by Anders Carlsson.
2726
2727 https://bugs.webkit.org/show_bug.cgi?id=16814
2728 Allow ports to disable ActiveX->NPAPI conversion for Media Player.
2729 Improve handling of miscellaneous ActiveX objects.
2730
2731 * rendering/RenderPartObject.cpp:
2732 (WebCore::mapClassIdToServiceType):
2733 (WebCore::shouldUseChildEmbedOfObject):
2734 (WebCore::RenderPartObject::updateWidget):
2735
ddkilzer@apple.com97ce0a32008-12-09 14:48:15 +000027362008-12-08 Darin Adler <darin@apple.com>
darin@apple.com7bcc5182008-12-09 00:15:34 +00002737
2738 Reviewed by John Sullivan.
2739
2740 - fix https://bugs.webkit.org/show_bug.cgi?id=22409
2741 REGRESSION: cmd-shift-left/right don't switch tabs, instead select text
2742
2743 Tests: editing/execCommand/enabling-and-selection-2.html
2744 editing/execCommand/enabling-and-selection.html
2745
2746 * editing/EditorCommand.cpp: Updated table to use these functions by their new names.
2747 (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm.
2748 An invisible selection with a position that selects no characters doesn't count
2749 as a visible selection.
2750 (WebCore::enabledVisibleSelectionAndMark): Ditto.
2751
ddkilzer@apple.com0200234d2008-12-09 00:11:47 +000027522008-12-08 David Kilzer <ddkilzer@apple.com>
2753
2754 Remove duplicate entries from WebCore project.
2755
2756 Reviewed by Eric Seidel.
2757
2758 Bug 22555: Sort "children" sections in Xcode project files.
2759 <https://bugs.webkit.org/show_bug.cgi?id=22555>
2760
2761 Recipe for removing duplicates:
2762 $ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
2763 $ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj
2764
2765 * WebCore.xcodeproj/project.pbxproj: Removed duplicates.
2766
jchaffraix@webkit.org4cc683b2008-12-09 00:06:41 +000027672008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
2768
2769 Reviewed by Darin Adler.
2770
2771 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
2772 https://bugs.webkit.org/show_bug.cgi?id=22665
2773
2774 Remove setCreatedByParser from the script elements (HTML and SVG).
2775
2776 * dom/XMLTokenizer.cpp:
2777 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed
2778 call to setCreatedByParser for the 2 elements.
2779
2780 * dom/make_names.pl: Modified to call the constructor with
2781 the createByParser parameter if 'constructorNeedsCreatedByParser'
2782 is set.
2783
2784 * html/HTMLElementFactory.cpp:
2785 (WebCore::scriptConstructor):
2786 * html/HTMLScriptElement.cpp:
2787 (WebCore::HTMLScriptElement::HTMLScriptElement):
2788 * html/HTMLScriptElement.h:
2789 * html/HTMLTagNames.in: Added constructorNeedsCreatedByParser
2790 to script.
2791 * svg/SVGScriptElement.cpp:
2792 (WebCore::SVGScriptElement::SVGScriptElement):
2793 * svg/SVGScriptElement.h:
2794 * svg/svgtags.in: Added constructorNeedsCreatedByParser
2795 to script.
2796
ddkilzer@apple.com65eae60d2008-12-09 00:01:49 +000027972008-12-08 David Kilzer <ddkilzer@apple.com>
2798
2799 Bug 22555: Sort "children" sections in Xcode project files
2800
2801 <https://bugs.webkit.org/show_bug.cgi?id=22555>
2802
2803 Reviewed by Eric Seidel.
2804
2805 * WebCore.xcodeproj/project.pbxproj: Sorted.
2806 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.
2807
eric@webkit.org26dcf872008-12-08 23:42:25 +000028082008-12-08 Tony Chang <tony@chromium.org>
2809
2810 Reviewed by Eric Seidel.
2811
2812 Add a bool to GraphicsContext so that shadows can ignore
2813 transformations. This is needed by HTML canvas element
2814 where the spec says shadows are applied w/o transformations.
2815 https://bugs.webkit.org/show_bug.cgi?id=22580
2816
2817 No functional changes, thus no tests.
2818
2819 * html/CanvasRenderingContext2D.cpp:
2820 (WebCore::CanvasRenderingContext2D::setShadow):
2821 (WebCore::CanvasRenderingContext2D::applyShadow):
2822 * html/HTMLCanvasElement.cpp:
2823 (WebCore::HTMLCanvasElement::createImageBuffer):
2824 * platform/graphics/GraphicsContext.cpp:
2825 (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
2826 * platform/graphics/GraphicsContext.h:
2827 * platform/graphics/GraphicsContextPrivate.h:
2828 (WebCore::GraphicsContextState::GraphicsContextState):
2829 * platform/graphics/cg/GraphicsContextCG.cpp:
2830 (WebCore::GraphicsContext::setPlatformShadow):
2831
jchaffraix@webkit.org1148b782008-12-08 23:18:20 +000028322008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
2833
2834 Reviewed by Darin Adler.
2835
2836 Bug 17897: Not Rendering Images Imported from XHTML Document
2837 <rdar://problem/5827614>
2838
2839 When we were loading document with XMLHttpRequest that contained images, the images
2840 would not be fetched as they would not be displayed. However if we inserted such
2841 an image element into a rendered document, we would not fetch the image and thus never
2842 display it.
2843
2844 Now we check if the image has been loaded when we insert an HTMLImageElement into a
2845 document.
2846 To enable this, the image loader has an error flag. To avoid doing several attempts
2847 when we know that the image is in error, we store the failed URL.
2848 However Firefox and Opera ignore errors when the 'src' attribute changes and thus
2849 we also have an updateFromElementIgnoringPreviousError to match the other browser.
2850
2851 Tests: http/tests/misc/image-blocked-src-change.html
2852 http/tests/misc/image-blocked-src-no-change.html
2853 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
2854 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html
2855
2856 * html/HTMLEmbedElement.cpp:
2857 (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
2858 * html/HTMLImageElement.cpp:
2859 (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
2860 (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have
2861 an image.
2862
2863 * html/HTMLInputElement.cpp:
2864 (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
2865 * html/HTMLObjectElement.cpp:
2866 (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
2867 * html/HTMLVideoElement.cpp:
2868 (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
2869 * loader/ImageLoader.cpp:
2870 (WebCore::ImageLoader::setImage): Added an assertion.
2871 (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying
2872 multiple errors in the console for a single image load).
2873
2874 (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
2875 before calling updateFromElement.
2876
2877 (WebCore::ImageLoader::notifyFinished): Added an assertion.
2878 * loader/ImageLoader.h:
2879 * svg/SVGImageElement.cpp:
2880 (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.
2881
hyatt@apple.com0f97fcc2008-12-08 22:36:54 +000028822008-12-08 David Hyatt <hyatt@apple.com>
2883
2884 Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
2885 custom CSS scrollbars.
2886
2887 Reviewed by Eric Seidel
2888
2889 * page/FrameView.cpp:
2890 (WebCore::FrameView::createScrollbar):
2891 * page/FrameView.h:
2892 * platform/ScrollView.cpp:
2893 (WebCore::ScrollView::setHasHorizontalScrollbar):
2894 (WebCore::ScrollView::setHasVerticalScrollbar):
2895 (WebCore::ScrollView::createScrollbar):
2896 * platform/ScrollView.h:
2897
mitz@apple.combc843762008-12-08 21:18:11 +000028982008-12-08 Dan Bernstein <mitz@apple.com>
2899
2900 Reviewed by John Sullivan.
2901
2902 - WebCore part of tracking the global history item for a WebView
2903
2904 * loader/FrameLoader.cpp:
2905 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's
2906 global history item to the current back/forward list item, respecting
2907 private browsing mode.
2908 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this
2909 case.
2910 (WebCore::FrameLoader::goToItem): Ditto in this case.
2911 (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load
2912 creates a new global history item, set the page's global history item
2913 to it.
2914 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
2915 Ditto.
2916 * page/Page.cpp:
2917 (WebCore::Page::setGlobalHistoryItem): Added this setter.
2918 * page/Page.h: Added a m_globalHistoryItem data member.
2919 (WebCore::Page::globalHistoryItem): Added this getter.
2920
antti@apple.com7400ebf2008-12-08 19:28:05 +000029212008-12-08 Antti Koivisto <antti@apple.com>
2922
2923 Reviewed by Dave Kilzer.
2924
2925 A few stylistic fixes suggested by Dave Kilzer.
2926
2927 * css/CSSPrimitiveValue.cpp:
2928 (WebCore::CSSPrimitiveValue::createIdentifier):
2929 (WebCore::CSSPrimitiveValue::create):
2930
ap@webkit.org55d2d9a2008-12-08 18:36:39 +000029312008-12-08 Alexey Proskuryakov <ap@webkit.org>
2932
2933 Reviewed by Darin Adler.
2934
2935 https://bugs.webkit.org/show_bug.cgi?id=22737
2936 Try debug version when locating CFNetwork
2937
2938 * platform/network/cf/ResourceRequestCFNet.cpp:
2939 (WebCore::findCFNetworkModule):
2940 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
2941 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
2942 * platform/network/win/CookieJarCFNetWin.cpp:
2943 (WebCore::findCFNetworkModule):
2944 (WebCore::findIsHTTPOnlyFunction):
2945
darin@chromium.org1750e242008-12-08 18:13:25 +000029462008-12-08 Aaron Boodman <aa@chromium.org>
2947
2948 Reviewed by Stephanie Lewis.
2949
2950 https://bugs.webkit.org/show_bug.cgi?id=22301
2951 Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().
2952
2953 * loader/FrameLoader.cpp:
2954 (WebCore::FrameLoader::finishedParsing):
2955
vestbo@webkit.org2c7ba632008-12-08 13:38:51 +000029562008-12-08 Trenton Schulz <trenton.schulz@nokia.com>
2957
2958 Rubber-stamped by Tor Arne Vestbø.
2959
2960 Fix build warning on Mac
2961
2962 * platform/text/mac/StringImplMac.mm:
2963
hausmann@webkit.org8d117712008-12-08 10:42:25 +000029642008-12-08 Simon Hausmann <simon.hausmann@nokia.com>
2965
2966 Fix the Qt build.
2967
2968 * bridge/qt/qt_runtime.cpp:
2969 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData to RegExp
2970 constructor.
2971
oliver@apple.come3860422008-12-08 10:35:33 +000029722008-12-08 Oliver Hunt <oliver@apple.com>
2973
2974 Reviewed by Alexey Proskuryakov.
2975
2976 Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
2977 <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)
2978
2979 This regression was caused by r39059 replacing the protector on the active
2980 animation with a protector on just the composition. It turns out that both
2981 protectors are necessary.
2982
2983 Test: transitions/transition-duration-cleared-in-transitionend-crash.html
2984
2985 * page/animation/AnimationBase.cpp:
2986 (WebCore::AnimationBase::animationTimerCallbackFired):
2987
ap@webkit.org5faf85a2008-12-08 08:54:53 +000029882008-12-08 Dmitry Titov <dimich@chromium.org>
2989
2990 Reviewed by Alexey Proskuryakov.
2991
2992 https://bugs.webkit.org/show_bug.cgi?id=22732
2993 Remove unused files PausedTimeouts.h,.cpp
2994 The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620
2995
2996 * GNUmakefile.am:
2997 * WebCore.pro:
2998 * WebCore.scons:
2999 * WebCore.vcproj/WebCore.vcproj:
3000 * WebCore.xcodeproj/project.pbxproj:
3001 * WebCoreSources.bkl:
3002 These are build files which had PausedTimeouts referenced.
3003
3004 * bindings/js/PausedTimeouts.cpp: Removed.
3005 * bindings/js/PausedTimeouts.h: Removed.
3006 * bindings/js/ScriptController.cpp: Removed '#include'
3007 * page/Chrome.cpp: Removed '#include' and unused variable.
3008
simon.fraser@apple.com04706b42008-12-08 06:58:57 +000030092008-12-07 Simon Fraser <simon.fraser@apple.com>
3010
3011 Reviewed by Dan Bernstein
3012
3013 https://bugs.webkit.org/show_bug.cgi?id=22594
3014
3015 Fix issues which break reading inline style for -webkit-transition
3016 and -webkit-transform-origin.
3017
3018 Test: fast/css/transform-inline-style.html
3019
3020 * css/CSSMutableStyleDeclaration.cpp:
3021 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases
3022 for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition
3023 so that these shorthand properties are returned correctly.
3024 * css/CSSParser.cpp:
3025 (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues
3026 with the correct CSSValueAll and CSSValueNone identifiers, not the
3027 RenderStyle-level cAnimateAll, cAnimateNone.
3028 * css/CSSStyleSelector.cpp:
3029 (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll
3030 and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
3031
antti@apple.com9253ca72008-12-08 01:27:48 +000030322008-12-07 Antti Koivisto <antti@apple.com>
3033
3034 Reviewed by Darin Adler.
3035
3036 https://bugs.webkit.org/show_bug.cgi?id=22717
3037 Make CSS values use less memory
antti@apple.comb87849c2008-12-08 01:29:53 +00003038
3039 Share CSSPrimitiveValue objects for commonly used values including
3040 - idents
3041 - colors
3042 - small integers
3043
3044 This reduces the amount CSSPrimitiveValue instances by > 80%.
3045
3046 * css/CSSPrimitiveValue.cpp:
3047 (WebCore::CSSPrimitiveValue::createIdentifier):
3048 (WebCore::CSSPrimitiveValue::createColor):
3049 (WebCore::CSSPrimitiveValue::create):
3050 * css/CSSPrimitiveValue.h:
3051 (WebCore::CSSPrimitiveValue::create):
3052
30532008-12-07 Antti Koivisto <antti@apple.com>
3054
3055 Reviewed by Darin Adler.
3056
3057 https://bugs.webkit.org/show_bug.cgi?id=22717
3058 Make CSS values use less memory
antti@apple.com9253ca72008-12-08 01:27:48 +00003059
3060 Get CSSValues off from the common StyleBase base class. They don't
3061 need a parent pointer or anything else there and there is no real
3062 reason to have them in same data structures with other CSSOM objects.
3063
3064 Disabled (instead of refactoring around the lack of common base) the ability
3065 to have style declaration blocks as CSS variable values. They don't exist in
3066 the spec so I wasn't sure if they have future or not. It would not be hard to
3067 get them back. CSS variables are in any case an experimental feature and
3068 not enabled by default.
3069
3070 * css/CSSInitialValue.h:
3071 (WebCore::CSSInitialValue::createExplicit):
3072 (WebCore::CSSInitialValue::createImplicit):
3073 * css/CSSParser.cpp:
3074 (WebCore::CSSParser::addVariableDeclarationBlock):
3075 * css/CSSParser.h:
3076 * css/CSSValue.h:
3077 (WebCore::CSSValue::~CSSValue):
3078 (WebCore::CSSValue::parserValue):
3079 * css/CSSVariablesDeclaration.cpp:
3080 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
3081 (WebCore::CSSVariablesDeclaration::getVariableValue):
3082 (WebCore::CSSVariablesDeclaration::removeVariable):
3083 (WebCore::CSSVariablesDeclaration::addParsedVariable):
3084 (WebCore::CSSVariablesDeclaration::getParsedVariable):
3085 (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
3086 * css/CSSVariablesDeclaration.h:
3087 (WebCore::CSSVariablesDeclaration::create):
3088 * css/StyleBase.h:
3089
krit@webkit.orgf5c9d872008-12-07 09:23:17 +000030902008-12-07 Dirk Schulze <krit@webkit.org>
3091
3092 Reviewed by Oliver Hunt.
3093
3094 Add gradient and pattern support for strokeRect on canvas/Cg.
3095
3096 Canvas strokeRect() doesn't support gradients
3097 https://bugs.webkit.org/show_bug.cgi?id=19790
3098
3099 Test: fast/canvas/canvas-strokeRect.html
3100
3101 * platform/graphics/cg/GraphicsContextCG.cpp:
3102 (WebCore::GraphicsContext::strokeRect):
3103
krit@webkit.org76a08292008-12-07 07:48:53 +000031042008-12-06 Dirk Schulze <krit@webkit.org>
3105
3106 Reviewed by Oliver Hunt.
3107
3108 Add support for setTransform() in canvas.
3109
3110 <canvas> lacks transform() and setTransform()
3111 https://bugs.webkit.org/show_bug.cgi?id=16604
3112
3113 Test: fast/canvas/canvas-setTransform.html
3114
3115 * html/CanvasRenderingContext2D.cpp:
3116 (WebCore::CanvasRenderingContext2D::State::State):
3117 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
3118 (WebCore::CanvasRenderingContext2D::setFillStyle):
3119 (WebCore::CanvasRenderingContext2D::scale):
3120 (WebCore::CanvasRenderingContext2D::rotate):
3121 (WebCore::CanvasRenderingContext2D::translate):
3122 (WebCore::CanvasRenderingContext2D::transform):
3123 (WebCore::CanvasRenderingContext2D::setTransform):
3124 (WebCore::CanvasRenderingContext2D::beginPath):
3125 (WebCore::CanvasRenderingContext2D::closePath):
3126 (WebCore::CanvasRenderingContext2D::moveTo):
3127 (WebCore::CanvasRenderingContext2D::lineTo):
3128 (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
3129 (WebCore::CanvasRenderingContext2D::bezierCurveTo):
3130 (WebCore::CanvasRenderingContext2D::arcTo):
3131 (WebCore::CanvasRenderingContext2D::arc):
3132 (WebCore::CanvasRenderingContext2D::rect):
3133 (WebCore::CanvasRenderingContext2D::fill):
3134 (WebCore::CanvasRenderingContext2D::stroke):
3135 (WebCore::CanvasRenderingContext2D::clip):
3136 (WebCore::CanvasRenderingContext2D::isPointInPath):
3137 (WebCore::CanvasRenderingContext2D::clearRect):
3138 (WebCore::CanvasRenderingContext2D::fillRect):
3139 (WebCore::CanvasRenderingContext2D::strokeRect):
3140 (WebCore::CanvasRenderingContext2D::drawImage):
3141 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
3142 (WebCore::CanvasRenderingContext2D::willDraw):
3143 (WebCore::CanvasRenderingContext2D::drawTextInternal):
3144 * html/CanvasRenderingContext2D.h:
3145 * html/CanvasRenderingContext2D.idl:
3146 * html/HTMLCanvasElement.cpp:
3147 (WebCore::HTMLCanvasElement::baseTransform):
3148 * html/HTMLCanvasElement.h:
3149 * platform/graphics/ImageBuffer.h:
3150 (WebCore::ImageBuffer::baseTransform):
3151
antti@apple.com8115fb92008-12-07 01:40:31 +000031522008-12-06 Antti Koivisto <antti@apple.com>
3153
3154 Reviewed by Darin Adler.
3155
antti@apple.com8212ee52008-12-07 02:05:19 +00003156 Also copy m_implicit field. Darin wanted this change commited separately.
3157
3158 * css/CSSProperty.h:
3159 (WebCore::CSSProperty::operator=):
3160
31612008-12-06 Antti Koivisto <antti@apple.com>
3162
3163 Reviewed by Darin Adler.
3164
antti@apple.com8115fb92008-12-07 01:40:31 +00003165 https://bugs.webkit.org/show_bug.cgi?id=22379
3166 Make CSSOM use less memory
3167
3168 Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.
3169
3170 Taught setter functions to use existing slots to avoid memory moves, plus some
3171 other optimizations.
3172
3173 * WebCore.xcodeproj/project.pbxproj:
3174 * css/CSSMutableStyleDeclaration.cpp:
3175 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
3176 (WebCore::CSSMutableStyleDeclaration::operator=):
3177 (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
3178 (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
3179 (WebCore::CSSMutableStyleDeclaration::removeProperty):
3180 (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
3181 (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
3182 (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
3183 (WebCore::CSSMutableStyleDeclaration::setProperty):
3184 (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
3185 (WebCore::CSSMutableStyleDeclaration::setStringProperty):
3186 (WebCore::CSSMutableStyleDeclaration::setImageProperty):
3187 (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
3188 (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
3189 (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
3190 (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
3191 (WebCore::CSSMutableStyleDeclaration::length):
3192 (WebCore::CSSMutableStyleDeclaration::item):
3193 (WebCore::CSSMutableStyleDeclaration::cssText):
3194 (WebCore::CSSMutableStyleDeclaration::setCssText):
3195 (WebCore::CSSMutableStyleDeclaration::merge):
3196 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
3197 (WebCore::CSSMutableStyleDeclaration::copy):
3198 (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
3199 * css/CSSMutableStyleDeclaration.h:
3200 (WebCore::CSSMutableStyleDeclarationConstIterator::operator*):
3201 (WebCore::CSSMutableStyleDeclarationConstIterator::operator->):
3202 (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=):
3203 (WebCore::CSSMutableStyleDeclarationConstIterator::operator==):
3204 (WebCore::CSSMutableStyleDeclaration::create):
3205 (WebCore::CSSMutableStyleDeclaration::begin):
3206 (WebCore::CSSMutableStyleDeclaration::end):
3207 (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator):
3208 (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator):
3209 (WebCore::CSSMutableStyleDeclarationConstIterator::operator=):
3210 (WebCore::CSSMutableStyleDeclarationConstIterator::operator++):
3211 (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
3212 * css/CSSProperty.h:
3213 (WTF::):
3214 * css/CSSStyleDeclaration.cpp:
3215 (WebCore::CSSStyleDeclaration::diff):
3216 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
3217 * css/CSSStyleSelector.cpp:
3218 (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
3219 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
3220 (WebCore::CSSStyleSelector::applyDeclarations):
3221 * dom/EventTarget.h:
3222 * editing/ApplyStyleCommand.cpp:
3223 (WebCore::StyleChange::init):
3224 (WebCore::ApplyStyleCommand::isHTMLStyleNode):
3225 (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
3226 (WebCore::ApplyStyleCommand::removeCSSStyle):
3227 * editing/Editor.cpp:
3228 (WebCore::Editor::selectionStartHasStyle):
3229 (WebCore::updateState):
3230 * editing/ReplaceSelectionCommand.cpp:
3231 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
3232 * editing/markup.cpp:
3233 (WebCore::appendStartMarkup):
3234
simon.fraser@apple.com2b2b6ce2008-12-06 19:58:44 +000032352008-12-06 Simon Fraser <simon.fraser@apple.com>
3236
simon.fraser@apple.comc7cac522008-12-07 06:15:49 +00003237 Reviewed by Antti Koivisto, Dan Bernstein
3238
3239 https://bugs.webkit.org/show_bug.cgi?id=22088
3240
3241 Fix logic related to repainting when transform changes:
3242 If an object has a layer, and the transform changes, then we need
3243 to do a repaintIncludingDescendants(), not just a repaint.
3244
3245 Test: fast/repaint/transform-repaint-descendants.html
3246
3247 * rendering/RenderObject.cpp:
3248 (WebCore::RenderObject::styleWillChange):
3249
32502008-12-06 Simon Fraser <simon.fraser@apple.com>
3251
simon.fraser@apple.com41705c62008-12-07 01:03:55 +00003252 Reviewed by Dan Bernstein
3253
3254 https://bugs.webkit.org/show_bug.cgi?id=15739
3255
3256 When painting the selection on a replaced element, paint
3257 using local coordinates so that the selection is correctly
3258 painted for transformed elements.
3259
3260 Test: fast/replaced/selection-rect-transform.html
3261
3262 * rendering/RenderReplaced.cpp:
3263 (WebCore::RenderReplaced::paint):
3264
32652008-12-06 Simon Fraser <simon.fraser@apple.com>
3266
simon.fraser@apple.com2b2b6ce2008-12-06 19:58:44 +00003267 Reviewed by Dave Hyatt
3268
3269 https://bugs.webkit.org/show_bug.cgi?id=15671
3270
3271 Fix caret rendering to behave correctly with transforms:
3272 * Rename caretRect() methods to localCaretRect() and
3273 absoluteCaretBounds() as appropriate
3274 * Fix localCaretRect() methods to return a rect in the
3275 appropriate coordinates.
3276 * Pass tx, ty down through the paintCaret() methods, after fixing them
3277 up to account for differences between contents coords, and renderer-local
3278 coords (via RenderBlock::offsetForContents()).
3279 * Remove m_caretPositionOnLayout from SelectionController, and instead
3280 call invalidateSelection() from RenderLayer::scrollToOffset(), because
3281 we can no longer assume simple x/y offsets from scrolling with transforms.
3282 * Move the logic to compute which RenderObject actually paints the caret into
3283 SelectionController::caretRenderer(), rather than having it in RenderBlock.
3284 * SelectionController now computes and caches a local caret rect. For invalidation,
3285 it computes the absolute bounds of that (possibly transformed) local rect.
3286 The local rect is computed in the coordinate system of the RenderObject that
3287 will paint the caret (this may require offsetting from the actual renderer
3288 at the start of the selection).
3289 * Fix LayoutState(RenderObject* root) to take transforms into account
3290 * Make offsetFromContainer() a virtual method on RenderObject, and implement
3291 the RenderObject version. It's used to map from selection start renderer
3292 to caret renderer.
3293
3294 Test: fast/transforms/transformed-caret.html
3295
3296 * WebCore.base.exp:
3297 * editing/DeleteSelectionCommand.cpp:
3298 (WebCore::DeleteSelectionCommand::mergeParagraphs):
3299 * editing/SelectionController.cpp:
3300 (WebCore::SelectionController::SelectionController):
3301 (WebCore::absoluteCaretY):
3302 (WebCore::SelectionController::modify):
3303 (WebCore::SelectionController::xPosForVerticalArrowNavigation):
3304 (WebCore::SelectionController::layout):
3305 (WebCore::SelectionController::caretRenderer):
3306 (WebCore::SelectionController::localCaretRect):
3307 (WebCore::SelectionController::absoluteCaretBounds):
3308 (WebCore::SelectionController::caretRepaintRect):
3309 (WebCore::SelectionController::recomputeCaretRect):
3310 (WebCore::SelectionController::invalidateCaretRect):
3311 (WebCore::SelectionController::paintCaret):
3312 (WebCore::SelectionController::caretRendersInsideNode):
3313 * editing/SelectionController.h:
3314 * editing/VisiblePosition.cpp:
3315 (WebCore::VisiblePosition::localCaretRect):
3316 (WebCore::VisiblePosition::absoluteCaretBounds):
3317 (WebCore::VisiblePosition::xOffsetForVerticalNavigation):
3318 * editing/VisiblePosition.h:
3319 * editing/mac/SelectionControllerMac.mm:
3320 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
3321 * html/HTMLElement.cpp:
3322 (WebCore::HTMLElement::isContentEditable):
3323 * page/AccessibilityRenderObject.cpp:
3324 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
3325 * page/Frame.cpp:
3326 (WebCore::Frame::firstRectForRange):
3327 (WebCore::Frame::selectionLayoutChanged):
3328 (WebCore::Frame::paintCaret):
3329 (WebCore::Frame::paintDragCaret):
3330 (WebCore::Frame::revealSelection):
3331 (WebCore::Frame::revealCaret):
3332 * page/Frame.h:
3333 * rendering/LayoutState.cpp:
3334 (WebCore::LayoutState::LayoutState):
3335 * rendering/RenderBlock.cpp:
3336 (WebCore::RenderBlock::paintCaret):
3337 (WebCore::RenderBlock::paintObject):
3338 (WebCore::RenderBlock::positionForCoordinates):
3339 (WebCore::RenderBlock::offsetForContents):
3340 * rendering/RenderBlock.h:
3341 * rendering/RenderBox.cpp:
3342 (WebCore::RenderBox::localCaretRect):
3343 * rendering/RenderBox.h:
3344 * rendering/RenderFlow.cpp:
3345 (WebCore::RenderFlow::localCaretRect):
3346 * rendering/RenderFlow.h:
3347 * rendering/RenderLayer.cpp:
3348 (WebCore::RenderLayer::scrollToOffset):
3349 * rendering/RenderObject.cpp:
3350 (WebCore::RenderObject::localCaretRect):
3351 * rendering/RenderObject.h:
3352 * rendering/RenderSVGInlineText.cpp:
3353 (WebCore::RenderSVGInlineText::localCaretRect):
3354 * rendering/RenderSVGInlineText.h:
3355 * rendering/RenderText.cpp:
3356 (WebCore::RenderText::RenderText):
3357 (WebCore::RenderText::localCaretRect):
3358 * rendering/RenderText.h:
3359
ddkilzer@apple.comdafbf5e2008-12-06 17:15:19 +000033602008-12-06 David Kilzer <ddkilzer@apple.com>
3361
ddkilzer@apple.com37783ff2008-12-06 17:20:55 +00003362 Bug 22711: Current svn (build 39065) fails to compile
3363
3364 <https://bugs.webkit.org/show_bug.cgi?id=22711>
3365
ddkilzer@apple.comdafbf5e2008-12-06 17:15:19 +00003366 BUILD FIX for r39065: Forgot parentheses after "document".
3367
3368 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
3369 <https://bugs.webkit.org/show_bug.cgi?id=22666>
3370
3371 * svg/SVGFEImageElement.cpp:
3372 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed
3373 document to document().
3374
ap@webkit.orgfd887d42008-12-06 16:04:36 +000033752008-12-06 Dmitry Titov <dimich@chromium.org>
3376
3377 Reviewed by Alexey Proskuryakov.
3378
3379 https://bugs.webkit.org/show_bug.cgi?id=22710
3380 Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document
3381
3382 * bindings/js/DOMTimer.cpp:
3383 (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
3384
ddkilzer@apple.comb27ae032008-12-06 11:54:46 +000033852008-12-06 David Kilzer <ddkilzer@apple.com>
3386
3387 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
3388
3389 <https://bugs.webkit.org/show_bug.cgi?id=22666>
3390
3391 Reviewed by Darin Adler.
3392
3393 When creating a webarchive from WebCore::LegacyWebArchive::create(),
3394 HashSet<String>, Vector<KURL> and Vector<String> were all used to
3395 store a list of URLs for resources found in the document. Instead
3396 use a single ListHashSet<KURL> to store the list and resolve the
3397 relative URLs as they're added. We use a new inline method called
3398 WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
3399 to prevent "null" KURL objects from crashing in the KURL hashing
3400 function.
3401
3402 * WebCore.base.exp: Changed export of
3403 WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL>
3404 argument instead of a Vector<KURL>.
3405
3406 * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private
3407 header for use in WebKit.
3408
3409 * css/CSSStyleSheet.cpp:
3410 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from
3411 addSubresourceURLStrings(). Changed to use ListHashSet<KURL>
3412 instead of HashSet<String>. Cleaned up code.
3413 * css/CSSStyleSheet.h:
3414 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
3415 * css/StyleSheet.h:
3416 (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
3417
3418 * dom/Node.cpp:
3419 (WebCore::Node::getSubresourceURLs): Changed to use
3420 ListHashSet<KURL> instead of Vector<KURL>. Cleaned up code.
3421 * dom/Node.h:
3422 (WebCore::Node::getSubresourceURLs): Ditto.
3423 (WebCore::Node::addSubresourceAttributeURLs): Renamed from
3424 getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL>
3425 instead of Vector<String>.
3426 (WebCore::addSubresourceURL): Added. Safely adds new KURL objects
3427 to a ListHashSet<KURL> object. A "null" KURL object will cause the
3428 hash function to crash since it contains a null StringImpl. Used in
3429 Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in
3430 the style subsystem.
3431
3432 * dom/ProcessingInstruction.cpp:
3433 (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
3434 Renamed from getSubresourceAttributeStrings(). Changed to use
3435 ListHashSet<KURL> instead of Vector<String>. Use
3436 WebCore::addSubresourceURL() to add new KURL objects.
3437 * dom/ProcessingInstruction.h: Ditto.
3438 * html/HTMLBodyElement.cpp:
3439 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
3440 * html/HTMLBodyElement.h: Ditto.
3441 * html/HTMLEmbedElement.cpp:
3442 (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
3443 * html/HTMLEmbedElement.h: Ditto.
3444 * html/HTMLImageElement.cpp:
3445 (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
3446 * html/HTMLImageElement.h: Ditto.
3447 * html/HTMLInputElement.cpp:
3448 (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
3449 * html/HTMLInputElement.h: Ditto.
3450 * html/HTMLLinkElement.cpp:
3451 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
3452 * html/HTMLLinkElement.h: Ditto.
3453 * html/HTMLObjectElement.cpp:
3454 (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
3455 * html/HTMLObjectElement.h: Ditto.
3456 * html/HTMLParamElement.cpp:
3457 (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
3458 * html/HTMLParamElement.h: Ditto.
3459 * html/HTMLScriptElement.cpp:
3460 (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
3461 * html/HTMLScriptElement.h: Ditto.
3462 * html/HTMLStyleElement.cpp:
3463 (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
3464 * html/HTMLStyleElement.h: Ditto.
3465 * html/HTMLTableCellElement.cpp:
3466 (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
3467 * html/HTMLTableCellElement.h: Ditto.
3468 * html/HTMLTableElement.cpp:
3469 (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
3470 * html/HTMLTableElement.h: Ditto.
3471
3472 * loader/archive/cf/LegacyWebArchive.cpp:
3473 (WebCore::LegacyWebArchive::create): Changed from using
3474 HashSet<String> to ListHashSet<KURL> for tracking unique
3475 subresources. Changed from using Vector<KURL> to ListHashSet<KURL>
3476 when calling WebCore::Node::getSubresourceURLs(). Cleaned up code.
3477
3478 * svg/SVGCursorElement.cpp:
3479 (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed
3480 from getSubresourceAttributeStrings(). Changed to use
3481 ListHashSet<KURL> instead of Vector<String>. Use
3482 WebCore::addSubresourceURL() to add new KURL objects.
3483 * svg/SVGCursorElement.h: Ditto.
3484 * svg/SVGFEImageElement.cpp:
3485 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
3486 * svg/SVGFEImageElement.h: Ditto.
3487 * svg/SVGImageElement.cpp:
3488 (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
3489 * svg/SVGImageElement.h: Ditto.
3490 * svg/SVGScriptElement.cpp:
3491 (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
3492 * svg/SVGScriptElement.h: Ditto.
3493
ddkilzer@apple.comdc88a762008-12-06 11:51:31 +000034942008-12-05 Brett Wilson <brettw@chromium.org>
brettw@chromium.org6af05ad2008-12-06 02:27:15 +00003495
3496 Reviewed by Darin Adler.
3497
3498 Make the page group use the proper link hashing functions rather than
3499 calling the string hash functions directly. Add Chromium-specfic ifdefs
3500 in the visited link computation functions to allow integration.
3501
3502 * page/PageGroup.cpp:
3503 (WebCore::PageGroup::isLinkVisited):
3504 (WebCore::PageGroup::addVisitedLink):
3505 * platform/LinkHash.cpp:
3506 (WebCore::visitedLinkHash):
3507 * platform/LinkHash.h:
3508
cmarrin@apple.come625a402008-12-06 01:42:16 +000035092008-12-05 Chris Marrin <cmarrin@apple.com>
3510
3511 Reviewed by Dave Hyatt.
3512
3513 Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
3514 For iteration and end events, previous fixes to prevent the deletion of
3515 Animation objects (ref counting and hanging onto a ref during event callbacks)
3516 was sufficient to prevent dangling pointers. But start events are sent in
3517 the styleAvailable() call, which iterates over CompositeAnimation objects,
3518 which are not ref counted. So that object can get destroyed in the event
3519 handler while still active. So I added refcounting for CompositeAnimations.
3520
3521 Additionally, when am iterating over the CompositingAnimation list, it can
3522 be deleted, which mutates the list. So I now make one pass over the list
3523 building a vector of CompositeAnimation objects that need to be called and
3524 then iterate over that vector to make the actual calls.
3525
3526 Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
3527 the Animation objects it owns, I now keep a ref to the CompositeAnimation
3528 in the timer callback for the iteration and end events. That means I no
3529 longer need to keep a ref to the Animation objects themselves in that timer
3530 callback, since the CompositeAnimation already has one.
3531
3532 Tests: animations/animation-iteration-event-destroy-renderer.html
3533 animations/animation-start-event-destroy-renderer.html
3534
3535 * page/animation/AnimationBase.cpp:
3536 (WebCore::AnimationBase::updateStateMachine):
3537 (WebCore::AnimationBase::animationTimerCallbackFired):
3538 * page/animation/AnimationController.cpp:
3539 (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
3540 (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
3541 (WebCore::AnimationControllerPrivate::clear):
3542 (WebCore::AnimationControllerPrivate::styleAvailable):
3543 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
3544 (WebCore::AnimationControllerPrivate::animationTimerFired):
3545 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
3546 (WebCore::AnimationControllerPrivate::suspendAnimations):
3547 (WebCore::AnimationControllerPrivate::resumeAnimations):
3548 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
3549 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
3550 (WebCore::AnimationController::updateAnimations):
3551 (WebCore::AnimationController::setAnimationStartTime):
3552 (WebCore::AnimationController::setTransitionStartTime):
3553 * page/animation/CompositeAnimation.cpp:
3554 (WebCore::CompositeAnimationPrivate::animationController):
3555 (WebCore::CompositeAnimationPrivate::isWaitingForStyleAvailable):
3556 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
3557 (WebCore::CompositeAnimationPrivate::clearRenderer):
3558 (WebCore::CompositeAnimation::clearRenderer):
3559 (WebCore::CompositeAnimation::animationController):
3560 (WebCore::CompositeAnimation::isWaitingForStyleAvailable):
3561 * page/animation/CompositeAnimation.h:
3562 (WebCore::CompositeAnimation::create):
3563
ddkilzer@apple.comaff2b202008-12-06 01:05:06 +000035642008-12-05 David Kilzer <ddkilzer@apple.com>
3565
ddkilzer@apple.comcabf2312008-12-06 01:07:19 +00003566 Bug 22609: Provide a build-time choice when generating hash tables for properties of built-in DOM objects
3567
3568 <https://bugs.webkit.org/show_bug.cgi?id=22609>
3569 <rdar://problem/6331749>
ddkilzer@apple.comaff2b202008-12-06 01:05:06 +00003570
3571 Reviewed by Darin Adler.
3572
3573 Initial patch by Yosen Lin. Adapted for ToT WebKit by David Kilzer.
3574
3575 Added back the code that generates a "compact" hash (instead of a
3576 perfect hash) as a build-time option using the
3577 ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.
3578
3579 * bindings/scripts/CodeGeneratorJS.pm:
3580 (GenerateImplementation): Compute the number of elements that will
3581 be stored in each hash table and pass it to GenerateHashTable().
3582 (GenerateHashTable): Added new second parameter representing the
3583 number of elements to store in the compact hash table. Added back
3584 code to compute compact hash tables. Generate both hash table sizes
3585 and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
3586
brettw@chromium.org842edbb2008-12-05 23:13:10 +000035872008-12-05 Brett Wilson <brettw@chromium.org>
3588
brettw@chromium.orgcda88542008-12-05 23:22:06 +00003589 Fix build bustage from previous patch.
3590
3591 * css/CSSSelector.h:
3592
35932008-12-05 Brett Wilson <brettw@chromium.org>
3594
brettw@chromium.org842edbb2008-12-05 23:13:10 +00003595 Reviewed by Eric Seidel.
3596
3597 Add a missing include for OwnPtr to make CSSSelector compile without
3598 precompiled headers.
3599
3600 * css/CSSSelector.h:
3601
eric@webkit.orge5cf2da2008-12-05 22:10:27 +000036022008-12-05 Finnur Thorarinsson <finnur.webkit@gmail.com>
3603
3604 Reviewed by Darin Adler.
3605
3606 Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
3607 without relying on high-level WebCore types, as requested by Dave Hyatt.
3608
3609 No functional changes, thus no test cases.
3610
3611 * page/FrameView.cpp:
3612 (WebCore::FrameView::getTickmarks):
3613 * page/FrameView.h:
3614 * platform/ScrollbarClient.h:
3615
dino@apple.com1b8d0c22008-12-05 19:00:09 +000036162008-12-05 Dean Jackson <dino@apple.com>
3617
3618 Reviewed by David Hyatt.
3619
3620 Make sure Window event listeners also tell the
3621 Document about the event type, so noisy events
3622 will be dispatched even if nothing in the document
3623 is listening.
3624 https://bugs.webkit.org/show_bug.cgi?id=20572
3625
3626 * dom/Document.cpp:
3627 (WebCore::Document::addWindowEventListener):
3628
aroben@apple.comd064cef2008-12-05 17:22:06 +000036292008-12-05 Adam Roben <aroben@apple.com>
3630
3631 Windows build fix after r39026
3632
3633 * platform/network/cf/ResourceRequestCFNet.cpp:
3634 (WebCore::ResourceRequest::doUpdatePlatformRequest):
3635 (WebCore::ResourceRequest::doUpdateResourceRequest):
3636 Add some missing .get()s.
3637
ap@webkit.org2658fb32008-12-05 14:23:19 +000036382008-12-05 Alexey Proskuryakov <ap@webkit.org>
3639
ap@webkit.orge577a4a2008-12-05 16:33:52 +00003640 Tiger build fix.
3641
3642 * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
3643
36442008-12-05 Alexey Proskuryakov <ap@webkit.org>
3645
ap@webkit.org2658fb32008-12-05 14:23:19 +00003646 Reviewed by Darin Adler.
3647
ap@webkit.orge3b05ba2008-12-05 15:53:39 +00003648 <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
3649 in Safari before opening a mail message in Mail
3650
3651 * platform/mac/WebCoreObjCExtras.mm:
3652 (WebCoreObjCFinalizeOnMainThread):
3653 Don't call initializeThreading: we now expect the caller to do it, to simplify keeping
3654 Tiger and post-Tiger behavior in line.
3655
3656 * bindings/objc/DOMRGBColor.mm:
3657 (+[DOMRGBColor initialize]):
3658 * bindings/objc/WebScriptObject.mm:
3659 (+[WebScriptObject initialize]):
3660 * page/mac/AccessibilityObjectWrapper.mm:
3661 (+[AccessibilityObjectWrapper initialize]):
3662 * platform/mac/SharedBufferMac.mm:
3663 (+[WebCoreSharedBufferData initialize]):
3664 Call JSC::initializeThreading();
3665
36662008-12-05 Alexey Proskuryakov <ap@webkit.org>
3667
3668 Reviewed by Darin Adler.
3669
ap@webkit.org113cb8c2008-12-05 14:43:53 +00003670 <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
3671
3672 * platform/network/ResourceRequestBase.cpp:
3673 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
3674 * platform/network/ResourceRequestBase.h:
3675 * platform/network/cf/ResourceRequestCFNet.cpp:
3676 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
3677 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
3678 (WebCore::setContentDispositionEncodingFallbackArray):
3679 (WebCore::copyContentDispositionEncodingFallbackArray):
3680 (WebCore::ResourceRequest::doUpdatePlatformRequest):
3681 (WebCore::ResourceRequest::doUpdateResourceRequest):
3682 * platform/network/mac/ResourceRequestMac.mm:
3683 (WebCore::ResourceRequest::doUpdateResourceRequest):
3684 (WebCore::ResourceRequest::doUpdatePlatformRequest):
3685 Added a way to specify encoding fallback list for Content-Disposition header.
3686
3687 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and
3688 pass a list of encodings to try when decoding Content-Disposition header, as described
3689 in comments.
3690
36912008-12-05 Alexey Proskuryakov <ap@webkit.org>
3692
3693 Reviewed by Darin Adler.
3694
ap@webkit.org2658fb32008-12-05 14:23:19 +00003695 https://bugs.webkit.org/show_bug.cgi?id=22672
3696 ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout
3697
3698 Test: http/tests/xmlhttprequest/send-on-abort.html
3699
3700 * dom/ScriptExecutionContext.cpp:
3701 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
3702 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
3703 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
3704 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
3705 Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
3706
3707 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This
3708 reverts a recent change that made the behavior slightly closer to Firefox - but the
3709 compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
3710
hausmann@webkit.org7d09d992008-12-05 13:02:30 +000037112008-12-05 Tobias König <tobias.koenig@nokia.com>
3712
3713 Reviewed by Simon Hausmann.
3714
3715 Record required package dependencies for the Qt build for a correct
3716 pkg-config file.
3717
3718 * WebCore.pro:
3719
vestbo@webkit.orgec4fa622008-12-05 11:27:07 +000037202008-12-05 Tor Arne Vestbø <tavestbo@trolltech.com>
3721
3722 Rubber-stamped by Simon Hausmann.
3723
3724 [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model
3725
3726 * plugins/mac/PluginPackageMac.cpp:
3727 (WebCore::PluginPackage::fetchInfo):
3728 (WebCore::PluginPackage::isPluginBlacklisted):
3729
ap@webkit.orge69cc702008-12-05 09:48:50 +000037302008-12-05 Jungshik Shin <jshin@chromium.org>
3731
3732 Reviewed by Alexey Proskuryakov.
3733
3734 https://bugs.webkit.org/show_bug.cgi?id=22472
3735
3736 Revises charset alias map for TextCodecICU.
3737 - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
3738 - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
3739 - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
3740 mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
3741 alias 'dos-874' to 'windows-874'.
3742 - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
3743 Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
3744 directly going to 'GBK'.
3745 - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.
3746
3747 Tests: fast/encoding/char-decoding-mac.html
3748 fast/encoding/char-decoding.html
3749
3750 * platform/text/TextCodecICU.cpp:
3751 (WebCore::TextCodecICU::registerExtendedEncodingNames):
3752
kevino@webkit.org37960b52008-12-05 03:29:11 +000037532008-12-04 Kevin Watters <kevinwatters@gmail.com>
3754
3755 Reviewed by Kevin Ollivier.
3756
kevino@webkit.orgc6fcdc12008-12-05 03:42:15 +00003757 Add a MIME mapping for the .htm extension to wx and GTK ports.
3758
3759 https://bugs.webkit.org/show_bug.cgi?id=22668
3760
3761 * platform/gtk/MIMETypeRegistryGtk.cpp:
3762 (WebCore::):
3763 * platform/wx/MimeTypeRegistryWx.cpp:
3764 (WebCore::):
3765
37662008-12-04 Kevin Watters <kevinwatters@gmail.com>
3767
3768 Reviewed by Kevin Ollivier.
3769
kevino@webkit.org37960b52008-12-05 03:29:11 +00003770 Implement basic text paste support in wx and add notImplemented stubs
3771 to catch other methods.
3772
3773 https://bugs.webkit.org/show_bug.cgi?id=22667
3774
3775 * platform/wx/PasteboardWx.cpp:
3776 (WebCore::Pasteboard::canSmartReplace):
3777 (WebCore::Pasteboard::plainText):
3778 (WebCore::Pasteboard::documentFragment):
3779 (WebCore::Pasteboard::writeImage):
3780
kevino@webkit.orge438e602008-12-05 01:55:17 +000037812008-12-04 Kevin Ollivier <kevino@theolliviers.com>
3782
3783 wx build fix for !USE(WXGC) build config.
3784
3785 * platform/graphics/wx/PathWx.cpp:
3786 (WebCore::Path::contains):
3787 (WebCore::Path::addLineTo):
3788 (WebCore::Path::addQuadCurveTo):
3789 (WebCore::Path::addBezierCurveTo):
3790 (WebCore::Path::addArcTo):
3791 (WebCore::Path::closeSubpath):
3792 (WebCore::Path::addArc):
3793 (WebCore::Path::addRect):
3794 (WebCore::Path::addEllipse):
3795 (WebCore::Path::transform):
3796 (WebCore::Path::apply):
3797 (WebCore::Path::isEmpty):
3798
kevino@webkit.org9eb2e6d2008-12-05 00:03:08 +000037992008-12-04 Kevin Watters <kevinwatters@gmail.com>
3800
3801 Reviewed by Kevin Ollivier.
3802
kevino@webkit.orgbf5f5752008-12-05 01:39:20 +00003803 Turn off styled controls until we can implement them properly.
3804
3805 https://bugs.webkit.org/show_bug.cgi?id=22662
3806
3807 * platform/wx/RenderThemeWx.cpp:
3808 (WebCore::RenderThemeWx::isControlStyled):
3809
38102008-12-04 Kevin Watters <kevinwatters@gmail.com>
3811
3812 Reviewed by Kevin Ollivier.
3813
kevino@webkit.org9eb2e6d2008-12-05 00:03:08 +00003814 wx implementations for Path API.
3815
3816 https://bugs.webkit.org/show_bug.cgi?id=22661
3817
3818 * platform/graphics/wx/PathWx.cpp:
3819 (WebCore::Path::~Path):
3820 (WebCore::Path::contains):
3821 (WebCore::Path::addLineTo):
3822 (WebCore::Path::addQuadCurveTo):
3823 (WebCore::Path::addBezierCurveTo):
3824 (WebCore::Path::addArcTo):
3825 (WebCore::Path::closeSubpath):
3826 (WebCore::Path::addArc):
3827 (WebCore::Path::addRect):
3828 (WebCore::Path::addEllipse):
3829 (WebCore::Path::transform):
3830 (WebCore::Path::isEmpty):
3831
jchaffraix@webkit.org94d95b02008-12-04 22:39:05 +000038322008-12-04 Julien Chaffraix <jchaffraix@webkit.org>
3833
3834 Reviewed by Eric Seidel.
3835
3836 Bug 22564: Make HTML elements' constructors take a QualifiedName
3837 https://bugs.webkit.org/show_bug.cgi?id=22564
3838
3839 Updated the remaining constructors.
3840
3841 * bindings/js/JSImageConstructor.cpp:
3842 (WebCore::constructImage):
3843 * dom/Document.cpp:
3844 (WebCore::Document::getCSSCanvasElement):
3845 * editing/DeleteButton.cpp:
3846 (WebCore::DeleteButton::DeleteButton):
3847 * html/HTMLAppletElement.cpp:
3848 (WebCore::HTMLAppletElement::HTMLAppletElement):
3849 * html/HTMLAppletElement.h:
3850 * html/HTMLAreaElement.cpp:
3851 (WebCore::HTMLAreaElement::HTMLAreaElement):
3852 * html/HTMLAreaElement.h:
3853 * html/HTMLBaseFontElement.cpp:
3854 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
3855 * html/HTMLBaseFontElement.h:
3856 * html/HTMLCanvasElement.cpp:
3857 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
3858 * html/HTMLCanvasElement.h:
3859 * html/HTMLElementFactory.cpp:
3860 (WebCore::hrConstructor):
3861 (WebCore::paragraphConstructor):
3862 (WebCore::basefontConstructor):
3863 (WebCore::fontConstructor):
3864 (WebCore::anchorConstructor):
3865 (WebCore::imageConstructor):
3866 (WebCore::mapConstructor):
3867 (WebCore::areaConstructor):
3868 (WebCore::canvasConstructor):
3869 (WebCore::appletConstructor):
3870 (WebCore::embedConstructor):
3871 (WebCore::objectConstructor):
3872 (WebCore::paramConstructor):
3873 (WebCore::scriptConstructor):
3874 (WebCore::tableConstructor):
3875 (WebCore::tableCaptionConstructor):
3876 (WebCore::tableRowConstructor):
3877 * html/HTMLEmbedElement.cpp:
3878 (WebCore::HTMLEmbedElement::HTMLEmbedElement):
3879 * html/HTMLEmbedElement.h:
3880 * html/HTMLFontElement.cpp:
3881 (WebCore::HTMLFontElement::HTMLFontElement):
3882 * html/HTMLFontElement.h:
3883 * html/HTMLHRElement.cpp:
3884 (WebCore::HTMLHRElement::HTMLHRElement):
3885 * html/HTMLHRElement.h:
3886 * html/HTMLImageElement.cpp:
3887 (WebCore::HTMLImageElement::HTMLImageElement):
3888 * html/HTMLImageElement.h:
3889 * html/HTMLMapElement.cpp:
3890 (WebCore::HTMLMapElement::HTMLMapElement):
3891 * html/HTMLMapElement.h:
3892 * html/HTMLObjectElement.cpp:
3893 (WebCore::HTMLObjectElement::HTMLObjectElement):
3894 * html/HTMLObjectElement.h:
3895 * html/HTMLParagraphElement.cpp:
3896 (WebCore::HTMLParagraphElement::HTMLParagraphElement):
3897 * html/HTMLParagraphElement.h:
3898 * html/HTMLParamElement.cpp:
3899 (WebCore::HTMLParamElement::HTMLParamElement):
3900 * html/HTMLParamElement.h:
3901 * html/HTMLParser.cpp:
3902 (WebCore::HTMLParser::handleError):
3903 (WebCore::HTMLParser::mapCreateErrorCheck):
3904 (WebCore::HTMLParser::handleIsindex):
3905 * html/HTMLScriptElement.cpp:
3906 (WebCore::HTMLScriptElement::HTMLScriptElement):
3907 * html/HTMLScriptElement.h:
3908 * html/HTMLTableCaptionElement.cpp:
3909 (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
3910 * html/HTMLTableCaptionElement.h:
3911 * html/HTMLTableElement.cpp:
3912 (WebCore::HTMLTableElement::HTMLTableElement):
3913 (WebCore::HTMLTableElement::createCaption):
3914 (WebCore::HTMLTableElement::insertRow):
3915 * html/HTMLTableElement.h:
3916 * html/HTMLTableRowElement.cpp:
3917 (WebCore::HTMLTableRowElement::HTMLTableRowElement):
3918 * html/HTMLTableRowElement.h:
3919 * html/HTMLTableSectionElement.cpp:
3920 (WebCore::HTMLTableSectionElement::insertRow):
3921 * html/HTMLViewSourceDocument.cpp:
3922 (WebCore::HTMLViewSourceDocument::createContainingTable):
3923 (WebCore::HTMLViewSourceDocument::addLine):
3924 * loader/ImageDocument.cpp:
3925 (WebCore::ImageDocumentElement::ImageDocumentElement):
3926
eric@webkit.org352edae2008-12-04 21:08:37 +000039272008-12-04 Eric Seidel <eric@webkit.org>
3928
3929 No review, build fix only.
3930
3931 Add file missing from last commit.
3932
3933 * bindings/js/ScriptState.h: Added.
3934
eric@webkit.org406d6422008-12-04 20:51:21 +000039352008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
3936
3937 Reviewed by Geoff Garen.
3938
3939 Implement ScriptState abstraction (initially, a simple typedef)
3940 as means of carrying exception information across bindings boundaries
3941 and in a script engine-independent way.
3942
3943 * WebCore.vcproj/WebCore.vcproj:
3944 * WebCore.xcodeproj/project.pbxproj:
3945 * bindings/js/JSDOMBinding.cpp:
3946 (WebCore::scriptStateFromNode):
3947 * bindings/js/JSDOMBinding.h:
3948 * bindings/js/JSNodeFilterCondition.h:
3949 * bindings/js/ScriptState.h: Added.
3950 * dom/NodeFilter.cpp:
3951 (WebCore::NodeFilter::acceptNode):
3952 * dom/NodeFilter.h:
3953 (WebCore::NodeFilter::acceptNode):
3954 * dom/NodeFilterCondition.cpp:
3955 (WebCore::NodeFilterCondition::acceptNode):
3956 * dom/NodeFilterCondition.h:
3957 * dom/NodeIterator.cpp:
3958 (WebCore::NodeIterator::nextNode):
3959 (WebCore::NodeIterator::previousNode):
3960 * dom/NodeIterator.h:
3961 (WebCore::NodeIterator::nextNode):
3962 (WebCore::NodeIterator::previousNode):
3963 * dom/Traversal.cpp:
3964 (WebCore::Traversal::acceptNode):
3965 * dom/Traversal.h:
3966 * dom/TreeWalker.cpp:
3967 (WebCore::TreeWalker::parentNode):
3968 (WebCore::TreeWalker::firstChild):
3969 (WebCore::TreeWalker::lastChild):
3970 (WebCore::TreeWalker::previousSibling):
3971 (WebCore::TreeWalker::nextSibling):
3972 (WebCore::TreeWalker::previousNode):
3973 (WebCore::TreeWalker::nextNode):
3974 * dom/TreeWalker.h:
3975 (WebCore::TreeWalker::parentNode):
3976 (WebCore::TreeWalker::firstChild):
3977 (WebCore::TreeWalker::lastChild):
3978 (WebCore::TreeWalker::previousSibling):
3979 (WebCore::TreeWalker::nextSibling):
3980 (WebCore::TreeWalker::previousNode):
3981 (WebCore::TreeWalker::nextNode):
3982
pol@apple.com257ea302008-12-04 20:44:47 +000039832008-12-04 Pierre-Olivier Latour <pol@apple.com>
3984
3985 Reviewed by Dan Bernstein.
3986
3987 Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
3988 and potential similar issue with pauseAnimationAtTimeOnElementWithId().
3989
3990 https://bugs.webkit.org/show_bug.cgi?id=22641
3991
3992 * page/animation/CompositeAnimation.cpp:
3993 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
3994 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
3995
brettw@chromium.orga3bf1a52008-12-04 20:37:36 +000039962008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
3997
3998 Reviewed by Darin Adler.
3999
4000 Remove unused Completion.h include.
4001
4002 * html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
4003
hyatt@apple.com587b30b2008-12-04 20:07:41 +000040042008-11-13 David Hyatt <hyatt@apple.com>
4005
4006 Fix a bug in ScrollView's refactoring. An isVisible check should have been isSelfVisible.
4007
4008 Reviewed by Darin Adler
4009
4010 * platform/ScrollView.cpp:
4011 (WebCore::ScrollView::setParentVisible):
4012
hausmann@webkit.org51319992008-12-04 14:41:26 +000040132008-12-04 Friedemann Kleint <friedemann.kleint@nokia.com>
4014
4015 Reviewed by Tor Arne Vestbø.
4016
4017 Fix small translation glitch in the Qt file chooser.
4018
4019 * platform/qt/FileChooserQt.cpp:
4020 (WebCore::FileChooser::basenameForWidth):
4021
vestbo@webkit.orgaa520d22008-12-04 13:01:19 +000040222008-12-04 Tor Arne Vestbø <tavestbo@trolltech.com>
4023
4024 Rubber-stamped by Simon Hausmann.
4025
4026 Blacklist Silverlight plugin on Qt/Mac until supported
4027
4028 Currently the plugin crashes with a corrupted stack trace, possibly
4029 related to https://bugs.webkit.org/show_bug.cgi?id=20635
4030
4031 * plugins/mac/PluginPackageMac.cpp:
4032 (WebCore::PluginPackage::fetchInfo):
4033 (WebCore::PluginPackage::isPluginBlacklisted):
4034
ap@webkit.orgfd8f97d2008-12-04 08:41:24 +000040352008-12-03 Dmitry Titov <dimich@chromium.org>
4036
4037 Reviewed by Alexey Proskuryakov.
4038
4039 Fix non-Mac build.
4040
4041 * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
4042
ap@webkit.orga3f2d9f2008-12-04 07:20:45 +000040432008-12-03 David Levin <levin@chromium.org>
4044
4045 Reviewed by Alexey Proskuryakov.
4046
ap@webkit.org4e422be2008-12-04 07:21:58 +00004047 Remove uses of document() in XMLHttpRequest where simple.
4048 https://bugs.webkit.org/show_bug.cgi?id=22619
4049
4050 * xml/XMLHttpRequest.cpp:
4051 (WebCore::XMLHttpRequest::responseXML):
4052 Return NULL in the worker case which is according to spec (and avoids using document()).
4053
4054 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
4055 (WebCore::XMLHttpRequest::initSend):
4056 Use scriptExecutionContext() instead of document().
4057
40582008-12-03 David Levin <levin@chromium.org>
4059
4060 Reviewed by Alexey Proskuryakov.
4061
ap@webkit.orga3f2d9f2008-12-04 07:20:45 +00004062 Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
4063 https://bugs.webkit.org/show_bug.cgi?id=22642
4064
4065 * dom/Document.cpp:
4066 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
4067 (WebCore::ScriptExecutionContextTaskTimer::fired):
4068 (WebCore::PerformTaskContext::PerformTaskContext):
4069 (WebCore::performTask):
4070 (WebCore::Document::postTask):
4071 * dom/Document.h:
4072 * dom/ScriptExecutionContext.cpp:
4073 * dom/ScriptExecutionContext.h:
4074 * dom/WorkerContext.cpp:
4075 (WebCore::ScriptExecutionContextTaskWorkerTask::create):
4076 (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask):
4077 (WebCore::ScriptExecutionContextTaskWorkerTask::performTask):
4078 (WebCore::WorkerContext::postTask):
4079 * dom/WorkerContext.h:
4080
ap@webkit.orgefccd592008-12-04 07:19:25 +000040812008-12-03 Dmitry Titov <dimich@chromium.org>
4082
4083 Reviewed by Alexey Proskuryakov.
4084
4085 Using ActiveDOMObject as base class for DOMTimer.
4086 https://bugs.webkit.org/show_bug.cgi?id=22620
4087
4088 Using ActiveDOMObject simplifies the code because ActiveDOMObject
4089 is wired for stop/pause/resume on loading/unloading/caching the page etc
4090 so the timer-specific code that does the same can be removed.
4091 In addition, timers can be now paused/resumed 'in place' which
4092 makes it unnecessary to 'serialize' them into special PausedTimeouts
4093 instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
4094 Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
4095 of timeouts and makes it possible to not roundtrip them via PausedTimeouts
4096 every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.
4097
4098 Timeouts are now paused with other ActiveDOMObjects:
4099 - before creating CachedPage in FrameLoader::commitProvisionalLoad()
4100 - in JavaScriptDebugServer::setJavaScriptPaused
4101 - during modal UI operations in Chrome::*
4102 this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()
4103
4104 Timeouts are stopped to prevent future firing from:
4105 - FrameLoader::clear()
4106 - FrameLoader::frameDetached()
4107 this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()
4108
4109 This is also one of the steps to having timers in Workers. See the plan of
4110 the next steps in the bug above.
4111
4112 * bindings/js/DOMTimer.cpp:
4113 (WebCore::DOMTimer::DOMTimer):
4114 (WebCore::DOMTimer::fired):
4115 (WebCore::DOMTimer::hasPendingActivity):
4116 (WebCore::DOMTimer::contextDestroyed):
4117 (WebCore::DOMTimer::stop):
4118 (WebCore::DOMTimer::suspend):
4119 (WebCore::DOMTimer::resume):
4120 (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
4121
4122 * bindings/js/DOMTimer.h:
4123 * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper
4124 (WebCore::markActiveObjectsForContext):
4125
4126 * bindings/js/JSDOMWindowBase.cpp:
4127 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
4128 (WebCore::JSDOMWindowBase::clear):
4129 (WebCore::JSDOMWindowBase::installTimeout):
4130 (WebCore::JSDOMWindowBase::removeTimeout):
4131 (WebCore::JSDOMWindowBase::timerFired):
4132 (WebCore::JSDOMWindowBase::disconnectFrame):
4133 * bindings/js/JSDOMWindowBase.h:
4134 * bindings/js/ScriptController.cpp:
4135 * bindings/js/ScriptController.h:
4136
4137 * dom/Document.cpp: Document now holds a hash map id->timeout
4138 (WebCore::Document::addTimeout):
4139 (WebCore::Document::removeTimeout):
4140 (WebCore::Document::findTimeout):
4141 * dom/Document.h:
4142 * history/CachedPage.cpp:
4143 (WebCore::CachedPage::CachedPage):
4144 (WebCore::CachedPage::restore):
4145 (WebCore::CachedPage::clear):
4146 * history/CachedPage.h:
4147 * inspector/JavaScriptDebugServer.cpp:
4148 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
4149 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
4150 * inspector/JavaScriptDebugServer.h:
4151
4152 * loader/FrameLoader.cpp:
4153 (WebCore::FrameLoader::commitProvisionalLoad):
4154 removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear();
4155 I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload'
4156 and then calls into client which can be external code and can cause any active object created in onunload
4157 to fire. We can stop them all before firing onunload but it does not make a lot of sense.
4158 I have a test to go with the next patch which verifies that timers set in onunload do not fire.
4159
4160 (WebCore::FrameLoader::open):
4161 * page/Chrome.cpp:
4162 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
4163 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
4164
justin.garcia@apple.comb7785052008-12-04 03:39:53 +000041652008-12-03 Justin Garcia <justin.garcia@apple.com>
4166
4167 Reviewed by Beth Dakin.
4168
4169 <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text
4170
4171 In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
4172 end of pasted content so that users don't get stuck with non-standard pargraph
4173 spacing. This content threw off our handling of interchange newlines. Any interchange
4174 newline, regardless of it's position in the incoming fragment was considered to be
4175 "at the start" of the fragment, and would result in us inserting in a newline before
4176 inserted content. This patch makes the checks for interchange newlines more strict,
4177 and treats interchange newlines found elsewhere as normal <br>s.
4178
4179 * editing/ReplaceSelectionCommand.cpp:
4180 (WebCore::ReplacementFragment::ReplacementFragment):
4181 (WebCore::ReplacementFragment::removeInterchangeNodes):
4182 * editing/VisiblePosition.cpp:
4183 (WebCore::VisiblePosition::init):
4184 (WebCore::VisiblePosition::canonicalPosition):
4185 * editing/VisiblePosition.h:
4186
eric@webkit.org194d6db2008-12-04 01:47:52 +000041872008-12-03 Eric Seidel <eric@webkit.org>
4188
4189 Rubber-stamped by David Hyatt.
4190
4191 Bring the WebCore chromium build a couple steps closer to building.
4192
4193 * WebCore.scons:
4194
kevino@webkit.org4f3bb0a2008-12-04 00:57:24 +000041952008-12-03 Kevin Ollivier <kevino@theolliviers.com>
4196
4197 wx build fix.
4198
4199 * WebCoreSources.bkl:
4200
zimmermann@webkit.org789df802008-12-03 23:20:16 +000042012008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4202
zimmermann@webkit.orgb60b8222008-12-03 23:48:26 +00004203 Reviewed by George Staikos.
4204
4205 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22636
4206
4207 Implement WML variable substitution & validation.
4208 Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.
4209
4210 Tests: wml/variable-reference-invalid-character.html
4211 wml/variable-reference-valid.html
4212
4213 * wml/WMLVariables.cpp:
4214 (WebCore::isValidFirstVariableNameCharacter):
4215 (WebCore::isValidVariableNameCharacter):
4216 (WebCore::isValidVariableEscapingModeString):
4217 (WebCore::isValidVariableName):
4218 (WebCore::containsVariableReference):
4219 (WebCore::substituteVariableReferences):
4220 * wml/WMLVariables.h:
4221
42222008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4223
zimmermann@webkit.org789df802008-12-03 23:20:16 +00004224 Reviewed by Cameron Zwarich.
4225
4226 Further preparations for WML layout tests.
4227 - Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
4228 - Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
4229 - Add helper method in Document.idl, to reset the WML page state to a well-known default state.
4230 (will be used in the upcoming LayoutTests/wml testcases)
4231
4232 * dom/Document.cpp:
4233 (WebCore::Document::resetWMLPageState):
4234 * dom/Document.h:
4235 * dom/Document.idl:
4236 * dom/Text.cpp:
4237 (WebCore::Text::insertedIntoDocument):
4238 * dom/Text.h:
4239 * page/Console.cpp:
4240 (WebCore::Console::addMessage):
4241 * wml/WMLPageState.h: Readd heper function
4242 (WebCore::WMLPageState::hasVariables):
4243
antti@apple.comda12c2a2008-12-03 22:38:43 +000042442008-12-03 Antti Koivisto <antti@apple.com>
4245
4246 Reviewed by Sam Weinig.
4247
4248 Don't leak selectors in case selector list parsing failed.
4249
4250 * css/CSSGrammar.y:
4251 * css/CSSParser.cpp:
4252 (WebCore::CSSParser::~CSSParser):
4253
cmarrin@apple.com3b4741c2008-12-03 22:20:57 +000042542008-12-03 Chris Marrin <cmarrin@apple.com>
4255
4256 Reviewed by Dave Hyatt.
4257
4258 Fix https://bugs.webkit.org/show_bug.cgi?id=22520
4259
4260 This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
4261 This patch fixes the testcase.
4262
4263 This is another case of animations getting destroyed in the end animation callback and causing dangling
4264 pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
4265 So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
4266 and skip that call.
4267
4268 * page/animation/AnimationBase.cpp:
4269 (WebCore::AnimationBase::updateStateMachine):
4270
antti@apple.com60488ab2008-12-03 21:52:09 +000042712008-12-03 Antti Koivisto <antti@apple.com>
4272
4273 Reviewed by Darin Adler.
4274
4275 https://bugs.webkit.org/show_bug.cgi?id=22379
4276 Make CSSOM use less memory
4277
4278 Reduce size of the CSSSelector by one more pointer by using an array
4279 instead of a linked list to store them.
4280
4281 * WebCore.xcodeproj/project.pbxproj:
4282 * css/CSSGrammar.y:
4283 * css/CSSParser.cpp:
4284 (WebCore::CSSParser::CSSParser):
4285 (WebCore::CSSParser::parseSelector):
4286 (WebCore::CSSParser::createStyleRule):
4287 * css/CSSParser.h:
4288 (WebCore::CSSParser::reusableSelectorVector):
4289 * css/CSSSelector.h:
4290 (WebCore::CSSSelector::CSSSelector):
4291 (WebCore::CSSSelector::~CSSSelector):
4292 (WebCore::CSSSelector::isLastInSelectorList):
4293 (WebCore::CSSSelector::setLastInSelectorList):
4294 * css/CSSStyleRule.cpp:
4295 (WebCore::CSSStyleRule::CSSStyleRule):
4296 (WebCore::CSSStyleRule::~CSSStyleRule):
4297 (WebCore::CSSStyleRule::selectorText):
4298 * css/CSSStyleRule.h:
4299 (WebCore::CSSStyleRule::adoptSelectorVector):
4300 (WebCore::CSSStyleRule::selectorList):
4301 * css/CSSStyleSelector.cpp:
4302 (WebCore::CSSRuleSet::addRulesFromSheet):
4303 * dom/Node.cpp:
4304 (WebCore::forEachSelector):
4305 (WebCore::selectorNeedsNamespaceResolution):
4306 (WebCore::Node::querySelector):
4307 (WebCore::Node::querySelectorAll):
4308 * dom/SelectorNodeList.cpp:
4309 (WebCore::createSelectorNodeList):
4310 * dom/SelectorNodeList.h:
4311
ap@webkit.org16860552008-12-03 21:44:22 +000043122008-12-03 Alexey Proskuryakov <ap@webkit.org>
4313
4314 Reviewed by Darin Adler.
4315
4316 https://bugs.webkit.org/show_bug.cgi?id=22630
4317 Assertion failure in XMLHttpRequest::contextDestroyed
4318
4319 Test: http/tests/xmlhttprequest/close-window.html
4320
4321 * loader/FrameLoader.cpp:
4322 (WebCore::FrameLoader::clear):
4323 (WebCore::FrameLoader::commitProvisionalLoad):
4324 Move stopping active objects to clear(), so that closing a window is also covered.
4325
4326 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(),
4327 because internalAbort() deref()'s.
4328
dino@apple.combd011fd2008-12-03 20:46:49 +000043292008-12-03 Dean Jackson <dino@apple.com>
4330
4331 Reviewed by Dan Bernstein.
4332
4333 Implement CSS 3 <angle> turn unit and support it
4334 in rotations.
4335 https://bugs.webkit.org/show_bug.cgi?id=22497
4336
4337 * css/CSSGrammar.y:
4338 * css/CSSParser.cpp:
4339 (WebCore::CSSParser::validUnit):
4340 (WebCore::unitFromString):
4341 (WebCore::CSSParser::lex):
4342 * css/CSSPrimitiveValue.cpp:
4343 (WebCore::CSSPrimitiveValue::cssText):
4344 (WebCore::CSSPrimitiveValue::parserValue):
4345 * css/CSSPrimitiveValue.h:
4346 (WebCore::CSSPrimitiveValue::):
4347 * css/CSSStyleSelector.cpp:
4348 (WebCore::CSSStyleSelector::createTransformOperations):
4349 * css/tokenizer.flex:
4350
krit@webkit.org1bd39c32008-12-03 18:59:47 +000043512008-12-03 Dirk Schulze <krit@webkit.org>
4352
4353 Reviewed by Nikolas Zimmermann.
4354
4355 Make use of the gradient code in GraphicsContext and get rid of most of the
4356 platform dependent code.
4357
4358 SVG should use the new Gradient support on GraphicsContext
4359 https://bugs.webkit.org/show_bug.cgi?id=20543
4360
4361 * GNUmakefile.am:
4362 * WebCore.pro:
4363 * WebCore.vcproj/WebCore.vcproj:
4364 * WebCore.xcodeproj/project.pbxproj:
4365 * platform/graphics/FloatSize.h:
4366 (WebCore::FloatSize::shrunkTo):
4367 * svg/SVGLinearGradientElement.cpp:
4368 (WebCore::SVGLinearGradientElement::buildGradient):
4369 * svg/SVGRadialGradientElement.cpp:
4370 (WebCore::SVGRadialGradientElement::buildGradient):
4371 * svg/graphics/SVGPaintServer.h:
4372 * svg/graphics/SVGPaintServerGradient.cpp:
4373 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
4374 (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
4375 (WebCore::SVGPaintServerGradient::gradient):
4376 (WebCore::SVGPaintServerGradient::setGradient):
4377 (WebCore::findTextRootObject):
4378 (WebCore::createMaskAndSwapContextForTextGradient):
4379 (WebCore::clipToTextMask):
4380 (WebCore::SVGPaintServerGradient::setup):
4381 (WebCore::SVGPaintServerGradient::renderPath):
4382 (WebCore::SVGPaintServerGradient::teardown):
4383 * svg/graphics/SVGPaintServerGradient.h:
4384 (WebCore::SVGPaintServerGradient::setGradientStops):
4385 (WebCore::SVGPaintServerGradient::gradientStops):
4386 * svg/graphics/SVGPaintServerLinearGradient.h:
4387 * svg/graphics/SVGPaintServerRadialGradient.h:
4388 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
4389 * svg/graphics/cg/SVGPaintServerCg.cpp:
4390 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
4391 * svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
4392 * svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
4393 * svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
4394
weinig@apple.com81d54582008-12-03 18:55:04 +000043952008-12-03 Sam Weinig <sam@webkit.org>
4396
4397 Reviewed by Mark Rowe.
4398
4399 Fix formatting.
4400
4401 * css/CSSSelector.h:
4402 (WebCore::CSSSelector::createRareData):
4403
zimmermann@webkit.org2ea0e882008-12-03 17:00:11 +000044042008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4405
zimmermann@webkit.org07872592008-12-03 17:36:27 +00004406 Reviewed by Adam Roben.
4407
4408 As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.
4409
4410 * inspector/front-end/Console.js:
4411 * page/Console.h:
4412
44132008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4414
zimmermann@webkit.org2ea0e882008-12-03 17:00:11 +00004415 Reviewed by Alexey Proskuryakov.
4416
4417 Next steps to make LayoutTests work:
4418 Never access the main frame from WMLRefreshElement/WMLCardElement, but
4419 the current documents frame (WML layout tests will run in an <iframe>)
4420
4421 Prepare WMLErrorHandling for the case that no tokenizer is available anymore
4422 -> report errors through Console::addMessage(), so they get logged in the
4423 expected layout test results.
4424
4425 * wml/WMLCardElement.cpp:
4426 (WebCore::WMLCardElement::setActiveCardInDocument):
4427 * wml/WMLErrorHandling.cpp:
4428 (WebCore::reportWMLError):
4429 (WebCore::errorMessageForErrorCode):
4430 * wml/WMLErrorHandling.h:
4431 * wml/WMLRefreshElement.cpp:
4432 (WebCore::WMLRefreshElement::executeTask):
4433 * page/Console.cpp: Handle WMLMessageSource.
4434 (WebCore::printMessageSourceAndLevelPrefix):
4435 * page/Console.h: Add WMLMessageSource.
4436 (WebCore::):
4437
vestbo@webkit.org8126f622008-12-03 16:53:25 +000044382008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>
4439
4440 Reviewed by Simon Hausmann.
4441
4442 Allow passing jsNull and jsUndefined to Qt plugins
4443
4444 Currently limited to functions with QString and QVariant arguments,
4445 and properties of these types. Both jsNull and jsUndefined ends up
4446 as default-constructed QStrings and QVariants, which means you can
4447 check for isEmpty() and isValid() in the native plugin code.
4448
4449 Based on patches by Jade Han <jade.han@nokia.com>
4450
4451 * bridge/qt/qt_runtime.cpp:
4452 (JSC::Bindings::convertValueToQVariant):
4453 (JSC::Bindings::findMethodIndex):
4454
hausmann@webkit.org949a1db2008-12-03 16:36:24 +000044552008-12-03 Trenton Schulz <trenton.schulz@nokia.com>
4456
4457 Reviewed by Simon Hausmann.
4458
4459 Fix the build with Qt for Mac OS X.
4460
4461 * platform/PurgeableBuffer.h: Use the dummy wrappers for now.
4462
zimmermann@webkit.orga41247c2008-12-03 16:12:35 +000044632008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4464
4465 Reviewed by Alexey Proskuryakov.
4466
zimmermann@webkit.org7a116912008-12-03 16:28:42 +00004467 Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
4468 in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariableName' error should be
4469 reported, instead of 'WMLErrorInvalidVariableReference'.
4470
4471 * wml/WMLElement.cpp:
4472 (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
4473 (WebCore::WMLElement::parseValueForbiddingVariableReferences):
4474 * wml/WMLElement.h:
4475 * wml/WMLSetvarElement.cpp:
4476 (WebCore::WMLSetvarElement::parseMappedAttribute):
4477 * wml/WMLSetvarElement.h:
4478 (WebCore::WMLSetvarElement::name):
4479 (WebCore::WMLSetvarElement::value):
4480
44812008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4482
4483 Reviewed by Alexey Proskuryakov.
4484
zimmermann@webkit.orga41247c2008-12-03 16:12:35 +00004485 Preparations to get WML layout tests going.
4486 Make WMLPageState an OwnPtr to Page, and let Page create it on demand.
4487
4488 * page/Page.cpp:
4489 (WebCore::Page::Page):
4490 (WebCore::Page::wmlPageState):
4491 * page/Page.h:
4492 * wml/WMLDocument.cpp:
4493 (WebCore::WMLDocument::WMLDocument):
4494 (WebCore::WMLDocument::finishedParsing):
4495 (WebCore::wmlPageStateForDocument):
4496 * wml/WMLPageState.h: Don't inherit from RefCounted anymore.
4497 (WebCore::WMLPageState::hasVariables): Remove helper function.
4498
ap@webkit.org64bd0b72008-12-03 15:57:22 +000044992008-12-03 Alexey Proskuryakov <ap@webkit.org>
4500
4501 Reviewed by Mark Rowe.
4502
4503 https://bugs.webkit.org/show_bug.cgi?id=22627
4504 fast/workers/worker-terminate.html fails randomly
4505
4506 The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
4507 is raised, and it sometimes reaches the main thread.
4508
4509 * dom/WorkerMessagingProxy.cpp:
4510 (WebCore::WorkerExceptionTask::create):
4511 (WebCore::WorkerExceptionTask::WorkerExceptionTask):
4512 (WebCore::WorkerExceptionTask::performTask):
4513 (WebCore::WorkerMessagingProxy::postWorkerException):
4514 * dom/WorkerMessagingProxy.h:
4515 Ignore exceptions that happen in terminated workers.
4516
zimmermann@webkit.org1b16c1d2008-12-03 15:52:38 +000045172008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4518
4519 Reviewed by Alexey Proskuryakov.
4520
4521 Remove some unncessary includes.
4522
4523 * wml/WMLAccessElement.cpp:
4524 * wml/WMLDocument.h:
4525 * wml/WMLRefreshElement.cpp:
4526
ap@webkit.orgf809c4d2008-12-03 15:25:08 +000045272008-12-03 Alexey Proskuryakov <ap@webkit.org>
4528
4529 Rubber-stamped by Cameron Zwarich and Adam Roben.
4530
4531 Fix a typo: m_executionForbidded.
4532
4533 * bindings/js/WorkerScriptController.cpp:
4534 (WebCore::WorkerScriptController::WorkerScriptController):
4535 (WebCore::WorkerScriptController::evaluate):
4536 (WebCore::WorkerScriptController::forbidExecution):
4537 * bindings/js/WorkerScriptController.h:
4538
ddkilzer@apple.com6247f022008-12-03 15:01:04 +000045392008-12-03 Dean McNamee <deanm@chromium.org>
4540
4541 Bug 22623: Uninitialized memory access in cache parsing code
4542 <https://bugs.webkit.org/show_bug.cgi?id=22623>
4543
4544 Reviewed by David Kilzer.
4545
4546 Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.
4547
4548 * platform/network/ResourceResponseBase.h:
4549 (WebCore::ResourceResponseBase::ResourceResponseBase):
4550
antti@apple.com7a8fbb52008-12-03 09:42:49 +000045512008-12-03 Antti Koivisto <antti@apple.com>
4552
antti@apple.com677d2972008-12-03 09:56:30 +00004553 Probable build fix.
4554
4555 * WebCoreSources.bkl:
4556
45572008-12-03 Antti Koivisto <antti@apple.com>
4558
antti@apple.com24700312008-12-03 09:51:51 +00004559 Forgot to commit these.
4560
4561 * dom/Node.cpp:
4562 (WebCore::forEachTagSelector):
4563 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
4564 (WebCore::Node::querySelector):
4565 * dom/SelectorNodeList.cpp:
4566 (WebCore::createSelectorNodeList):
4567
45682008-12-03 Antti Koivisto <antti@apple.com>
4569
antti@apple.com7a8fbb52008-12-03 09:42:49 +00004570 Reviewed by Dan Bernstein and Mark Rowe.
4571
4572 https://bugs.webkit.org/show_bug.cgi?id=22379
4573 Make CSSOM use less memory
4574
4575 Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
4576 struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
4577 encountered had rare data.
4578
4579 This also eliminates the CSSNthSelector subclass which will make possible to store
4580 CSSSelectors in an array instead of a linked list for futher memory savings.
4581
4582 * css/CSSGrammar.y:
4583 * css/CSSNthSelector.cpp: Removed.
4584 * css/CSSNthSelector.h: Removed.
4585 * css/CSSParser.cpp:
4586 (WebCore::CSSParser::createFloatingSelector):
4587 * css/CSSParser.h:
4588 * css/CSSSelector.cpp:
4589 (WebCore::CSSSelector::specificity):
4590 (WebCore::CSSSelector::operator==):
4591 (WebCore::CSSSelector::selectorText):
4592 (WebCore::CSSSelector::setTagHistory):
4593 (WebCore::CSSSelector::attribute):
4594 (WebCore::CSSSelector::setAttribute):
4595 (WebCore::CSSSelector::setArgument):
4596 (WebCore::CSSSelector::setSimpleSelector):
4597 (WebCore::CSSSelector::parseNth):
4598 (WebCore::CSSSelector::matchNth):
4599 (WebCore::CSSSelector::RareData::parseNth):
4600 (WebCore::CSSSelector::RareData::matchNth):
4601 * css/CSSSelector.h:
4602 (WebCore::CSSSelector::CSSSelector):
4603 (WebCore::CSSSelector::~CSSSelector):
4604 (WebCore::CSSSelector::tagHistory):
4605 (WebCore::CSSSelector::hasAttribute):
4606 (WebCore::CSSSelector::argument):
4607 (WebCore::CSSSelector::simpleSelector):
4608 (WebCore::CSSSelector::RareData::RareData):
4609 (WebCore::CSSSelector::createRareData):
4610 (WebCore::CSSSelector::):
4611 * css/CSSStyleSelector.cpp:
4612 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
4613 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
4614
ap@webkit.org67e535c2008-12-03 08:27:31 +000046152008-12-03 Jian Li <jianli@chromium.org>
4616
4617 Reviewed by Alexey Proskuryakov.
4618
4619 Remove unneeded included file in WorkerThread.cpp.
4620 https://bugs.webkit.org/show_bug.cgi?id=22613
4621
4622 * dom/WorkerThread.cpp: No need to include JSWorkerContext.h.
4623
ap@webkit.org773343a2008-12-03 07:42:38 +000046242008-12-02 Alexey Proskuryakov <ap@webkit.org>
4625
4626 Reviewed by Maciej Stachowiak.
4627
4628 https://bugs.webkit.org/show_bug.cgi?id=22543
4629 Consolidate ActiveDOMObject page cache interaction
4630
4631 Test: http/tests/xmlhttprequest/abort-on-leaving-page.html
4632
4633 * dom/ActiveDOMObject.cpp:
4634 (WebCore::ActiveDOMObject::canSuspend):
4635 (WebCore::ActiveDOMObject::suspend):
4636 (WebCore::ActiveDOMObject::resume):
4637 * dom/ActiveDOMObject.h:
4638 * dom/ScriptExecutionContext.cpp:
4639 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
4640 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
4641 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
4642 * dom/ScriptExecutionContext.h:
4643 Added methods for suspending and resuming active objects.
4644
4645 * dom/Worker.cpp:
4646 (WebCore::Worker::canSuspend):
4647 (WebCore::Worker::stop):
4648 * dom/Worker.h:
4649 Workers cannot be suspended yet. This is a change in behavior, as workers used to keep
4650 running until their owner was destroyed.
4651
4652 * loader/FrameLoader.cpp:
4653 (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because
4654 their activity is not necessarily loading.
4655 (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended.
4656 Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page
4657 uncacheable due to no-null main document error.
4658 (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on
4659 whether the document will be cached.
4660 (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their
4661 context is destroyed.
4662
4663 * xml/XMLHttpRequest.h: added canSuspend().
4664 * xml/XMLHttpRequest.cpp:
4665 (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended.
4666 (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events
4667 for Firefox compatibility. This is a change in behavior that helps test that requests do
4668 get aborted.
4669 (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so
4670 assert that.
4671
cfleizach@apple.com769887b2008-12-03 01:03:56 +000046722008-12-02 Chris Fleizach <cfleizach@apple.com>
4673
4674 Reviewed by Beth Dakin.
4675
4676 Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?
4677
4678 Test: accessibility/th-as-title-ui.html
4679
4680 * page/AccessibilityObject.h:
4681 (WebCore::AccessibilityObject::isGroup):
4682 * page/AccessibilityRenderObject.cpp:
4683 (WebCore::AccessibilityRenderObject::isGroup):
4684 * page/AccessibilityRenderObject.h:
4685 * page/AccessibilityTableCell.cpp:
4686 (WebCore::AccessibilityTableCell::rowIndexRange):
4687 (WebCore::AccessibilityTableCell::columnIndexRange):
4688 (WebCore::AccessibilityTableCell::titleUIElement):
4689 * page/AccessibilityTableCell.h:
4690 * page/mac/AccessibilityObjectWrapper.mm:
4691 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
4692
simon.fraser@apple.com2e3c8142008-12-02 23:15:49 +000046932008-12-02 Simon Fraser <simon.fraser@apple.com>
4694
4695 Reviewed by Dave Hyatt
4696
4697 https://bugs.webkit.org/show_bug.cgi?id=22472
4698
4699 Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
4700 that is large enough to encompass the selection, so that the repainting of
4701 selected replaced elements works correctly.
4702
4703 Test: fast/repaint/selected-replaced.html
4704
4705 * rendering/RenderReplaced.cpp:
4706 (WebCore::RenderReplaced::selectionRect):
4707 (WebCore::RenderReplaced::localSelectionRect):
4708 (WebCore::RenderReplaced::absoluteClippedOverflowRect):
4709 * rendering/RenderReplaced.h:
4710
cfleizach@apple.com824258f2008-12-02 22:58:09 +000047112008-12-02 Gregory Hughes <ghughes@apple.com>
4712
4713 Reviewed by Beth Dakin.
4714
4715 Bug 22513: ZOOM: text selection does not send correct zoom bounds
4716
4717 When zoomed, text selection must send the zoom bounds in flipped
4718 screen coordinates.
4719
4720 * editing/mac/SelectionControllerMac.mm:
4721 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
4722 * page/mac/WebCoreViewFactory.h:
4723
dino@apple.com4e5ca0a2008-12-02 22:16:14 +000047242008-12-02 Dean Jackson <dino@apple.com>
4725
4726 Reviewed by Sam Weinig.
4727
4728 Remove support for 'now' from CSS (was
4729 erroneously added to transition and animation delay)
4730 https://bugs.webkit.org/show_bug.cgi?id=22571
4731
4732 * css/CSSParser.cpp:
4733 (WebCore::CSSParser::parseAnimationDelay):
4734 * css/CSSStyleSelector.cpp:
4735 (WebCore::CSSStyleSelector::mapAnimationDelay):
4736 * css/CSSValueKeywords.in:
4737
eric@webkit.orgafb90c62008-12-02 22:03:47 +000047382008-12-02 Eric Seidel <eric@webkit.org>
4739
4740 Build fix, no review.
4741
4742 Fix the Mac and gtk builds:
4743 Don't use a float to hold a double.
4744 Remove a now duplicate symbol.
4745
eric@webkit.orgafb90c62008-12-02 22:03:47 +00004746 * page/Frame.cpp:
4747 (WebCore::Frame::selectionLayoutChanged):
4748 * platform/gtk/TemporaryLinkStubs.cpp:
4749
cfleizach@apple.com7dbac612008-12-02 21:29:18 +000047502008-12-02 Chris Fleizach <cfleizach@apple.com>
4751
4752 Bug 22596: Some elements don't report AXBlockQuoteLevel
4753 https://bugs.webkit.org/show_bug.cgi?id=22596
4754
4755 Reviewed by John Sullivan.
4756
4757 * page/mac/AccessibilityObjectWrapper.mm:
4758 (blockquoteLevel):
4759 (AXAttributeStringSetBlockquoteLevel):
4760 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
4761 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
4762
eric@webkit.orga9dea012008-12-02 20:32:37 +000047632008-12-02 Dean McNamee <deanm@chromium.org>
4764
4765 Reviewed by Eric Seidel.
4766
4767 Correctly handle a theme returning a non-blinking interval. We should
4768 not set any timers when the interval is 0 (non-blinking), otherwise we
4769 repeatedly set and destroy a blinking timer, causing a paint and timer
4770 storm. This is applicable to GTK and Windows, where a user can set a
4771 non-blinking caret in their system preferences.
4772
4773 Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.
4774
4775 * page/Frame.cpp:
4776 (WebCore::Frame::selectionLayoutChanged):
4777 * platform/Theme.h:
4778 (WebCore::Theme::caretBlinkInterval):
4779 * platform/gtk/RenderThemeGtk.cpp:
4780 (WebCore::RenderThemeGtk::caretBlinkInterval):
4781 * platform/gtk/RenderThemeGtk.h:
4782 * rendering/RenderTheme.h:
4783 (WebCore::RenderTheme::caretBlinkInterval):
4784
eric@webkit.org26ba8772008-12-02 20:27:44 +000047852008-12-02 David Levin <levin@chromium.org>
4786
4787 Reviewed by Eric Seidel.
4788
4789 https://bugs.webkit.org/show_bug.cgi?id=22538
4790
4791 startsWith uses find which searches through the whole string if no match is found.
4792 Using reverseFind with an index of 0 has the benefit of only searching for the match
4793 at the beginning of the string. This may only be a small benefit in the overall program,
4794 but it may help in some cases when the string is big.
4795
4796 No observable change in behavior, so no test.
4797
4798 * platform/text/StringImpl.h:
4799 (WebCore::StringImpl::startsWith):
4800
eric@webkit.orgc413d4d2008-12-02 20:25:26 +000048012008-10-29 Eric Seidel <eric@webkit.org>
4802
4803 Reviewed by Darin Adler.
4804
4805 Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
4806 https://bugs.webkit.org/show_bug.cgi?id=21951
4807
4808 * svg/SVGElementInstance.cpp:
4809 (WebCore::SVGElementInstance::forgetWrapper):
4810
eric@webkit.org2028fc82008-12-02 19:07:42 +000048112008-12-02 Eric Seidel <eric@webkit.org>
4812
4813 Reviewed by Darin Adler.
4814
4815 Add an ASSERT to try and catch the root cause of:
4816 https://bugs.webkit.org/show_bug.cgi?id=22168
4817 http://code.google.com/p/chromium/issues/detail?id=4122
4818
4819 * editing/TextIterator.cpp:
4820 (WebCore::TextIterator::emitText):
4821
eric@webkit.orgcba6f1f2008-12-02 19:01:17 +000048222008-12-02 Brent Fulgham <bfulgham@gmail.com>
4823
4824 Reviewed by Adam Roben.
4825
4826 Remove some CG-specific code from the Windows Cairo build.
4827 https://bugs.webkit.org/show_bug.cgi?id=22586
4828
4829 No new test cases since this update should create no user-visible
4830 changes, and should be fully covered by the existing regression
4831 tests.
4832
4833 * WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
4834 * platform/graphics/cairo/GraphicsContextCairo.cpp:
4835 (WebCore::focusRingColor): Add stub method
4836 * platform/win/TemporaryLinkStubs.cpp:
4837 (WebCore::populateFontDatabase): Add stub method.
4838
vestbo@webkit.org626c5d42008-12-02 16:03:48 +000048392008-12-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
4840
4841 Reviewed by Tor Arne Vestbø.
4842
4843 MinGW compilation fix for PluginPackageWin.cpp
4844
4845 https://bugs.webkit.org/show_bug.cgi?id=22585
4846
4847 * plugins/win/PluginPackageWin.cpp:
4848 (WebCore::PluginPackage::fetchInfo):
4849
aroben@apple.com58258b22008-12-02 15:13:44 +000048502008-12-02 Adam Roben <aroben@apple.com>
4851
4852 Build fix for Windows projects with NOMINMAX defined globally
4853
4854 * platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already
4855 defined.
4856
hausmann@webkit.org75ad0542008-12-02 10:04:25 +000048572008-12-02 Simon Hausmann <hausmann@webkit.org>
4858
4859 Reviewed by Tor Arne Vestbø.
4860
4861 Build JavaScriptCore into libQtWebKit.so through a direct build
4862 instead of a static library. When linking a static library into
4863 a shared library qmake generates an incorrect .prl file, which
4864 causes all sorts of different build problems when linking against
4865 QtWebKit. Fixing this in qmake requires bigger changes that are
4866 currently not possible, so we need to work around this limitation
4867 for now. The advantages of the separate build did not outweight the
4868 build problems it caused.
4869
4870 * WebCore.pro: include JavaScriptCore.pri, re-enable prl support
4871 and rename the lut generator to domlut to avoid a conflict with
4872 JavaScriptCore.pri's lut generator.
4873
ap@webkit.org0497fce2008-12-02 08:49:06 +000048742008-12-02 David Levin <levin@chromium.org>
4875
4876 Reviewed by Alexey Proskuryakov.
4877
4878 https://bugs.webkit.org/show_bug.cgi?id=22588
4879 Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.
4880
4881 No observable change in behavior, so no test.
4882
4883 * dom/Document.cpp:
4884 (WebCore::Document::open):
4885 (WebCore::Document::domain):
4886 (WebCore::Document::setDomain):
4887 (WebCore::Document::initSecurityContext):
4888 (WebCore::Document::setSecurityOrigin):
4889 * dom/Document.h:
4890 * dom/ScriptExecutionContext.cpp:
4891 (WebCore::ScriptExecutionContext::setSecurityOrigin):
4892 * dom/ScriptExecutionContext.h:
4893 (WebCore::ScriptExecutionContext::securityOrigin):
4894 * dom/WorkerContext.cpp:
4895 (WebCore::WorkerContext::WorkerContext):
4896 * dom/WorkerContext.h:
4897 These changes are for the move of securityOrigin().
4898
4899 * xml/XMLHttpRequest.cpp:
4900 (WebCore::XMLHttpRequest::createRequest):
4901 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
4902 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
4903 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
4904 (WebCore::XMLHttpRequest::setRequestHeader):
4905 (WebCore::XMLHttpRequest::getAllResponseHeaders):
4906 (WebCore::XMLHttpRequest::getResponseHeader):
4907 (WebCore::XMLHttpRequest::processSyncLoadResults):
4908 (WebCore::XMLHttpRequest::willSendRequest):
4909 (WebCore::XMLHttpRequest::accessControlCheck):
4910 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
4911 Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
4912
hausmann@webkit.org4cbdb452008-12-02 08:26:37 +000049132008-12-02 André Pönitz <apoenitz@trolltech.com>
4914
4915 Reviewed by Simon Hausmann.
4916
4917 Disable the creation of debug information for the Qt build when done
4918 inside Qt. With 670 mb it was slowing down gdb start significantly
4919 for third-party applications that usually don't need it.
4920
4921 * WebCore.pro:
4922
bdakin@apple.comd20e0472008-12-02 07:24:15 +000049232008-12-01 Beth Dakin <bdakin@apple.com>
4924
4925 Reviewed by Dan Bernstein.
4926
4927 Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
4928 (r19811): Using the down arrow in a textarea gets "stuck" at the
4929 end of a wrapped line
4930 And corresponding: <rdar://problem/5347931>
4931
4932 The basic problem here is that Position::getInlineBoxAndOffset()
4933 failed to look beyond a single renderer. This patch looks for a
4934 better match beyond the first renderer when the affinity is
4935 downstream and we failed to find a "perfect" match.
4936 * dom/Position.cpp:
4937 (WebCore::isNonTextLeafChild):
4938 (WebCore::searchAheadForBetterMatch):
4939 (WebCore::Position::getInlineBoxAndOffset):
4940
4941 This is a fix I made based on code inspection. It looks like the
4942 old code here and skipped over the parent as a possible match.
4943 * rendering/RenderObject.cpp:
4944 (WebCore::RenderObject::nextInPreOrderAfterChildren):
4945
pewtermoose@webkit.orgc6b70212008-12-02 06:49:22 +000049462008-12-01 Brent Fulgham <bfulgham@gmail.com>
4947
4948 Reviewed by Adam Roben.
4949
4950 Add WML related files to Visual Studio projects.
4951 https://bugs.webkit.org/show_bug.cgi?id=22561
4952
4953 * WebCore.vcproj/WebCore.vcproj:
4954 1. Add files from the wml directory to the set of windows files.
4955 2. Extend include paths with new wml directory.
4956 3. Add new autogenerated WML files to DerivedSources.
4957 4. Alphabetize preprocesor includes (holdover from earlier debugging).
4958
sfalken@apple.com58d48162008-12-02 05:08:33 +000049592008-12-01 Steve Falkenburg <sfalken@apple.com>
4960
sfalken@apple.com1295d5d2008-12-02 05:25:15 +00004961 Revise node/selection image fix.
4962 Moved updateLayout call so selection rect is fetched after the layout.
4963
4964 Reviewed by Adam Roben.
4965
4966 * page/win/FrameCGWin.cpp:
4967 (WebCore::imageFromRect):
4968 (WebCore::imageFromSelection):
4969 (WebCore::Frame::nodeImage):
4970
49712008-12-01 Steve Falkenburg <sfalken@apple.com>
4972
sfalken@apple.com58d48162008-12-02 05:08:33 +00004973 Support needed to implement renderedImage for Windows.
4974 https://bugs.webkit.org/show_bug.cgi?25648
4975
4976 Reviewed by Adam Roben.
4977
4978 * page/Frame.h:
4979 * page/win/FrameCGWin.cpp:
4980 (WebCore::imageFromRect):
4981 (WebCore::imageFromSelection):
4982 (WebCore::Frame::nodeImage):
4983 * page/win/FrameCairoWin.cpp:
4984 (WebCore::imageFromNode):
4985
simon.fraser@apple.comdcb0b1642008-12-02 05:01:21 +000049862008-12-01 Simon Fraser <simon.fraser@apple.com>
4987
4988 Reviewed by Dan Bernstein
4989
4990 https://bugs.webkit.org/show_bug.cgi?id=22581
4991
4992 Fix the painting of the caps lock indicator for transformed text inputs,
4993 by replacing a call to absoluteContentBox() with code that computes the
4994 painting rect for the input contents.
4995
4996 * rendering/RenderTextControl.cpp:
4997 (WebCore::RenderTextControl::paint):
4998
zimmermann@webkit.org2f7137c2008-12-02 02:49:35 +000049992008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5000
zimmermann@webkit.org20795e12008-12-02 02:59:41 +00005001 Reviewed by George Staikos.
zimmermann@webkit.org2f7137c2008-12-02 02:49:35 +00005002
zimmermann@webkit.org1707c652008-12-02 03:04:15 +00005003 Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.
5004
5005 Convert all elements to parse their attribute values using these new helper functions. This simplifies the
5006 actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
5007 an error if there's a variable reference used in the attribute value, or if it's invalid.
5008
5009 Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
5010 in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.
5011
5012 * wml/WMLAccessElement.cpp:
5013 (WebCore::WMLAccessElement::parseMappedAttribute):
5014 * wml/WMLDoElement.cpp:
5015 (WebCore::WMLDoElement::defaultEventHandler):
5016 (WebCore::WMLDoElement::parseMappedAttribute):
5017 * wml/WMLElement.cpp:
5018 (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
5019 (WebCore::WMLElement::parseValueForbiddingVariableReferences):
5020 * wml/WMLElement.h:
5021 * wml/WMLErrorHandling.cpp:
5022 (WebCore::reportWMLError):
5023 * wml/WMLErrorHandling.h:
5024 (WebCore::):
5025 * wml/WMLOnEventElement.cpp:
5026 (WebCore::WMLOnEventElement::parseMappedAttribute):
5027 * wml/WMLPrevElement.cpp:
5028 (WebCore::WMLPrevElement::executeTask):
5029 * wml/WMLSetvarElement.cpp:
5030 (WebCore::WMLSetvarElement::parseMappedAttribute):
5031 * wml/WMLTimerElement.cpp:
5032 (WebCore::WMLTimerElement::parseMappedAttribute):
5033
50342008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5035
5036 Reviewed by George Staikos.
5037
zimmermann@webkit.org2f7137c2008-12-02 02:49:35 +00005038 Fix switching active cards within a document. No way to test, until <go> support is implemented.
5039
5040 * wml/WMLCardElement.cpp:
5041 (WebCore::WMLCardElement::showCard):
5042 (WebCore::WMLCardElement::hideCard):
5043 (WebCore::WMLCardElement::setActiveCardInDocument):
5044 * wml/WMLCardElement.h:
5045
ddkilzer@apple.com90c29f52008-12-02 00:53:35 +000050462008-12-01 David Kilzer <ddkilzer@apple.com>
5047
ddkilzer@apple.com7f693e72008-12-02 01:07:50 +00005048 Fix logic error in LegacyWebArchive::create() from r38884.
5049
5050 * loader/archive/cf/LegacyWebArchive.cpp:
5051 (WebCore::LegacyWebArchive::create): Only continue if the
5052 subresource is actually added.
5053
50542008-12-01 David Kilzer <ddkilzer@apple.com>
5055
ddkilzer@apple.com90c29f52008-12-02 00:53:35 +00005056 Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
5057
5058 <https://bugs.webkit.org/show_bug.cgi?id=22466>
5059 <rdar://problem/6403593>
5060
5061 Reviewed by Brady Eidson.
5062
5063 Test: http/tests/webarchive/test-preload-resources.html
5064
5065 * loader/archive/cf/LegacyWebArchive.cpp:
5066 (WebCore::LegacyWebArchive::create): Check the WebCore cache for
5067 resources if DocumentLoader::subresource() doesn't return them.
5068 Note that the DocumentLoader::subresource() method returned
5069 preloaded resources before r35867, but this caused a regression in
5070 Mail.
5071
jchaffraix@webkit.org74dae402008-12-01 23:07:04 +000050722008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
5073
jchaffraix@webkit.org0e8f0492008-12-02 00:10:33 +00005074 Reviewed by Eric Seidel.
5075
5076 Bug 22564: Make HTML elements' constructors take a QualifiedName
5077 https://bugs.webkit.org/show_bug.cgi?id=22564
5078
5079 - Modified the remaining HTML elements' constructors to take a QualifiedName.
5080
5081 - Added an assertion that the QualifiedName given corresponds to the element constructed.
5082
5083 * bindings/js/JSAudioConstructor.cpp:
5084 (WebCore::constructAudio):
5085 * html/HTMLAudioElement.cpp:
5086 (WebCore::HTMLAudioElement::HTMLAudioElement):
5087 * html/HTMLAudioElement.h:
5088 * html/HTMLBRElement.cpp:
5089 (WebCore::HTMLBRElement::HTMLBRElement):
5090 * html/HTMLBRElement.h:
5091 * html/HTMLElement.cpp:
5092 (WebCore::HTMLElement::setInnerText):
5093 * html/HTMLElementFactory.cpp:
5094 (WebCore::brConstructor):
5095 (WebCore::quoteConstructor):
5096 (WebCore::marqueeConstructor):
5097 (WebCore::audioConstructor):
5098 (WebCore::videoConstructor):
5099 (WebCore::sourceConstructor):
5100 * html/HTMLMarqueeElement.cpp:
5101 (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
5102 * html/HTMLMarqueeElement.h:
5103 * html/HTMLQuoteElement.cpp:
5104 (WebCore::HTMLQuoteElement::HTMLQuoteElement):
5105 * html/HTMLQuoteElement.h:
5106 * html/HTMLSourceElement.cpp:
5107 (WebCore::HTMLSourceElement::HTMLSourceElement):
5108 * html/HTMLSourceElement.h:
5109 * html/HTMLVideoElement.cpp:
5110 (WebCore::HTMLVideoElement::HTMLVideoElement):
5111 * html/HTMLVideoElement.h:
5112 * rendering/RenderTextControl.cpp:
5113 (WebCore::RenderTextControl::updateFromElement):
5114
51152008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
5116
jchaffraix@webkit.org74dae402008-12-01 23:07:04 +00005117 Reviewed by Antti Koivisto.
5118
5119 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
5120 https://bugs.webkit.org/show_bug.cgi?id=22441
5121
5122 Add an assertion to the modified HTML elements' constructor
5123 to check that the QualifiedName parameter is the one that
5124 matches the Element's.
5125
5126 * html/HTMLBaseElement.cpp:
5127 (WebCore::HTMLBaseElement::HTMLBaseElement):
5128 * html/HTMLBlockquoteElement.cpp:
5129 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
5130 * html/HTMLBodyElement.cpp:
5131 (WebCore::HTMLBodyElement::HTMLBodyElement):
5132 * html/HTMLButtonElement.cpp:
5133 (WebCore::HTMLButtonElement::HTMLButtonElement):
5134 * html/HTMLDListElement.cpp:
5135 (WebCore::HTMLDListElement::HTMLDListElement):
5136 * html/HTMLDirectoryElement.cpp:
5137 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
5138 * html/HTMLDivElement.cpp:
5139 (WebCore::HTMLDivElement::HTMLDivElement):
5140 * html/HTMLFieldSetElement.cpp:
5141 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
5142 * html/HTMLFormElement.cpp:
5143 (WebCore::HTMLFormElement::HTMLFormElement):
5144 * html/HTMLFrameElement.cpp:
5145 (WebCore::HTMLFrameElement::HTMLFrameElement):
5146 * html/HTMLFrameSetElement.cpp:
5147 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
5148 * html/HTMLHeadElement.cpp:
5149 (WebCore::HTMLHeadElement::HTMLHeadElement):
5150 * html/HTMLHtmlElement.cpp:
5151 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
5152 * html/HTMLIFrameElement.cpp:
5153 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
5154 * html/HTMLInputElement.cpp:
5155 (WebCore::HTMLInputElement::HTMLInputElement):
5156 * html/HTMLIsIndexElement.cpp:
5157 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
5158 * html/HTMLKeygenElement.cpp:
5159 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
5160 * html/HTMLLIElement.cpp:
5161 (WebCore::HTMLLIElement::HTMLLIElement):
5162 * html/HTMLLabelElement.cpp:
5163 (WebCore::HTMLLabelElement::HTMLLabelElement):
5164 * html/HTMLLegendElement.cpp:
5165 (WebCore::HTMLLegendElement::HTMLLegendElement):
5166 * html/HTMLLinkElement.cpp:
5167 (WebCore::HTMLLinkElement::HTMLLinkElement):
5168 * html/HTMLMenuElement.cpp:
5169 (WebCore::HTMLMenuElement::HTMLMenuElement):
5170 * html/HTMLMetaElement.cpp:
5171 (WebCore::HTMLMetaElement::HTMLMetaElement):
5172 * html/HTMLOListElement.cpp:
5173 (WebCore::HTMLOListElement::HTMLOListElement):
5174 * html/HTMLOptGroupElement.cpp:
5175 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
5176 * html/HTMLOptionElement.cpp:
5177 (WebCore::HTMLOptionElement::HTMLOptionElement):
5178 * html/HTMLSelectElement.cpp:
5179 (WebCore::HTMLSelectElement::HTMLSelectElement):
5180 * html/HTMLStyleElement.cpp:
5181 (WebCore::HTMLStyleElement::HTMLStyleElement):
5182 * html/HTMLTextAreaElement.cpp:
5183 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
5184 * html/HTMLTitleElement.cpp:
5185 (WebCore::HTMLTitleElement::HTMLTitleElement):
5186 * html/HTMLUListElement.cpp:
5187 (WebCore::HTMLUListElement::HTMLUListElement):
5188
cmarrin@apple.com01930792008-12-01 22:50:14 +000051892008-12-01 Chris Marrin <cmarrin@apple.com>
5190
5191 Reviewed by Darin Adler.
5192
5193 https://bugs.webkit.org/show_bug.cgi?id=22046
5194
5195 Fixed another case of crashing because the animation object is getting deleted when
5196 it's in the middle of a callback. I actually moved where I am retaining the pointer
5197 up out of the lower level AnimationBase code and into the timer callback that calls
5198 them. So now the pointer is valid throughout the entire sequence of callback code.
5199
5200 The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
5201 crash which this patch fixes.
5202
5203 * page/animation/AnimationBase.cpp:
5204 (WebCore::AnimationBase::updateStateMachine):
5205 (WebCore::AnimationBase::animationTimerCallbackFired):
5206 * page/animation/CompositeAnimation.cpp:
5207 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
5208 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
5209 (WebCore::CompositeAnimationPrivate::styleAvailable):
5210 * page/animation/ImplicitAnimation.cpp:
5211 (WebCore::ImplicitAnimation::sendTransitionEvent):
5212 * page/animation/KeyframeAnimation.cpp:
5213 (WebCore::KeyframeAnimation::sendAnimationEvent):
5214 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
5215
vestbo@webkit.orgf94ae3f2008-12-01 09:25:48 +000052162008-12-01 Tor Arne Vestbø <tavestbo@trolltech.com>
5217
5218 Reviewed by Simon Hausmann.
5219
5220 [Qt/Mac] Initialize NPAPI plugins before getting their entry points
5221
5222 The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
5223 copied from Windows, but caused Silverlight on Mac to crash when loaded.
5224
5225 Apparently the call order of NP_Initialize and NP_GetEntryPoints is
5226 reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
5227
5228 Reported-by: Peter Johnson <peter@zattoo.com>
5229
5230 * plugins/mac/PluginPackageMac.cpp:
5231 (WebCore::PluginPackage::load):
5232
cfleizach@apple.comf005da92008-12-01 05:35:44 +000052332008-11-30 Chris Fleizach <cfleizach@apple.com>
5234
5235 Reviewed by John Sullivan.
5236
5237 https://bugs.webkit.org/show_bug.cgi?id=22510
5238 Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
5239
5240 A nil pointer needed to be checked
5241
5242 * page/AccessibilityRenderObject.cpp:
5243 (WebCore::AccessibilityRenderObject::activeDescendant):
5244
ap@webkit.org12a09f62008-11-30 08:31:11 +000052452008-11-30 Alexey Proskuryakov <ap@webkit.org>
5246
5247 Reviewed by Dan Bernstein.
5248
5249 https://bugs.webkit.org/show_bug.cgi?id=22530
5250 Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
5251
5252 * dom/WorkerThread.cpp:
5253 (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
5254 function runs to completion before the thread begins execution.
5255 (WebCore::WorkerThread::workerThread): Updated comments.
5256 (WebCore::WorkerThread::stop): Ditto.
5257 * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
5258 protects startup as a whole.
5259
5260 * storage/DatabaseThread.cpp:
5261 * storage/DatabaseThread.h:
5262 * storage/LocalStorageThread.cpp:
5263 * storage/LocalStorageThread.h:
5264 Fixed the same m_threadID problem.
5265
pewtermoose@webkit.orgb4b72e952008-11-29 23:44:49 +000052662008-11-29 Brent Fulgham <bfulgham@gmail.com>
5267
5268 Reviewed by Alexey Proskuryakov.
5269
5270 Remove Visual Studio project dependencies on non-redistributable
5271 components in the Debug_Cairo and Release_Cairo build targets.
5272 See https://bugs.webkit.org/show_bug.cgi?id=22527
5273
5274 * WebCore.vcproj/WebCore.vcproj:
5275
weinig@apple.comaea8b842008-11-29 22:35:04 +000052762008-11-29 Sam Weinig <sam@webkit.org>
5277
5278 Rubber-stamped by Alexey Proskuryakov.
5279
5280 Fix some sorting
5281
5282 * WebCore.xcodeproj/project.pbxproj:
5283
weinig@apple.com32e92c52008-11-29 22:33:49 +000052842008-11-28 Sam Weinig <sam@webkit.org>
5285
5286 Reviewed by Alexey Proskuryakov.
5287
5288 Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
5289 NULL pointer crash in dispatchEvent(null);
5290
5291 Test: fast/events/dispatchEvent-crash.html
5292
5293 * dom/MessagePort.cpp:
5294 (WebCore::MessagePort::dispatchEvent):
5295 * dom/Worker.cpp:
5296 (WebCore::Worker::dispatchEvent):
5297 * dom/WorkerContext.cpp:
5298 (WebCore::WorkerContext::dispatchEvent):
5299 * loader/appcache/DOMApplicationCache.cpp:
5300 (WebCore::DOMApplicationCache::dispatchEvent):
5301 * xml/XMLHttpRequest.cpp:
5302 (WebCore::XMLHttpRequest::dispatchEvent):
5303 * xml/XMLHttpRequestUpload.cpp:
5304 (WebCore::XMLHttpRequestUpload::dispatchEvent):
5305
mitz@apple.com5ded92f2008-11-29 21:40:23 +000053062008-11-29 Dan Bernstein <mitz@apple.com>
5307
5308 Reviewed by Alexey Proskuryakov.
5309
5310 - fix https://bugs.webkit.org/show_bug.cgi?id=22454
5311 <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
5312
5313 Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
5314
5315 The crash happened because style recalculation was invoked by
5316 CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
5317 before another CSSSegmentedFontFace using the same CSSFontFace had done
5318 so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
5319 prune their tables before telling the CSSFontSelector to recalc style.
5320
5321 * css/CSSFontFace.cpp:
5322 (WebCore::CSSFontFace::fontLoaded):
5323 * css/CSSFontSelector.cpp:
5324 (WebCore::CSSFontSelector::fontLoaded):
5325 * css/CSSFontSelector.h:
5326 * css/CSSSegmentedFontFace.cpp:
5327 (WebCore::CSSSegmentedFontFace::fontLoaded):
5328
ap@webkit.org0e0abeb2008-11-29 18:29:10 +000053292008-11-29 Alexey Proskuryakov <ap@webkit.org>
5330
5331 Reviewed by Eric Seidel.
5332
5333 https://bugs.webkit.org/show_bug.cgi?id=14968
5334 document.open() erroneously returns void instead of the new Document
5335
5336 Test: fast/dom/HTMLDocument/document-open-return-value.html
5337
5338 * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
5339 Return the document on which this method was invoked, per HTML5.
5340
zimmermann@webkit.org1c3ac8e2008-11-28 21:36:13 +000053412008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5342
zimmermann@webkit.org44591d02008-11-29 04:00:20 +00005343 Reviewed by Cameron Zwarich.
5344
5345 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
5346
5347 Add <timer> element support. It provides a way to execute a task with a delay.
5348 The user is notified by firing the task associated with the <card>'s ontimer attribute.
5349 Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
5350
5351 * WebCore.xcodeproj/project.pbxproj:
5352 * wml/WMLCardElement.cpp:
5353 (WebCore::WMLCardElement::WMLCardElement):
5354 (WebCore::WMLCardElement::setIntrinsicEventTimer):
5355 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
5356 * wml/WMLCardElement.h:
5357 * wml/WMLDoElement.cpp:
5358 (WebCore::WMLDoElement::defaultEventHandler):
5359 * wml/WMLErrorHandling.cpp:
5360 (WebCore::reportWMLError):
5361 * wml/WMLPageState.h:
5362 (WebCore::WMLPageState::getVariable):
5363 * wml/WMLPrevElement.cpp:
5364 (WebCore::WMLPrevElement::executeTask):
5365 * wml/WMLRefreshElement.cpp:
5366 (WebCore::WMLRefreshElement::executeTask):
5367 * wml/WMLTagNames.in:
5368 * wml/WMLTimerElement.cpp: Added.
5369 (WebCore::WMLTimerElement::WMLTimerElement):
5370 (WebCore::WMLTimerElement::parseMappedAttribute):
5371 (WebCore::WMLTimerElement::insertedIntoDocument):
5372 (WebCore::WMLTimerElement::timerFired):
5373 (WebCore::WMLTimerElement::start):
5374 (WebCore::WMLTimerElement::stop):
5375 (WebCore::WMLTimerElement::storeIntervalToPageState):
5376 * wml/WMLTimerElement.h: Added.
5377
53782008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5379
zimmermann@webkit.orgc1a85412008-11-29 02:52:04 +00005380 Reviewed by Holger Freyther.
5381
5382 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
5383
5384 Add <do> element support. It provides a way to bind a task element to a <template>/<card> element.
5385 Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
5386
5387 * WebCore.xcodeproj/project.pbxproj:
5388 * rendering/RenderButton.cpp:
5389 (WebCore::RenderButton::updateFromElement):
5390 * wml/WMLCardElement.cpp:
5391 (WebCore::WMLCardElement::registerDoElement):
5392 * wml/WMLCardElement.h:
5393 * wml/WMLDoElement.cpp: Added.
5394 (WebCore::WMLDoElement::WMLDoElement):
5395 (WebCore::WMLDoElement::defaultEventHandler):
5396 (WebCore::WMLDoElement::parseMappedAttribute):
5397 (WebCore::WMLDoElement::insertedIntoDocument):
5398 (WebCore::WMLDoElement::createRenderer):
5399 (WebCore::WMLDoElement::recalcStyle):
5400 * wml/WMLDoElement.h: Added.
5401 (WebCore::WMLDoElement::registerTask):
5402 (WebCore::WMLDoElement::isActive):
5403 (WebCore::WMLDoElement::label):
5404 (WebCore::WMLDoElement::name):
5405 (WebCore::WMLDoElement::setActive):
5406 (WebCore::WMLDoElement::setNoop):
5407 * wml/WMLNoopElement.cpp:
5408 (WebCore::WMLNoopElement::insertedIntoDocument):
5409 * wml/WMLTagNames.in:
5410 * wml/WMLTaskElement.cpp:
5411 (WebCore::WMLTaskElement::insertedIntoDocument):
5412
54132008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5414
zimmermann@webkit.org1c3ac8e2008-11-28 21:36:13 +00005415 Reviewed by Sam Weinig.
5416
5417 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
5418
5419 Add onenterforward/onenterbackward/ontimer support for <card> elements.
5420
5421 No testing possible at the moment because WMLGoElement is not yet implemented.
5422 After that we can add tests covering the <card> event handling.
5423
5424 * wml/WMLCardElement.cpp:
5425 (WebCore::WMLCardElement::WMLCardElement):
5426 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
5427 (WebCore::WMLCardElement::parseMappedAttribute):
5428 (WebCore::WMLCardElement::setActiveCardInDocument):
5429 * wml/WMLCardElement.h:
5430 (WebCore::WMLCardElement::isNewContext):
5431 (WebCore::WMLCardElement::isOrdered):
5432 * wml/WMLDocument.cpp:
5433 (WebCore::WMLDocument::finishedParsing):
5434 * wml/WMLIntrinsicEvent.cpp:
5435 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
5436 * wml/WMLIntrinsicEvent.h:
5437 (WebCore::WMLIntrinsicEvent::create):
5438
vestbo@webkit.org8ef6fdc2008-11-28 18:14:02 +000054392008-11-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
5440
5441 Reviewed by Tor Arne Vestbø.
5442
5443 Regression seen on QtWebKit - causes a build failure on Win using MinGW
5444
5445 https://bugs.webkit.org/show_bug.cgi?id=22536
5446
5447 * WebCore.pro:
5448
hausmann@webkit.orgcf9d7f22008-11-28 15:18:53 +000054492008-11-28 Simon Hausmann <hausmann@webkit.org>
5450
5451 Reviewed by Tor Arne Vestbø.
5452
5453 Fix compilation and linking on Windows CE.
5454
5455 Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
5456 from the Windows'ish build.
5457
5458 Link against the newly required mmtimer.
5459
5460 * WebCore.pro:
5461 * plugins/PluginPackage.cpp:
5462
ap@webkit.orgaf924e22008-11-28 10:23:41 +000054632008-11-28 David Levin <levin@chromium.org>
5464
5465 Reviewed by Alexey Proskuryakov.
5466
5467 http://bugs.webkit.org/show_bug.cgi?id=22524
5468
5469 Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
5470 of XMLHttpRequest by Workers (on threads).
5471
5472 No observable change in behavior, so no test.
5473
5474 * xml/XMLHttpRequest.cpp:
5475 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
5476 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
5477 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
5478 (WebCore::PreflightResultCacheItem::allowsRequest):
5479 (WebCore::createXMLHttpRequestStaticData):
5480 (WebCore::initializeXMLHttpRequestStaticData):
5481 (WebCore::XMLHttpRequest::XMLHttpRequest):
5482 (WebCore::XMLHttpRequest::isSafeRequestHeader):
5483 (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
5484 * xml/XMLHttpRequest.h:
5485
cwzwarich@webkit.org27dfac52008-11-28 05:03:46 +000054862008-11-27 Cameron Zwarich <zwarich@apple.com>
5487
5488 Not reviewed.
5489
5490 r38825, was committed without checking whether anything in WebCore
5491 uses JSFunction::m_body. Use the appropriate getters and setters
5492 instead.
5493
5494 * inspector/JavaScriptDebugServer.cpp:
5495 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
5496
ap@webkit.org16411b12008-11-27 18:03:06 +000054972008-11-27 Alexey Proskuryakov <ap@webkit.org>
5498
5499 Reviewed by Dan Bernstein.
5500
5501 https://bugs.webkit.org/show_bug.cgi?id=22529
5502 Crashes seen on buildbots due to trying to stop a worker thread twice
5503
5504 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
5505 Don't try to stop the thread if it's already stopping.
5506
hausmann@webkit.org11d22872008-11-27 16:13:54 +000055072008-11-27 Kent Hansen <khansen@trolltech.com>
5508
5509 Reviewed by Simon Hausmann.
5510
5511 Make JavaScript bindings for Qt plugin widgets work again
5512 this was a regression; need to handle non-NPAPI plugins as in 4.4.
5513
5514 * bindings/js/ScriptControllerQt.cpp:
5515 (WebCore::ScriptController::createScriptInstanceForWidget):
5516
zimmermann@webkit.orgb2d4e802008-11-27 05:07:45 +000055172008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5518
5519 Reviewed by George Staikos.
5520
5521 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
5522
5523 Catch WML errors (invalid variable name/reference, multiple access elements, etc)
5524 while parsing the document, and stop parsing immediately and wrap the document
5525 fragment in a XHTML error document, just like it's done from XML parsing errors.
5526
5527 Until now all card elements were hidden by default (no renderer created), and
5528 WMLDocument::finishedParsing() took care of showing the right card (either the first,
5529 or any named card in the document, specified by document URL reference). Change this
5530 behaviour to support displaying partially parsed WML document fragments: Mark the first
5531 WMLCardElement inserted into the document as visible. If the document parsing finishes
5532 without problems, WMLDocument::finishedParsing() will be called, which takes care of
5533 showing the desired card (common case: first card in the document, which is already
5534 visible, so nothing actually has to be done). If an error occours, the document is
5535 correctly rendered until the error happened - wrapped in a XHTML document.
5536
5537 Fixes: fast/wml/err-event-binding-conflict.wml
5538 fast/wml/err-invalid-variable-name.wml
5539 fast/wml/err-multi-access.wml
5540 fast/wml/err-unallowed-task-in-anchor.wml
5541
5542 * WebCore.xcodeproj/project.pbxproj:
5543 * wml/WMLAccessElement.cpp:
5544 (WebCore::WMLAccessElement::parseMappedAttribute):
5545 (WebCore::WMLAccessElement::insertedIntoDocument):
5546 * wml/WMLAccessElement.h:
5547 * wml/WMLCardElement.cpp:
5548 (WebCore::WMLCardElement::insertedIntoDocument):
5549 (WebCore::WMLCardElement::setActiveCardInDocument):
5550 * wml/WMLCardElement.h:
5551 * wml/WMLDocument.cpp:
5552 (WebCore::WMLDocument::finishedParsing):
5553 * wml/WMLErrorHandling.cpp: Added.
5554 (WebCore::reportWMLError):
5555 * wml/WMLErrorHandling.h: Added.
5556 (WebCore::):
5557 * wml/WMLIntrinsicEventHandler.cpp:
5558 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
5559 * wml/WMLIntrinsicEventHandler.h:
5560 * wml/WMLNoopElement.cpp:
5561 (WebCore::WMLNoopElement::insertedIntoDocument):
5562 * wml/WMLOnEventElement.cpp:
5563 (WebCore::WMLOnEventElement::parseMappedAttribute):
5564 (WebCore::WMLOnEventElement::registerTask):
5565 * wml/WMLPageState.cpp:
5566 (WebCore::WMLPageState::setNeedCheckDeckAccess):
5567 * wml/WMLPageState.h:
5568 * wml/WMLSetvarElement.cpp:
5569 (WebCore::WMLSetvarElement::parseMappedAttribute):
5570
ddkilzer@apple.combc646c0f2008-11-27 12:21:28 +000055712008-11-26 Glenn Wilson <gwilson@chromium.org>
darin@chromium.org27bcff12008-11-27 01:45:57 +00005572
5573 Reviewed by Dan Bernstein.
5574
5575 Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
5576
5577 This fixes the crash when the small-caps font variant is used
5578 on a lower-case glyph that does not have a corresponding
5579 upper-case glyph defined in the set of available fonts.
5580
5581 This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
5582
5583 Test: fast/css/small-caps-crash.html
5584
5585 * platform/graphics/Font.cpp:
5586 (WebCore::Font::glyphDataForCharacter):
5587
ddkilzer@apple.combc646c0f2008-11-27 12:21:28 +000055882008-11-26 Tony Chang <tony@chromium.org>
darin@chromium.org89e50aa2008-11-27 01:31:56 +00005589
5590 Reviewed by Oliver Hunt.
5591
5592 Add a new platform specific method cleanupAfterSystemDrag
5593 that platforms can ue to clean up drag state after a
5594 system drag. Use this method on PLAFORM(MAC).
5595 https://bugs.webkit.org/show_bug.cgi?id=21956
5596
5597 * ChangeLog:
5598 * page/DragController.cpp:
5599 (WebCore::DragController::doSystemDrag):
5600 * page/DragController.h:
5601 * page/gtk/DragControllerGtk.cpp:
5602 (WebCore::DragController::cleanupAfterSystemDrag):
5603 * page/mac/DragControllerMac.mm:
5604 (WebCore::DragController::cleanupAfterSystemDrag):
5605 * page/qt/DragControllerQt.cpp:
5606 (WebCore::DragController::cleanupAfterSystemDrag):
5607 * page/win/DragControllerWin.cpp:
5608 (WebCore::DragController::cleanupAfterSystemDrag):
5609 * page/wx/DragControllerWx.cpp:
5610 (WebCore::DragController::cleanupAfterSystemDrag):
5611
zimmermann@webkit.org333e8032008-11-27 00:44:19 +000056122008-11-26 Nikolas Zimmermann <zimmermann@kde.org>
5613
5614 Reviewed by Oliver Hunt.
5615
5616 Fix path to string logic, correctly taking closed (sub-)paths into account.
5617 Code was just broken on cg, observed by Dirk Schulze.
5618
5619 QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
5620 using the elementAt() function. There might be a workaround - Dirk will investigate.
5621
5622 * platform/graphics/cg/PathCG.cpp:
5623 (WebCore::CGPathToCFStringApplierFunction):
5624 * platform/graphics/cairo/PathCairo.cpp:
5625 (WebCore::Path::debugString):
5626
darin@chromium.org15fb9bd2008-11-27 00:26:52 +000056272008-11-26 Darin Fisher <darin@chromium.org>
5628
5629 Reviewed by Eric Seidel.
5630
5631 https://bugs.webkit.org/show_bug.cgi?id=22519
5632 Remove unnecessary include.
5633
5634 * dom/XMLTokenizer.cpp:
5635
zimmermann@webkit.org18a6b0b2008-11-26 23:40:39 +000056362008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5637
5638 Reviewed by Oliver Hunt.
5639
5640 Add <noop> element support, completing the task element support.
5641
5642 * WebCore.xcodeproj/project.pbxproj:
5643 * wml/WMLNoopElement.cpp: Added.
5644 (WebCore::WMLNoopElement::WMLNoopElement):
5645 (WebCore::WMLNoopElement::insertedIntoDocument):
5646 * wml/WMLNoopElement.h: Added.
5647 * wml/WMLTagNames.in: Reorganize file a bit.
5648
jchaffraix@webkit.org6a27e012008-11-26 23:07:45 +000056492008-11-26 Julien Chaffraix <jchaffraix@webkit.org>
5650
5651 Reviewed by Eric Seidel.
5652
5653 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
5654 https://bugs.webkit.org/show_bug.cgi?id=22441
5655
5656 Make more HTML elements' constructors take a QualifiedName.
5657
5658 * editing/DeleteButtonController.cpp:
5659 (WebCore::DeleteButtonController::createDeletionUI):
5660 * html/HTMLBlockquoteElement.cpp:
5661 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
5662 * html/HTMLBlockquoteElement.h:
5663 * html/HTMLButtonElement.cpp:
5664 (WebCore::HTMLButtonElement::HTMLButtonElement):
5665 * html/HTMLButtonElement.h:
5666 * html/HTMLDListElement.cpp:
5667 (WebCore::HTMLDListElement::HTMLDListElement):
5668 * html/HTMLDListElement.h:
5669 * html/HTMLDirectoryElement.cpp:
5670 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
5671 * html/HTMLDirectoryElement.h:
5672 * html/HTMLDivElement.cpp:
5673 (WebCore::HTMLDivElement::HTMLDivElement):
5674 * html/HTMLDivElement.h:
5675 * html/HTMLElementFactory.cpp:
5676 (WebCore::styleConstructor):
5677 (WebCore::titleConstructor):
5678 (WebCore::frameConstructor):
5679 (WebCore::framesetConstructor):
5680 (WebCore::iframeConstructor):
5681 (WebCore::formConstructor):
5682 (WebCore::buttonConstructor):
5683 (WebCore::inputConstructor):
5684 (WebCore::isindexConstructor):
5685 (WebCore::fieldsetConstructor):
5686 (WebCore::keygenConstructor):
5687 (WebCore::labelConstructor):
5688 (WebCore::legendConstructor):
5689 (WebCore::optgroupConstructor):
5690 (WebCore::optionConstructor):
5691 (WebCore::selectConstructor):
5692 (WebCore::textareaConstructor):
5693 (WebCore::dlConstructor):
5694 (WebCore::ulConstructor):
5695 (WebCore::olConstructor):
5696 (WebCore::dirConstructor):
5697 (WebCore::menuConstructor):
5698 (WebCore::liConstructor):
5699 (WebCore::blockquoteConstructor):
5700 (WebCore::divConstructor):
5701 (WebCore::headingConstructor):
5702 * html/HTMLFieldSetElement.cpp:
5703 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
5704 * html/HTMLFieldSetElement.h:
5705 * html/HTMLFormElement.cpp:
5706 (WebCore::HTMLFormElement::HTMLFormElement):
5707 * html/HTMLFormElement.h:
5708 * html/HTMLFrameElement.cpp:
5709 (WebCore::HTMLFrameElement::HTMLFrameElement):
5710 * html/HTMLFrameElement.h:
5711 * html/HTMLFrameSetElement.cpp:
5712 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
5713 * html/HTMLFrameSetElement.h:
5714 * html/HTMLIFrameElement.cpp:
5715 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
5716 * html/HTMLIFrameElement.h:
5717 * html/HTMLInputElement.cpp:
5718 * html/HTMLInputElement.h:
5719 * html/HTMLIsIndexElement.cpp:
5720 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
5721 * html/HTMLIsIndexElement.h:
5722 * html/HTMLKeygenElement.cpp:
5723 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
5724 * html/HTMLKeygenElement.h:
5725 * html/HTMLLIElement.cpp:
5726 (WebCore::HTMLLIElement::HTMLLIElement):
5727 * html/HTMLLIElement.h:
5728 * html/HTMLLabelElement.cpp:
5729 (WebCore::HTMLLabelElement::HTMLLabelElement):
5730 * html/HTMLLabelElement.h:
5731 * html/HTMLLegendElement.cpp:
5732 (WebCore::HTMLLegendElement::HTMLLegendElement):
5733 * html/HTMLLegendElement.h:
5734 * html/HTMLMenuElement.cpp:
5735 (WebCore::HTMLMenuElement::HTMLMenuElement):
5736 * html/HTMLMenuElement.h:
5737 * html/HTMLOListElement.cpp:
5738 (WebCore::HTMLOListElement::HTMLOListElement):
5739 * html/HTMLOListElement.h:
5740 * html/HTMLOptGroupElement.cpp:
5741 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
5742 * html/HTMLOptGroupElement.h:
5743 * html/HTMLOptionElement.cpp:
5744 (WebCore::HTMLOptionElement::HTMLOptionElement):
5745 * html/HTMLOptionElement.h:
5746 * html/HTMLParser.cpp:
5747 (WebCore::HTMLParser::formCreateErrorCheck):
5748 (WebCore::HTMLParser::handleIsindex):
5749 * html/HTMLSelectElement.cpp:
5750 * html/HTMLSelectElement.h:
5751 * html/HTMLStyleElement.cpp:
5752 (WebCore::HTMLStyleElement::HTMLStyleElement):
5753 * html/HTMLStyleElement.h:
5754 * html/HTMLTextAreaElement.cpp:
5755 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
5756 * html/HTMLTextAreaElement.h:
5757 * html/HTMLTitleElement.cpp:
5758 (WebCore::HTMLTitleElement::HTMLTitleElement):
5759 * html/HTMLTitleElement.h:
5760 * html/HTMLUListElement.cpp:
5761 (WebCore::HTMLUListElement::HTMLUListElement):
5762 * html/HTMLUListElement.h:
5763 * html/HTMLViewSourceDocument.cpp:
5764 (WebCore::HTMLViewSourceDocument::createContainingTable):
5765 * rendering/MediaControlElements.cpp:
5766 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
5767 (WebCore::MediaControlInputElement::MediaControlInputElement):
5768 * rendering/RenderFileUploadControl.cpp:
5769 (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
5770 * rendering/RenderMedia.cpp:
5771 (WebCore::RenderMedia::createPanel):
5772 (WebCore::RenderMedia::createTimeDisplay):
5773 * rendering/RenderSlider.cpp:
5774 (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
5775 * rendering/TextControlInnerElements.cpp:
5776 (WebCore::TextControlInnerElement::TextControlInnerElement):
5777
zimmermann@webkit.org64392c72008-11-26 22:23:33 +000057782008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5779
5780 Reviewed by Sam Weinig.
5781
5782 Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
5783
5784 * wml/WMLPageState.cpp:
5785 (WebCore::WMLPageState::WMLPageState):
5786
darin@chromium.org27121752008-11-26 21:07:03 +000057872008-11-26 Matt Perry <mpcomplete@gmail.com>
5788
darin@chromium.orgeac8ec22008-11-26 21:48:42 +00005789 Fix Qt bustage.
5790
5791 See https://bugs.webkit.org/show_bug.cgi?id=22051
5792
5793 * platform/qt/RenderThemeQt.cpp:
5794 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
5795
57962008-11-26 Matt Perry <mpcomplete@gmail.com>
5797
darin@chromium.org27121752008-11-26 21:07:03 +00005798 Reviewed by Maciej Stachowiak.
5799
5800 Fix https://bugs.webkit.org/show_bug.cgi?id=22051
5801 Renderthemes should be able to supply additional CSS rules to the core
5802 ones.
5803
5804 * DerivedSources.make:
5805 * css/CSSStyleSelector.cpp:
5806 (WebCore::parseUASheet):
5807 (WebCore::loadFullDefaultStyle):
5808 (WebCore::loadSimpleDefaultStyle):
5809 * css/themeWin.css: Added.
5810 * css/themeWinQuirks.css: Added.
5811 * platform/qt/RenderThemeQt.cpp:
5812 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
5813 * platform/qt/RenderThemeQt.h:
5814 * rendering/RenderTheme.cpp:
5815 * rendering/RenderTheme.h:
5816 (WebCore::RenderTheme::extraDefaultStyleSheet):
5817 (WebCore::RenderTheme::extraQuirksStyleSheet):
5818 * rendering/RenderThemeWin.cpp:
5819 (WebCore::RenderThemeWin::extraDefaultStyleSheet):
5820 (WebCore::RenderThemeWin::extraQuirksStyleSheet):
5821 * rendering/RenderThemeWin.h:
5822
ddkilzer@apple.com1f85c1e2008-11-26 19:44:05 +000058232008-11-26 David Kilzer <ddkilzer@apple.com>
5824
5825 Make CSSStyleSheet::addSubresourceURLStrings() iterative
5826
5827 Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
5828 <https://bugs.webkit.org/show_bug.cgi?id=11850>
5829
5830 Reviewed by Brady Eidson.
5831
5832 * css/CSSStyleSheet.cpp:
5833 (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
5834 from recursive to iterative for gathering the list of all CSS
5835 stylesheets referenced in @import statements.
5836
krit@webkit.org46b1ee82008-11-26 15:07:30 +000058372008-11-26 Dirk Schulze <krit@webkit.org>
5838
5839 Reviewed by Simon Hausmann.
5840
5841 Transformations to the context shouldn't transform the currentPath.
5842 Fixed this on Qt.
5843
5844 [QT] GraphicsContext's currenPath can be transformed
5845 https://bugs.webkit.org/show_bug.cgi?id=22163
5846
5847 * platform/graphics/GraphicsContextPrivate.h:
5848 * platform/graphics/qt/GraphicsContextQt.cpp:
5849 (WebCore::GraphicsContext::restorePlatformState):
5850 (WebCore::GraphicsContext::fillPath):
5851 (WebCore::GraphicsContext::strokePath):
5852 (WebCore::GraphicsContext::fillRect):
5853 (WebCore::GraphicsContext::translate):
5854 (WebCore::GraphicsContext::rotate):
5855 (WebCore::GraphicsContext::scale):
5856 (WebCore::GraphicsContext::concatCTM):
5857
jmalonzo@webkit.org07986662008-11-26 11:31:16 +000058582008-11-26 Jan Michael Alonzo <jmalonzo@webkit.org>
5859
5860 Gtk build script minor fixes. Not reviewed.
5861
5862 * GNUmakefile.am:
5863 - Add ScriptInstance.h (introduced in r38774) to
5864 the build.
5865 - Move WML and GEOLOCATION conditionals before the SVG
5866 conditional to be consistent with the style of the script.
5867 - Move GeolocationGtk sources to webcoregtk_sources.
5868
ap@webkit.org5035dee2008-11-26 09:10:26 +000058692008-11-26 Dmitry Titov <dimich@chromium.org>
5870
5871 Reviewed by Darin Adler and Eric Seidel.
5872
5873 https://bugs.webkit.org/show_bug.cgi?id=22469
5874
5875 Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
5876 preparation to making it work for Workers. For now, just move the code and couple
5877 of global variables.
5878
5879 * GNUmakefile.am:
5880 * WebCore.pro:
5881 * WebCore.vcproj/WebCore.vcproj:
5882 * WebCore.xcodeproj/project.pbxproj:
5883 * WebCoreSources.bkl:
5884 * bindings/js/JSDOMWindowBase.cpp:
5885 (WebCore::JSDOMWindowBase::installTimeout):
5886 (WebCore::JSDOMWindowBase::pauseTimeouts):
5887 (WebCore::JSDOMWindowBase::resumeTimeouts):
5888 (WebCore::JSDOMWindowBase::timerFired):
5889 * bindings/js/JSDOMWindowBase.h:
5890 * bindings/js/DOMTimer.cpp: Added.
5891 (WebCore::DOMTimer::DOMTimer):
5892 (WebCore::DOMTimer::~DOMTimer):
5893 (WebCore::DOMTimer::fired):
5894 * bindings/js/DOMTimer.h: Added.
5895 (WebCore::DOMTimer::timeoutId):
5896 (WebCore::DOMTimer::nestingLevel):
5897 (WebCore::DOMTimer::setNestingLevel):
5898 (WebCore::DOMTimer::action):
5899 (WebCore::DOMTimer::takeAction):
5900
darin@chromium.org38535142008-11-26 02:19:38 +000059012008-11-25 Darin Fisher <darin@chromium.org>
5902
5903 Fix bustage.
5904
5905 https://bugs.webkit.org/show_bug.cgi?id=22493
5906 Need to expose bridge/*.h to the WebKit build.
5907
5908 * WebCore.vcproj/WebCore.vcproj:
5909
zimmermann@webkit.org5b1be652008-11-26 01:21:37 +000059102008-11-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5911
5912 Not reviewed. Fix build, by removing some wrong last-minute changes.
5913
5914 * wml/WMLIntrinsicEvent.cpp:
5915 (WebCore::createTaskElement):
5916 * wml/WMLOnEventElement.cpp:
5917 (WebCore::WMLOnEventElement::registerTask):
5918
darin@chromium.orgd239de22008-11-26 01:19:31 +000059192008-11-25 Darin Fisher <darin@chromium.org>
5920
5921 Reviewed by Geoffrey Garen.
5922
5923 https://bugs.webkit.org/show_bug.cgi?id=22493
5924 Abstract away JSC:: usage in WebCore/html
5925
5926 * WebCore.xcodeproj/project.pbxproj:
5927 * bindings/js/JSPluginElementFunctions.cpp:
5928 (WebCore::pluginInstance):
5929 * bindings/js/ScriptController.h:
5930 * bindings/js/ScriptControllerMac.mm:
5931 (WebCore::ScriptController::createScriptInstanceForWidget):
5932 * bindings/js/ScriptInstance.h: Added.
5933 * html/HTMLPlugInElement.cpp:
5934 (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
5935 (WebCore::HTMLPlugInElement::getInstance):
5936 * html/HTMLPlugInElement.h:
5937
zimmermann@webkit.orgae5e9752008-11-26 01:15:03 +000059382008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5939
5940 Reviewed by Sam Weinig.
5941
5942 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
5943
5944 A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
5945 Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
5946
5947 Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
5948 centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
5949 function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
5950 <template>/<option> or <card> element.
5951
5952 Add complete <onevent> support.
5953
5954 * WebCore.xcodeproj/project.pbxproj:
5955 * wml/WMLCardElement.cpp:
5956 (WebCore::WMLCardElement::WMLCardElement):
5957 (WebCore::WMLCardElement::setActiveCardInDocument):
5958 * wml/WMLCardElement.h:
5959 (WebCore::WMLCardElement::isVisible):
5960 (WebCore::WMLCardElement::setVisible):
5961 * wml/WMLElement.h:
5962 (WebCore::WMLElement::isWMLTaskElement):
5963 * wml/WMLEventHandlingElement.cpp: Added.
5964 (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
5965 (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
5966 * wml/WMLEventHandlingElement.h: Added.
5967 (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
5968 (WebCore::WMLEventHandlingElement::eventHandler):
5969 * wml/WMLOnEventElement.cpp: Added.
5970 (WebCore::WMLOnEventElement::WMLOnEventElement):
5971 (WebCore::WMLOnEventElement::parseMappedAttribute):
5972 (WebCore::WMLOnEventElement::registerTask):
5973 * wml/WMLOnEventElement.h: Added.
5974 * wml/WMLSetvarElement.cpp:
5975 (WebCore::WMLSetvarElement::parseMappedAttribute):
5976 (WebCore::WMLSetvarElement::insertedIntoDocument):
5977 * wml/WMLTagNames.in:
5978 * wml/WMLTaskElement.cpp:
5979 (WebCore::WMLTaskElement::insertedIntoDocument):
5980 * wml/WMLTaskElement.h:
5981 (WebCore::WMLTaskElement::isWMLTaskElement):
5982
pol@apple.com042032832008-11-26 00:54:24 +000059832008-11-25 Pierre-Olivier Latour <pol@apple.com>
5984
5985 Reviewed by Mark Rowe.
5986
5987 createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
5988
5989 https://bugs.webkit.org/show_bug.cgi?id=22503
5990
5991 * platform/graphics/mac/FontCustomPlatformData.cpp:
5992 (WebCore::createFontCustomPlatformData):
5993
jchaffraix@webkit.orgd7f08592008-11-26 00:33:56 +000059942008-11-25 Julien Chaffraix <jchaffraix@webkit.org>
5995
5996 Reviewed by Eric Seidel.
5997
5998 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
5999 https://bugs.webkit.org/show_bug.cgi?id=22441
6000
6001 Element's other than HTML ones take a QualifiedName in their constructors.
6002 To make HTMLElementFactory closer to the other ElementFactory, we need
6003 to make them take the same arguments.
6004 This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
6005 will go into the next patch.
6006
6007 * dom/Document.cpp:
6008 (WebCore::Document::implicitClose):
6009 * html/HTMLBaseElement.cpp:
6010 (WebCore::HTMLBaseElement::HTMLBaseElement):
6011 * html/HTMLBaseElement.h:
6012 * html/HTMLBodyElement.cpp:
6013 (WebCore::HTMLBodyElement::HTMLBodyElement):
6014 * html/HTMLBodyElement.h:
6015 * html/HTMLElementFactory.cpp:
6016 (WebCore::htmlConstructor):
6017 (WebCore::headConstructor):
6018 (WebCore::bodyConstructor):
6019 (WebCore::baseConstructor):
6020 (WebCore::linkConstructor):
6021 (WebCore::metaConstructor):
6022 * html/HTMLHeadElement.cpp:
6023 (WebCore::HTMLHeadElement::HTMLHeadElement):
6024 * html/HTMLHeadElement.h:
6025 * html/HTMLHtmlElement.cpp:
6026 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
6027 * html/HTMLHtmlElement.h:
6028 * html/HTMLLinkElement.cpp:
6029 (WebCore::HTMLLinkElement::HTMLLinkElement):
6030 * html/HTMLLinkElement.h:
6031 * html/HTMLMetaElement.cpp:
6032 (WebCore::HTMLMetaElement::HTMLMetaElement):
6033 * html/HTMLMetaElement.h:
6034 * html/HTMLParser.cpp:
6035 (WebCore::HTMLParser::handleError):
6036 (WebCore::HTMLParser::headCreateErrorCheck):
6037 (WebCore::HTMLParser::createHead):
6038 (WebCore::HTMLParser::finished):
6039 * html/HTMLViewSourceDocument.cpp:
6040 (WebCore::HTMLViewSourceDocument::createContainingTable):
6041
simon.fraser@apple.com7c14de32008-11-26 00:18:15 +000060422008-11-25 Chris Marrin <cmarrin@apple.com>
6043
cmarrin@apple.comc9510f92008-11-26 01:38:17 +00006044 Reviewed by Dan Bernstein.
6045
6046 Fix for https://bugs.webkit.org/show_bug.cgi?id=22487
6047 I was not checking for the case of 0 length keyframe lists and dereffing a null pointer.
6048
6049 Tests: animations/empty-keyframes.html
6050 animations/fill-unset-properties.html
6051
6052 * css/CSSStyleSelector.cpp:
6053 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
6054
60552008-11-25 Chris Marrin <cmarrin@apple.com>
6056
simon.fraser@apple.com7c14de32008-11-26 00:18:15 +00006057 Reviewed by Darin Adler
6058
6059 https://bugs.webkit.org/show_bug.cgi?id=22046
6060
6061 Fix a crash when an animation or transition end event handler
6062 removes the element upon which the transition/animation is running,
6063 by keeping a reference to the AnimationBase object on the stack.
6064
6065 Tests: animations/transform-animation-event-destroy-element.html
6066 transitions/transform-transition-event-destroy-element.html
6067
6068 * page/animation/AnimationBase.cpp:
6069 (WebCore::AnimationBase::setChanged):
6070 (WebCore::AnimationBase::updateStateMachine):
6071 * page/animation/AnimationBase.h:
6072 (WebCore::AnimationBase::clearRenderer):
6073 * page/animation/AnimationController.cpp:
6074 (WebCore::AnimationControllerPrivate::clear):
6075 * page/animation/CompositeAnimation.cpp:
6076 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
6077 * page/animation/CompositeAnimation.h:
6078
kevino@webkit.orgb153fed2008-11-25 23:32:12 +000060792008-11-25 Kevin Ollivier <kevino@theolliviers.com>
6080
6081 Better wx build fix - support PurgeableBuffer on Mac.
6082
6083 * platform/PurgeableBuffer.h:
6084 * webcore-wx.bkl:
6085
zecke@webkit.orgb2440d62008-11-25 23:17:49 +000060862008-11-25 Holger Hans Peter Freyther <zecke@selfish.org>
6087
6088 Reviewed by David Kilzer.
6089
6090 https://bugs.webkit.org/show_bug.cgi?id=22022
6091
6092 Add GeoleocationServiceGtk stubs and integrate it into the buildsystem
6093
6094 Add stubs for a Gtk Implementation.
6095
6096 * GNUmakefile.am:
6097 * platform/gtk/GeolocationServiceGtk.cpp: Added.
6098 (WebCore::GeolocationService::create):
6099 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
6100 (WebCore::GeolocationServiceGtk::startUpdating):
6101 (WebCore::GeolocationServiceGtk::stopUpdating):
6102 (WebCore::GeolocationServiceGtk::suspend):
6103 (WebCore::GeolocationServiceGtk::resume):
6104 (WebCore::GeolocationServiceGtk::lastPosition):
6105 (WebCore::GeolocationServiceGtk::lastError):
6106 * platform/gtk/GeolocationServiceGtk.h: Added.
6107
kevino@webkit.org87363182008-11-25 23:00:46 +000061082008-11-25 Kevin Ollivier <kevino@theolliviers.com>
6109
6110 wx build fix - we don't support PurgeableBuffer on Leopard for now.
6111
6112 * platform/PurgeableBuffer.h:
6113
antti@apple.comd9a0e092008-11-25 22:46:42 +000061142008-11-25 Antti Koivisto <antti@apple.com>
6115
6116 Reviewed by Mark Rowe.
6117
6118 Fix https://bugs.webkit.org/show_bug.cgi?id=22483
6119 Assertion failure in CachedResource::makePurgeable during layout tests
6120
6121 Deleting SVG image can re-enter destroyDecodedData.
6122
6123 * loader/CachedImage.cpp:
6124 (WebCore::CachedImage::destroyDecodedData):
6125
ap@webkit.org6a0673f2008-11-25 20:01:49 +000061262008-11-25 David Levin <levin@chromium.org>
6127
6128 Reviewed by Alexey Proskuryakov.
6129
ap@webkit.org93c25682008-11-25 20:02:36 +00006130 https://bugs.webkit.org/show_bug.cgi?id=22443
ap@webkit.org6a0673f2008-11-25 20:01:49 +00006131 Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by
6132 Workers on threads.
6133
6134 No observable change in behavior, so no test.
6135
6136 * platform/text/PlatformString.h:
6137 * platform/text/String.cpp:
6138 (WebCore::String::substringCopy):
6139 * platform/text/StringImpl.cpp:
6140 (WebCore::StringImpl::substringCopy):
6141 * platform/text/StringImpl.h:
6142 Added the ability to copy a substring.
6143
6144 * xml/XMLHttpRequest.cpp:
6145 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
6146 (WebCore::PreflightResultCache::PreflightResultCache):
6147 (WebCore::PreflightResultCacheItem::addToAccessControlAllowList):
6148 (WebCore::PreflightResultCacheItem::parseAccessControlAllowList):
6149 (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge):
6150 (WebCore::PreflightResultCacheItem::parse):
6151 (WebCore::PreflightResultCacheItem::allowsRequest):
6152 (WebCore::PreflightResultCache::shared):
6153 (WebCore::PreflightResultCache::appendEntry):
6154 (WebCore::PreflightResultCache::canSkipPreflight):
6155 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
6156 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
6157 Made the PreflightResultCache threadsafe.
6158
6159 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
6160 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
6161 Consolidation of duplicate logic.
6162
darin@chromium.org18d8db92008-11-25 19:31:32 +000061632008-11-24 Jungshik Shin <jshin@chromium.org>
6164
6165 Reviewed by Darin Adler.
6166
6167 For Unicode encodings other than UTF-8, use UTF-8 for
6168 form submission and URL query part encoding.
6169
6170 See https://bugs.webkit.org/show_bug.cgi?id=21635
6171
6172 Tests: http/tests/misc/submit-get-in-utf16be.html
6173 http/tests/misc/submit-get-in-utf16le.html
6174 http/tests/misc/submit-get-in-utf32be.html
6175 http/tests/misc/submit-get-in-utf32le.html
6176 http/tests/misc/submit-get-in-utf7.html
6177 http/tests/misc/submit-post-in-utf16be.html
6178 http/tests/misc/submit-post-in-utf16le.html
6179 http/tests/misc/submit-post-in-utf32be.html
6180 http/tests/misc/submit-post-in-utf32le.html
6181 http/tests/misc/submit-post-in-utf7.html
6182 http/tests/misc/url-in-utf16be.html
6183 http/tests/misc/url-in-utf16le.html
6184 http/tests/misc/url-in-utf32be.html
6185 http/tests/misc/url-in-utf32le.html
6186 http/tests/misc/url-in-utf7.html
6187
6188 * html/HTMLFormElement.cpp:
6189 (WebCore::HTMLFormElement::formData):
6190 * loader/TextResourceDecoder.cpp:
6191 (WebCore::TextResourceDecoder::setEncoding):
6192 * platform/KURL.cpp:
6193 (WebCore::KURL::KURL):
6194 * platform/text/TextEncoding.cpp:
6195 (WebCore::UTF7Encoding):
6196 (WebCore::TextEncoding::isNonByteBasedEncoding):
6197 (WebCore::TextEncoding::closestByteBasedEquivalent):
6198 (WebCore::TextEncoding::encodingForFormSubmission):
6199 * platform/text/TextEncoding.h:
6200
jchaffraix@webkit.orgbcfe5562008-11-25 19:21:20 +000062012008-11-24 Julien Chaffraix <jchaffraix@webkit.org>
6202
6203 Reviewed by Darin Adler.
6204
6205 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
6206 https://bugs.webkit.org/show_bug.cgi?id=22441
6207
6208 - Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers.
6209
6210 - Tweaked the generated files to better match our coding style.
6211
6212 * dom/make_names.pl:
6213
antti@apple.comdd370792008-11-25 08:13:05 +000062142008-11-24 Antti Koivisto <antti@apple.com>
6215
6216 Reviewed by Darin Adler.
6217
6218 Fix for https://bugs.webkit.org/show_bug.cgi?id=22073
6219 REGRESSION(r33544): Palace in the Sky crashes WebKit
6220
6221 HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while
6222 there were no scripts left to execute.
6223
6224 If m_hasScriptsWaitingForStylesheets becomes true during script execution
6225 bail out from executing more scripts synchronously.
6226
6227 Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html
6228
6229 * html/HTMLTokenizer.cpp:
6230 (WebCore::HTMLTokenizer::reset):
6231 (WebCore::HTMLTokenizer::notifyFinished):
6232
darin@chromium.org66f78602008-11-25 06:47:32 +000062332008-11-24 Darin Fisher <darin@chromium.org>
6234
6235 Reviewed by Geoffrey Garen.
6236
6237 https://bugs.webkit.org/show_bug.cgi?id=22465
6238 Define KURL::copy() and use it in WorkerThread.cpp
6239
6240 * dom/WorkerThread.cpp:
6241 (WebCore::WorkerThread::WorkerThread):
6242 * platform/KURL.cpp:
6243 (WebCore::KURL::copy):
6244 * platform/KURL.h:
6245
zimmermann@webkit.org5a1760b2008-11-25 03:36:32 +000062462008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
6247
6248 Reviewed by Sam Weinig.
6249
zimmermann@webkit.org80b83962008-11-25 03:43:12 +00006250 Name enum values in a style guide compatible way.
6251 Allow WMLIntrinsicEvent inclusion, without needing other includes.
6252
6253 * wml/WMLIntrinsicEvent.cpp:
6254 (WebCore::createTaskElement):
6255 * wml/WMLIntrinsicEvent.h:
6256 * wml/WMLIntrinsicEventHandler.cpp:
6257 * wml/WMLIntrinsicEventHandler.h:
6258 (WebCore::):
6259
62602008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
6261
6262 Reviewed by Sam Weinig.
6263
zimmermann@webkit.org5a1760b2008-11-25 03:36:32 +00006264 Add wmlPageStateForDocument() helper function and use it in some places.
6265
6266 * wml/WMLAccessElement.cpp:
6267 (WebCore::WMLAccessElement::parseMappedAttribute):
6268 * wml/WMLDocument.cpp:
6269 (WebCore::WMLDocument::WMLDocument):
6270 (WebCore::WMLDocument::finishedParsing):
6271 (WebCore::wmlPageStateForDocument):
6272 * wml/WMLDocument.h:
6273 * wml/WMLGoElement.cpp:
6274 (WebCore::WMLGoElement::executeTask):
6275 * wml/WMLPrevElement.cpp:
6276 (WebCore::WMLPrevElement::executeTask):
6277 * wml/WMLRefreshElement.cpp:
6278 (WebCore::WMLRefreshElement::executeTask):
6279 * wml/WMLTaskElement.cpp:
6280 (WebCore::WMLTaskElement::storeVariableState):
6281 * wml/WMLTaskElement.h:
6282
antti@apple.com2d6006a2008-11-25 03:11:16 +000062832008-11-24 Antti Koivisto <antti@apple.com>
6284
antti@apple.comc3f2f6e2008-11-25 03:16:29 +00006285 Reviewed by Geoff Garen and Sam Weinig.
antti@apple.com2d6006a2008-11-25 03:11:16 +00006286
6287 https://bugs.webkit.org/show_bug.cgi?id=22214
antti@apple.comc3f2f6e2008-11-25 03:16:29 +00006288 Keep dead resources in memory cache in purgeable memory.
antti@apple.com2d6006a2008-11-25 03:11:16 +00006289 <rdar://problem/6333088>
6290
6291 OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
6292 areas as less important. Under memory pressure system can steal pages that have
6293 been marked purgeable for (hopefully) better uses. This is ideal for caches.
6294
antti@apple.comdd370792008-11-25 08:13:05 +00006295 Only resources larger than 16KB will be moved to the purgeable memory.
antti@apple.com2d6006a2008-11-25 03:11:16 +00006296
6297 * WebCore.base.exp:
6298 * WebCore.vcproj/WebCore.vcproj:
6299 * WebCore.xcodeproj/project.pbxproj:
6300 * loader/Cache.cpp:
6301 (WebCore::Cache::requestResource):
6302 (WebCore::Cache::requestUserCSSStyleSheet):
6303 (WebCore::Cache::resourceForURL):
6304 (WebCore::Cache::pruneDeadResources):
6305 (WebCore::Cache::TypeStatistic::addResource):
6306 (WebCore::Cache::getStatistics):
6307 (WebCore::Cache::dumpStats):
6308 * loader/Cache.h:
6309 (WebCore::Cache::TypeStatistic::TypeStatistic):
6310 * loader/CachedCSSStyleSheet.cpp:
6311 (WebCore::CachedCSSStyleSheet::allClientsRemoved):
6312 (WebCore::CachedCSSStyleSheet::sheetText):
6313 * loader/CachedCSSStyleSheet.h:
6314 * loader/CachedImage.cpp:
6315 (WebCore::CachedImage::addClient):
6316 (WebCore::CachedImage::image):
6317 (WebCore::CachedImage::imageSize):
6318 (WebCore::CachedImage::imageRect):
6319 (WebCore::CachedImage::destroyDecodedData):
6320 * loader/CachedResource.cpp:
6321 (WebCore::CachedResource::addClient):
6322 (WebCore::CachedResource::makePurgeable):
6323 (WebCore::CachedResource::isPurgeable):
6324 (WebCore::CachedResource::wasPurged):
6325 * loader/CachedResource.h:
6326 (WebCore::CachedResource::data):
6327 * loader/CachedScript.cpp:
6328 (WebCore::CachedScript::allClientsRemoved):
6329 (WebCore::CachedScript::script):
6330 (WebCore::CachedScript::destroyDecodedData):
6331 * platform/PurgeableBuffer.h: Added.
6332 (WebCore::PurgeableBuffer::create):
6333 (WebCore::PurgeableBuffer::size):
6334 (WebCore::PurgeableBuffer::):
6335 (WebCore::PurgeableBuffer::purgePriority):
6336 (WebCore::PurgeableBuffer::isPurgeable):
6337 (WebCore::PurgeableBuffer::~PurgeableBuffer):
6338 (WebCore::PurgeableBuffer::data):
6339 (WebCore::PurgeableBuffer::setPurgePriority):
6340 (WebCore::PurgeableBuffer::wasPurged):
6341 (WebCore::PurgeableBuffer::makePurgeable):
6342 * platform/SharedBuffer.cpp:
6343 (WebCore::SharedBuffer::~SharedBuffer):
6344 (WebCore::SharedBuffer::adoptPurgeableBuffer):
6345 (WebCore::SharedBuffer::size):
6346 (WebCore::SharedBuffer::data):
6347 (WebCore::SharedBuffer::append):
6348 (WebCore::SharedBuffer::clear):
6349 (WebCore::SharedBuffer::releasePurgeableBuffer):
6350 * platform/SharedBuffer.h:
6351 (WebCore::SharedBuffer::hasPurgeableBuffer):
6352 * platform/cf/SharedBufferCF.cpp:
6353 * platform/mac/PurgeableBufferMac.cpp: Added.
6354 (WebCore::PurgeableBuffer::PurgeableBuffer):
6355 (WebCore::PurgeableBuffer::~PurgeableBuffer):
6356 (WebCore::PurgeableBuffer::create):
6357 (WebCore::PurgeableBuffer::makePurgeable):
6358 (WebCore::PurgeableBuffer::wasPurged):
6359 (WebCore::PurgeableBuffer::setPurgePriority):
6360 (WebCore::PurgeableBuffer::data):
6361
zimmermann@webkit.orgab70d1e2008-11-25 00:23:22 +000063622008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
6363
6364 Reviewed by George Staikos & Eric Seidel.
6365
6366 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22430
6367
6368 Regenerate WML layout test results after implementing WML specific <card> handling:
6369 Only the first <card> element should be visible after loading the document, others
6370 can be shown by using the <go> task element.
6371
6372 * dom/Document.h: Make 'finishedParsing()' a virtual function.
6373 * wml/WMLCardElement.cpp:
6374 (WebCore::WMLCardElement::WMLCardElement):
6375 (WebCore::WMLCardElement::~WMLCardElement):
6376 (WebCore::WMLCardElement::createRenderer):
6377 (WebCore::WMLCardElement::setActiveCardInDocument):
6378 (WebCore::WMLCardElement::setVisibility):
6379 * wml/WMLCardElement.h:
6380 * wml/WMLDocument.cpp:
6381 (WebCore::WMLDocument::finishedParsing): Execute WML specific logic after tokenzing.
6382 * wml/WMLDocument.h:
6383
darin@chromium.org3ff70692008-11-25 00:18:48 +000063842008-11-24 Glenn Wilson <gwilson@chromium.org>
6385
6386 Reviewed by Alexey Proskuryakov.
6387
6388 http://bugs.webkit.org/show_bug.cgi?id=15643
6389
6390 Added support for clients that wish to disable smart insert/delete
6391 and enable the "trailing whitespace selection" work-around.
6392
6393 Tests: editing/selection/doubleclick-whitespace.html
6394
6395 * editing/Editor.cpp:
6396 (WebCore::Editor::selectTrailingWhitespaceEnabled):
6397 * editing/Editor.h:
6398 * editing/Selection.cpp:
6399 (WebCore::Selection::includeTrailingWhitespace):
6400 * editing/Selection.h:
6401 * loader/EmptyClients.h:
6402 (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled):
6403 * page/EditorClient.h:
6404 * page/EventHandler.cpp:
6405 (WebCore::EventHandler::selectClosestWordFromMouseEvent):
6406
zimmermann@webkit.org3cdce572008-11-25 00:02:36 +000064072008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
6408
zimmermann@webkit.orgc21043b2008-11-25 00:04:18 +00006409 Not reviewed. Forgot to include WMLPageState.h in last commit.
6410
6411 * wml/WMLPageState.h:
6412 (WebCore::WMLPageState::restrictDeckAccessToDomain):
6413 (WebCore::WMLPageState::restrictDeckAccessToPath):
6414
64152008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
6416
zimmermann@webkit.org3cdce572008-11-25 00:02:36 +00006417 Reviewed by Oliver Hunt & Eric Seidel.
6418
6419 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431
6420
6421 Implement WMLAccessElement. It just propogates two attributes values to WMLPageState.
6422
6423 * WebCore.xcodeproj/project.pbxproj:
6424 * wml/WMLAccessElement.cpp: Added.
6425 (WebCore::WMLAccessElement::WMLAccessElement):
6426 (WebCore::WMLAccessElement::parseMappedAttribute):
6427 * wml/WMLAccessElement.h: Added.
6428 * wml/WMLTagNames.in:
6429 * wml/WMLPageState.h: Rename functions.
6430 (WebCore::WMLPageState::restrictDeckAccessToDomain):
6431 (WebCore::WMLPageState::restrictDeckAccessToPath):
6432 * wml/WMLVariables.cpp: Add new helper function.
6433 (WebCore::valueContainsVariableReference):
6434 * wml/WMLVariables.h:
6435 (WebCore::):
6436
darin@apple.comfd4587e2008-11-24 23:32:09 +000064372008-11-24 Darin Adler <darin@apple.com>
6438
6439 Reviewed by Dan Bernstein.
6440
6441 - https://bugs.webkit.org/show_bug.cgi?id=22470
6442 remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
6443
6444 * loader/EmptyClients.h:
6445 (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument.
6446 * loader/FrameLoader.cpp:
6447 (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL.
6448 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
6449 * loader/FrameLoaderClient.h: Remove argument.
6450
darin@chromium.org2b367922008-11-24 23:12:03 +000064512008-11-24 Finnur Thorarinsson <finnur.webkit@gmail.com>
6452
6453 Reviewed by Darin Adler.
6454
6455 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22432
6456
6457 Add plumbing for tickmark support for the scrollbars. The painting code
6458 for the scrollbar just needed to call paintTickmarks at the right time
6459 and a default no-op implementation is provided, which the ports will
6460 need to override.
6461
6462 * platform/ScrollbarThemeComposite.cpp:
6463 (WebCore::ScrollbarThemeComposite::paint):
6464 * platform/ScrollbarThemeComposite.h:
6465 (WebCore::ScrollbarThemeComposite::paintTickmarks):
6466
darin@chromium.org6b412472008-11-24 23:07:38 +000064672008-11-24 Darin Fisher <darin@chromium.org>
6468
6469 Reviewed by Sam Weinig.
6470
6471 https://bugs.webkit.org/show_bug.cgi?id=22448
6472 Create an abstraction for JSC::SourceCode
6473
6474 * WebCore.vcproj/WebCore.vcproj:
6475 * bindings/js/CachedScriptSourceProvider.h:
6476 * bindings/js/ScriptController.cpp:
6477 (WebCore::ScriptController::evaluate):
6478 * bindings/js/ScriptController.h:
6479 * bindings/js/ScriptSourceCode.h: Added.
6480 (WebCore::ScriptSourceCode::ScriptSourceCode):
6481 (WebCore::ScriptSourceCode::length):
6482 (WebCore::ScriptSourceCode::jsSourceCode):
6483 * bindings/js/WorkerScriptController.cpp:
6484 (WebCore::Workevn ScriptController::evaluate):
6485 * bindings/js/WorkerScriptController.h:
6486 * dom/ScriptElement.cpp:
6487 (WebCore::ScriptElement::insertedIntoDocument):
6488 (WebCore::ScriptElement::childrenChanged):
6489 (WebCore::ScriptElementData::evaluateScript):
6490 (WebCore::ScriptElementData::notifyFinished):
6491 * dom/ScriptElement.h:
6492 * dom/WorkerThread.cpp:
6493 (WebCore::WorkerThread::workerThread):
6494 * dom/WorkerThread.h:
6495 * dom/XMLTokenizer.cpp:
6496 (WebCore::XMLTokenizer::notifyFinished):
6497 * dom/XMLTokenizerLibxml2.cpp:
6498 (WebCore::XMLTokenizer::endElementNs):
6499 * dom/XMLTokenizerQt.cpp:
6500 (WebCore::XMLTokenizer::parseEndElement):
6501 * html/HTMLTokenizer.cpp:
6502 (WebCore::HTMLTokenizer::scriptHandler):
6503 (WebCore::HTMLTokenizer::scriptExecution):
6504 (WebCore::HTMLTokenizer::notifyFinished):
6505 * html/HTMLTokenizer.h:
6506 * loader/FrameLoader.cpp:
6507 (WebCore::FrameLoader::executeScript):
6508 * loader/FrameLoader.h:
6509
darin@apple.com1b861eb2008-11-24 22:48:32 +000065102008-11-24 Darin Adler <darin@apple.com>
6511
6512 Reviewed by Dan Bernstein.
6513
6514 - finish https://bugs.webkit.org/show_bug.cgi?id=22295
6515 track which history items are from page load failures
6516
6517 * WebCore.base.exp: Exported new function.
6518
6519 * loader/DocumentLoader.cpp:
6520 (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added.
6521 * loader/DocumentLoader.h: Ditto.
6522
cfleizach@apple.com9ae09562008-11-24 22:33:09 +000065232008-11-24 Chris Fleizach <cfleizach@apple.com>
6524
6525 Reviewed by Beth Dakin.
6526
6527 Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class
6528 https://bugs.webkit.org/show_bug.cgi?id=22461
6529
6530 Changing AccessibilityListBox to use its parent's signature for hit testing
6531
6532 * page/AccessibilityListBox.cpp:
6533 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
6534 * page/AccessibilityListBox.h:
6535
simon.fraser@apple.come9f403e2008-11-24 21:54:22 +000065362008-11-24 Simon Fraser <simon.fraser@apple.com>
6537
6538 Fix Windows build: selectionRect() -> selectionBounds().
6539
6540 * page/win/FrameCGWin.cpp:
6541 (WebCore::imageFromSelection):
6542
darin@chromium.org367995f2008-11-24 21:40:25 +000065432008-11-24 Glenn Wilson <gwilson@chromium.org>
6544
6545 Reviewed by Darin Adler.
6546
6547 http://bugs.webkit.org/show_bug.cgi?id=18703
6548 "Changing the 'size' property on a text input does not affect its length"
6549
6550 Text fields would not repaint themselves after having their "size"
6551 attributes modified. This fix tells the object to recalculate its
6552 width and repaint itself when its "size" attribute is parsed.
6553
6554 Test: fast/js/text-field-resize.html
6555
6556 * html/HTMLInputElement.cpp:
6557 (WebCore::HTMLInputElement::parseMappedAttribute):
6558
simon.fraser@apple.comc3a23de2008-11-24 19:58:04 +000065592008-11-24 Simon Fraser <simon.fraser@apple.com>
6560
simon.fraser@apple.comd6f4c372008-11-24 21:21:51 +00006561 Reviewed by Darin Adler
6562
6563 Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433
6564
6565 Make RenderView::selectionRect() private to cause compile-time
6566 errors if someone tries to call it.
6567
6568 * rendering/RenderView.h:
6569
65702008-11-24 Simon Fraser <simon.fraser@apple.com>
6571
simon.fraser@apple.comc3a23de2008-11-24 19:58:04 +00006572 Reviewed by Dan Bernstein
6573
6574 Via: https://bugs.webkit.org/show_bug.cgi?id=22433
6575
6576 Rename RenderView::selectionRect() to selectionBounds(), to remove
6577 longstanding ambiguity with the base class selectionRect() method.
6578 Do the same on Frame for consistency with RenderView. Assert
6579 that RenderView::selectionRect() is never called.
6580
6581 * WebCore.base.exp:
6582 * editing/SelectionController.cpp:
6583 (WebCore::SelectionController::focusedOrActiveStateChanged):
6584 * page/DragController.cpp:
6585 (WebCore::dragLocForSelectionDrag):
6586 * page/Frame.cpp:
6587 (WebCore::Frame::selectionBounds):
6588 (WebCore::Frame::revealSelection):
6589 * page/Frame.h:
6590 * page/mac/FrameMac.mm:
6591 (WebCore::Frame::selectionImage):
6592 * rendering/RenderView.cpp:
6593 (WebCore::RenderView::selectionRect):
6594 (WebCore::RenderView::selectionBounds):
6595 * rendering/RenderView.h:
6596
jchaffraix@webkit.org6d046192008-11-24 19:29:39 +000065972008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
6598
6599 Reviewed by Darin Adler.
6600
6601 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
6602 https://bugs.webkit.org/show_bug.cgi?id=22441
6603
6604 - Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of
6605 an AtomicString.
6606
6607 - Updated the elements' constructors and the callers to reflect the previous change.
6608
6609 * dom/Document.cpp:
6610 (WebCore::Document::createElement):
6611 * html/HTMLDocument.cpp:
6612 (WebCore::HTMLDocument::createElement):
6613 * html/HTMLElement.cpp:
6614 (WebCore::HTMLElement::cloneNode):
6615 * html/HTMLElementFactory.cpp:
6616 (WebCore::htmlConstructor):
6617 (WebCore::headConstructor):
6618 (WebCore::bodyConstructor):
6619 (WebCore::baseConstructor):
6620 (WebCore::linkConstructor):
6621 (WebCore::metaConstructor):
6622 (WebCore::styleConstructor):
6623 (WebCore::titleConstructor):
6624 (WebCore::frameConstructor):
6625 (WebCore::framesetConstructor):
6626 (WebCore::iframeConstructor):
6627 (WebCore::formConstructor):
6628 (WebCore::buttonConstructor):
6629 (WebCore::inputConstructor):
6630 (WebCore::isindexConstructor):
6631 (WebCore::fieldsetConstructor):
6632 (WebCore::keygenConstructor):
6633 (WebCore::labelConstructor):
6634 (WebCore::legendConstructor):
6635 (WebCore::optgroupConstructor):
6636 (WebCore::optionConstructor):
6637 (WebCore::selectConstructor):
6638 (WebCore::textareaConstructor):
6639 (WebCore::dlConstructor):
6640 (WebCore::ulConstructor):
6641 (WebCore::olConstructor):
6642 (WebCore::dirConstructor):
6643 (WebCore::menuConstructor):
6644 (WebCore::liConstructor):
6645 (WebCore::blockquoteConstructor):
6646 (WebCore::divConstructor):
6647 (WebCore::headingConstructor):
6648 (WebCore::hrConstructor):
6649 (WebCore::paragraphConstructor):
6650 (WebCore::preConstructor):
6651 (WebCore::basefontConstructor):
6652 (WebCore::fontConstructor):
6653 (WebCore::modConstructor):
6654 (WebCore::anchorConstructor):
6655 (WebCore::imageConstructor):
6656 (WebCore::mapConstructor):
6657 (WebCore::areaConstructor):
6658 (WebCore::canvasConstructor):
6659 (WebCore::appletConstructor):
6660 (WebCore::embedConstructor):
6661 (WebCore::objectConstructor):
6662 (WebCore::paramConstructor):
6663 (WebCore::scriptConstructor):
6664 (WebCore::tableConstructor):
6665 (WebCore::tableCaptionConstructor):
6666 (WebCore::tableColConstructor):
6667 (WebCore::tableRowConstructor):
6668 (WebCore::tableCellConstructor):
6669 (WebCore::tableSectionConstructor):
6670 (WebCore::brConstructor):
6671 (WebCore::quoteConstructor):
6672 (WebCore::marqueeConstructor):
6673 (WebCore::audioConstructor):
6674 (WebCore::videoConstructor):
6675 (WebCore::sourceConstructor):
6676 (WebCore::HTMLElementFactory::createHTMLElement):
6677 * html/HTMLElementFactory.h:
6678 * html/HTMLParser.cpp:
6679 (WebCore::HTMLParser::getNode):
6680
ap@webkit.orge0d884f2008-11-24 19:21:53 +000066812008-11-24 Brent Fulgham <bfulgham@gmail.com>
6682
6683 Reviewed by Alexey Proskuryakov.
6684
6685 https://bugs.webkit.org/show_bug.cgi?id=22444
6686
6687 Correct bad default constructor for Cairo FontPlatformData so that
6688 the m_scaledFont member is initialized. Previously this would be
6689 set to 0xbaadf00d, which would result in infinite loops while
6690 attempting to deal with the font cache.
6691
6692 * platform/graphics/win/FontPlatformData.h:
6693 (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0
6694
ap@webkit.org32761492008-11-24 14:40:29 +000066952008-11-24 Alexey Proskuryakov <ap@webkit.org>
6696
ap@webkit.orge149b892008-11-24 18:21:03 +00006697 Reviewed by Darin Adler.
6698
6699 https://bugs.webkit.org/show_bug.cgi?id=22455
6700 Add support for Worker.terminate()
6701
6702 Test: fast/workers/worker-terminate.html
6703
6704 * dom/Worker.idl:
6705 * dom/Worker.cpp:
6706 * dom/Worker.h:
6707 Added terminate().
6708
6709 * dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
6710 * dom/WorkerMessagingProxy.cpp:
6711 (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked
6712 to terminate (this is not mentioned in draft spec, but makes sense anyway).
6713 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was
6714 asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount
6715 to only track messages that were posted to worker thread, avoiding a leak if the script
6716 could not be loaded.
6717 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating.
6718 (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for.
6719 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context
6720 was destroyed, the worker object may still be alive now, so don't delete self in this case.
6721 (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or
6722 remember to stop it when it is created.
6723 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity
6724 if the thread asked to stop anyway.
6725 (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto.
6726
6727 * dom/WorkerThread.cpp:
6728 * dom/WorkerThread.h:
6729 Fixed a race condition in stop().
6730
67312008-11-24 Alexey Proskuryakov <ap@webkit.org>
6732
ap@webkit.org32761492008-11-24 14:40:29 +00006733 Reviewed by Mark Rowe.
6734
6735 https://bugs.webkit.org/show_bug.cgi?id=22439
6736 Won't load stylesheets with filenames less than 2 characters long in xhtml.
6737
6738 Test: http/tests/misc/single-character-pi-stylesheet.xhtml
6739
6740 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet):
6741 Fix up the logic.
6742
zecke@webkit.orge9dbf8a2008-11-24 12:56:31 +000067432008-11-24 Holger Hans Peter Freyther <zecke@selfish.org>
6744
6745 Reviewed by Mark Rowe.
6746
6747 [Gtk+] Add configure option to enable Web Workers and enable it by default
6748
6749 Add --enable-workers to the buildsystem (used by build-webkit) add
6750 the to be build files to the GNUmakefile.am and change build-webkit
6751 to enable Web Workers by default.
6752
zecke@webkit.orge9dbf8a2008-11-24 12:56:31 +00006753 * GNUmakefile.am:
6754
ap@webkit.org8f619592008-11-24 11:54:08 +000067552008-11-24 Alexey Proskuryakov <ap@webkit.org>
6756
6757 Build fix (for Windows Cairo port?)
6758
6759 * page/DOMWindow.idl: Use ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as
6760 the ENABLE macro is not available in idls.
6761
darin@chromium.orgf2389952008-11-24 06:04:44 +000067622008-11-22 Dimitri Glazkov <dglazkov@chromium.org>
6763
6764 Reviewed by Darin Adler.
6765
6766 https://bugs.webkit.org/show_bug.cgi?id=22421
6767 Added ScriptValue to Visual Studio and XCode projects.
6768
6769 * WebCore.vcproj/WebCore.vcproj:
6770 * WebCore.xcodeproj/project.pbxproj:
6771
zimmermann@webkit.org27ea3132008-11-22 15:39:33 +000067722008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
6773
zimmermann@webkit.org61996002008-11-22 16:37:33 +00006774 Reviewed by Holger Freyther.
6775
zimmermann@webkit.org82c8a9b2008-11-22 18:47:35 +00006776 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426
6777
6778 Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.
6779
6780 * WebCore.xcodeproj/project.pbxproj:
6781 * wml/WMLIntrinsicEvent.cpp: Added.
6782 (WebCore::createTaskElement):
6783 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
6784 * wml/WMLIntrinsicEvent.h: Added.
6785 (WebCore::WMLIntrinsicEvent::create):
6786 (WebCore::WMLIntrinsicEvent::createWithTask):
6787 (WebCore::WMLIntrinsicEvent::taskElement):
6788 * wml/WMLIntrinsicEventHandler.cpp: Added.
6789 (WebCore::WMLIntrinsicEventHandler::WMLIntrinsicEventHandler):
6790 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
6791 (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
6792 (WebCore::WMLIntrinsicEventHandler::hasIntrinsicEvent):
6793 * wml/WMLIntrinsicEventHandler.h: Added.
6794 (WebCore::):
6795
67962008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
6797
6798 Reviewed by Holger Freyther.
6799
zimmermann@webkit.org61996002008-11-22 16:37:33 +00006800 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22423
6801
6802 Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
6803 Activate code handling <setvar> registration in WMLTaskElement.
6804
6805 * wml/WMLGoElement.cpp: Added.
6806 (WebCore::WMLGoElement::WMLGoElement):
6807 (WebCore::WMLGoElement::~WMLGoElement):
6808 (WebCore::WMLGoElement::parseMappedAttribute):
6809 (WebCore::WMLGoElement::executeTask):
6810 * wml/WMLGoElement.h: Added.
6811 * wml/WMLPrevElement.cpp: Added.
6812 (WebCore::WMLPrevElement::WMLPrevElement):
6813 (WebCore::WMLPrevElement::~WMLPrevElement):
6814 (WebCore::WMLPrevElement::executeTask):
6815 * wml/WMLPrevElement.h: Added.
6816 * wml/WMLRefreshElement.cpp: Added.
6817 (WebCore::WMLRefreshElement::WMLRefreshElement):
6818 (WebCore::WMLRefreshElement::~WMLRefreshElement):
6819 (WebCore::WMLRefreshElement::executeTask):
6820 * wml/WMLRefreshElement.h: Added.
6821 * wml/WMLSetvarElement.cpp: Added.
6822 (WebCore::WMLSetvarElement::WMLSetvarElement):
6823 (WebCore::WMLSetvarElement::~WMLSetvarElement):
6824 (WebCore::WMLSetvarElement::parseMappedAttribute):
6825 (WebCore::WMLSetvarElement::insertedIntoDocument):
6826 (WebCore::WMLSetvarElement::name):
6827 (WebCore::WMLSetvarElement::value):
6828 * wml/WMLSetvarElement.h: Added.
6829 * wml/WMLTagNames.in:
6830 * wml/WMLTaskElement.cpp:
6831 (WebCore::WMLTaskElement::registerVariableSetter):
6832 (WebCore::WMLTaskElement::storeVariableState):
6833 * wml/WMLTaskElement.h:
6834 * WebCore.xcodeproj/project.pbxproj:
6835
68362008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
6837
zimmermann@webkit.org27ea3132008-11-22 15:39:33 +00006838 Not reviewed. Forgot to include WMLPageState.* in the last commit.
6839
6840 * wml/WMLPageState.cpp:
6841 (WebCore::WMLPageState::setNeedCheckDeckAccess):
6842 * wml/WMLPageState.h:
6843 (WebCore::WMLPageState::storeVariables):
6844
ap@webkit.org6b9d4122008-11-22 07:42:44 +000068452008-11-21 Alexey Proskuryakov <ap@webkit.org>
6846
6847 Reviewed by Darin Adler.
6848
6849 https://bugs.webkit.org/show_bug.cgi?id=22397
6850 Worker threads are not destroyed if running a JS loop
6851
6852 Since the event loop is not ever entered again in this case, the fix necessarily involves
6853 some shared data hackery.
6854
6855 * dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
6856 * dom/WorkerThread.h:
6857 Added a stop() method, which asks the thread to exit as soon as possible. In the future, it
6858 may need to abort other kinds of synchronous processing, such as importScripts or XHR.
6859
6860 * bindings/js/WorkerScriptController.cpp:
6861 (WebCore::WorkerScriptController::WorkerScriptController):
6862 (WebCore::WorkerScriptController::evaluate):
6863 (WebCore::WorkerScriptController::forbidExecution):
6864 * bindings/js/WorkerScriptController.h:
6865 Added a forbidExecution() method, which interrupts currently running JS, and makes any
6866 future calls to evaluate() return immediately.
6867
6868 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
6869 Call WorkerThread::stop().
6870
kevino@webkit.org6d096812008-11-22 03:21:45 +000068712008-11-21 Kevin Watters <kevinwatters@gmail.com>
kevino@webkit.org97376ad2008-11-22 03:08:15 +00006872
6873 Reviewed by Kevin Ollivier.
6874
6875 Improve wx image drawing performance considerably when using wxGraphicsContext
6876 by avoiding unnecessary copies and drawing.
6877
6878 https://bugs.webkit.org/show_bug.cgi?id=22404
6879
6880 * platform/graphics/wx/ImageWx.cpp:
6881 (WebCore::BitmapImage::draw):
6882 (WebCore::BitmapImage::drawPattern):
6883
6884
kevino@webkit.org80a35a42008-11-22 02:27:48 +000068852008-11-21 Kevin Watters <kevinwatters@gmail.com>
6886
6887 Reviewed by Kevin Ollivier.
6888
6889 Implementation of AffineTransform::mapRect for wx.
6890
6891 https://bugs.webkit.org/show_bug.cgi?id=22401
6892
6893 * platform/graphics/wx/AffineTransformWx.cpp:
6894 (WebCore::AffineTransform::mapRect):
6895
justin.garcia@apple.come2482302008-11-22 01:50:42 +000068962008-11-21 Justin Garcia <justin.garcia@apple.com>
6897
6898 Reviewed by Darin Adler.
6899
6900 <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text
6901
6902 Change link editing behavior to match TextEdit and MS Word when editing before and after
6903 a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we
6904 used to, so it's difficult to get out of link editing mode):
6905 When inserting before or after a link, always insert content outside of the link. This
6906 makes it impossible to get stuck in link editing mode, while making it slightly more
6907 difficult to edit link labels. WebKit editors that care about this can add UI for editing
6908 link labels, like GMail and GoogleDocs have done. We never actually had any bugs complaining
6909 about how it was difficult to edit link labels at the start/end, the code was just introduced
6910 with another bug fix without much thought.
6911
6912 Don't remember removed links anymore, no other editor does this and it made it
6913 difficult/impossible to get out of link editing mode. This code was added to fix
6914 <rdar://problem/4069359>, which is fixed instead by removing the styles from an
6915 enclosing anchor element from those styles that we remember when we delete content.
6916
6917 * editing/CompositeEditCommand.cpp:
6918 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
6919 * editing/CompositeEditCommand.h:
6920 * editing/DeleteSelectionCommand.cpp:
6921 (WebCore::removeEnclosingAnchorStyle):
6922 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
6923 (WebCore::DeleteSelectionCommand::doApply):
6924 * editing/DeleteSelectionCommand.h:
6925 * editing/EditCommand.cpp:
6926 (WebCore::EditCommand::apply):
6927 * editing/Editor.cpp:
6928 (WebCore::Editor::appliedEditing):
6929 * editing/InsertTextCommand.cpp:
6930 (WebCore::InsertTextCommand::prepareForTextInsertion):
6931 (WebCore::InsertTextCommand::input):
6932 * editing/RemoveFormatCommand.cpp:
6933 (WebCore::RemoveFormatCommand::doApply):
6934 * editing/SelectionController.cpp:
6935 (WebCore::SelectionController::setSelection):
6936 * editing/SelectionController.h:
6937
alice.liu@apple.com5aaa74c2008-11-22 01:38:03 +000069382008-11-21 Alice Liu <alice.liu@apple.com>
6939
6940 Rubber-stamped by Dan Bernstein.
6941
6942 fixed <rdar://6340771> crashing on print preview
6943
6944 * platform/graphics/win/GraphicsContextCGWin.cpp:
6945 (WebCore::GraphicsContext::drawWindowsBitmap):
6946
darin@chromium.orgb3131e02008-11-22 00:11:28 +000069472008-11-21 Darin Fisher <darin@chromium.org>
6948
6949 Reviewed by Geoffrey Garen.
6950
6951 https://bugs.webkit.org/show_bug.cgi?id=22390
6952 Abstract away JSC:: usage in WebCore/xml
6953
6954 * bindings/js/ScriptString.h: Added.
6955 (WebCore::ScriptString::ScriptString):
6956 (WebCore::ScriptString::operator JSC::UString):
6957 (WebCore::ScriptString::isNull):
6958 (WebCore::ScriptString::size):
6959 (WebCore::ScriptString::operator=):
6960 (WebCore::ScriptString::operator+=):
6961 * inspector/InspectorController.cpp:
6962 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
6963 (WebCore::InspectorResource::setXMLHttpRequestProperties):
6964 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
6965 * inspector/InspectorController.h:
6966 * xml/XMLHttpRequest.cpp:
6967 (WebCore::XMLHttpRequest::responseText):
6968 (WebCore::XMLHttpRequest::clearResponse):
6969 (WebCore::XMLHttpRequest::dropProtection):
6970 (WebCore::XMLHttpRequest::didFinishLoading):
6971 (WebCore::XMLHttpRequest::didReceiveData):
6972 * xml/XMLHttpRequest.h:
6973 (WebCore::XMLHttpRequest::setLastSendURL):
6974
weinig@apple.com9c73bf72008-11-21 22:54:40 +000069752008-11-21 Sam Weinig <sam@webkit.org>
6976
6977 Reviewed by Geoffrey Garen.
6978
6979 Destroy script decoded data on a zero-delay timer after
6980 decoding. This means we now have no decoded script data
6981 at the end of Membuster.
6982
6983 * loader/CachedScript.cpp:
6984 (WebCore::CachedScript::CachedScript):
6985 (WebCore::CachedScript::allClientsRemoved):
6986 (WebCore::CachedScript::script):
6987 (WebCore::CachedScript::decodedDataDeletionTimerFired):
6988 * loader/CachedScript.h:
6989
simon.fraser@apple.com0ebe80d2008-11-21 22:49:22 +000069902008-11-21 Simon Fraser <simon.fraser@apple.com>
6991
6992 Reviewed by Darin Adler
6993
6994 https://bugs.webkit.org/show_bug.cgi?id=22159
6995
6996 RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
6997 maximalOutlineSize(), since a child might have an outline which projects
6998 outside the parent overflowRect().
6999
7000 We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
7001 so that it is valid for these repaints.
7002
7003 Test: fast/repaint/outline-child-repaint.html
7004
7005 * WebCore.xcodeproj/project.pbxproj:
7006 * rendering/RenderBox.cpp:
7007 (WebCore::RenderBox::styleDidChange):
7008 (WebCore::RenderBox::absoluteClippedOverflowRect):
7009
jmalonzo@webkit.org0bc70ae2008-11-21 22:03:02 +000070102008-11-21 Jan Michael Alonzo <jmalonzo@webkit.org>
7011
7012 Gtk, Qt, and Wx build fix.
7013
7014 Add LinkHash.cpp in the build scripts.
7015 Add LinkHash.h to Gtk's build script.
7016
7017 LinkHash.cpp/h was introduced in r38661.
7018
7019 * GNUmakefile.am:
7020 * WebCore.pro:
7021 * WebCoreSources.bkl:
7022
weinig@apple.comff029502008-11-21 21:40:46 +000070232008-11-21 Sam Weinig <sam@webkit.org>
7024
7025 Reviewed by Dan Bernstein.
7026
7027 Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
7028 Be more eager in destroying script decoded data
7029
7030 Destroy the decoded data when all clients are removed from a CachedScript.
7031
7032 * loader/CachedScript.cpp:
7033 (WebCore::CachedScript::allClientsRemoved):
7034 * loader/CachedScript.h:
7035 (WebCore::CachedScript::allClientsRemoved):
7036
dino@apple.com030a4f32008-11-21 20:01:22 +000070372008-11-21 Pierre-Olivier Latour <pol@apple.com>
7038
7039 Reviewed by Dan Bernstein.
7040
7041 WebKit should be using Device RGB colorspace everywhere for
7042 consistency.
7043
7044 https://bugs.webkit.org/show_bug.cgi?id=22300
7045
7046 * page/mac/AccessibilityObjectWrapper.mm:
7047 (CreateCGColorIfDifferent):
7048 * platform/graphics/mac/ColorMac.h:
7049 * platform/graphics/mac/ColorMac.mm:
7050 (WebCore::nsColor):
7051 (+[WebCoreControlTintObserver controlTintDidChange]):
7052 * rendering/RenderThemeMac.mm:
7053 (WebCore::convertNSColorToColor):
7054 (WebCore::menuBackgroundColor):
7055
jchaffraix@webkit.org29c44b12008-11-21 19:32:03 +000070562008-11-20 Julien Chaffraix <jchaffraix@webkit.org>
7057
7058 Reviewed by Darin Adler.
7059
7060 Bug 22388: Add JSInterfaceName to the .in files
7061 https://bugs.webkit.org/show_bug.cgi?id=22388
7062
7063 Add JSInterfaceName that is similar to interfaceName but
7064 for the JS wrappers. JSInterfaceName is always equal to interfaceName
7065 unless explicitly set.
7066
7067 * dom/make_names.pl:
7068 * html/HTMLTagNames.in:
7069 * svg/svgtags.in:
7070
weinig@apple.comfffcbe62008-11-21 18:44:42 +000070712008-11-21 Sam Weinig <sam@webkit.org>
7072
7073 Reviewed by Geoffrey Garen.
7074
7075 Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
7076 Be more eager in destroying script decoded data
7077
7078 Use a new CachedScriptSourceProvider to keep CachedScripts as
7079 CachedScripts, even down into JSC. This has the added benefit
7080 of showing the CachedScripts as live in the Caches window.
7081
7082 * GNUmakefile.am:
7083 * WebCore.vcproj/WebCore.vcproj:
7084 * WebCore.xcodeproj/project.pbxproj:
7085 * bindings/js/CachedScriptSourceProvider.h: Added.
7086 (WebCore::CachedScriptSourceProvider::create):
7087 (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
7088 (WebCore::CachedScriptSourceProvider::getRange):
7089 (WebCore::CachedScriptSourceProvider::data):
7090 (WebCore::CachedScriptSourceProvider::length):
7091 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
7092 (WebCore::makeSource):
7093 * dom/ScriptElement.cpp:
7094 (WebCore::ScriptElementData::notifyFinished):
7095 * dom/XMLTokenizer.cpp:
7096 (WebCore::XMLTokenizer::notifyFinished):
7097 * html/HTMLTokenizer.cpp:
7098 (WebCore::HTMLTokenizer::notifyFinished):
7099
brettw@chromium.org51435592008-11-21 18:22:55 +000071002008-11-21 Brett Wilson <brettw@chromium.org>
7101
7102 Fix debug-only build bustage due to a typo in an assert, and add new
7103 files to the Windows build.
7104
7105 * Info.plist:
7106 * WebCore.vcproj/WebCore.vcproj:
7107 * platform/LinkHash.h:
7108 (WebCore::LinkHashHash::avoidDeletedValue):
7109
brettw@chromium.org696b4e12008-11-21 17:07:30 +000071102008-11-20 Brett Wilson <brettw@chromium.org>
7111
7112 Reviewed by Eric Seidel.
7113
7114 https://bugs.webkit.org/show_bug.cgi?id=22131
7115
7116 Factor out visited link hashing and types into a new file, LinkHash.
7117 This also changes the hash type to 64 bits, but does not actually use
7118 the extra bits yet.
7119
7120 * WebCore.xcodeproj/project.pbxproj:
7121 (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
7122 (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
7123 * css/CSSStyleSelector.h:
7124 (WebCore::CSSStyleSelector::visitedStateChanged):
7125 * dom/Document.cpp:
7126 * dom/Document.h:
7127 * page/Page.cpp:
7128 (WebCore::Page::visitedStateChanged):
7129 * page/Page.h:
7130 * page/PageGroup.cpp:
7131 (WebCore::PageGroup::isLinkVisited):
7132 (WebCore::PageGroup::addVisitedLink):
7133 * page/PageGroup.h:
7134 * platform/LinkHash.cpp: Added.
7135 (WebCore::findSlashDotDotSlash):
7136 (WebCore::findSlashSlash):
7137 (WebCore::findSlashDotSlash):
7138 (WebCore::containsColonSlashSlash):
7139 (WebCore::cleanPath):
7140 (WebCore::matchLetter):
7141 (WebCore::needsTrailingSlash):
7142 (WebCore::visitedLinkHash):
7143 * platform/LinkHash.h: Added
7144 (WebCore::LinkHashHash::hash):
7145 (WebCore::LinkHashHash::equal):
7146 (WebCore::LinkHashHash::avoidDeletedValue):
7147
zimmermann@webkit.org7dc20052008-11-21 15:20:50 +000071482008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
7149
7150 Reviewed by Alexey Proskuryakov.
7151
zimmermann@webkit.org727f5ef2008-11-21 16:47:04 +00007152 No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.
7153
7154 * wml/WMLPElement.cpp:
7155 (WebCore::WMLPElement::insertedIntoDocument):
7156
71572008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
7158
7159 Reviewed by Alexey Proskuryakov.
7160
zimmermann@webkit.orgcb6f2072008-11-21 15:25:26 +00007161 Fix some coding style/formatting issues in WMLAElement.
7162
7163 * wml/WMLAElement.cpp:
7164 (WebCore::WMLAElement::parseMappedAttribute):
7165 (WebCore::WMLAElement::defaultEventHandler):
7166 * wml/WMLAElement.h:
7167
71682008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
7169
7170 Reviewed by Alexey Proskuryakov.
7171
zimmermann@webkit.org7dc20052008-11-21 15:20:50 +00007172 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399
7173
7174 Implement <anchor> support for WML, add WMLVariables file containing helper functions
7175 for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.
7176
7177 * css/CSSStyleSelector.cpp:
7178 (WebCore::linkAttribute):
7179 * rendering/HitTestResult.cpp:
7180 (WebCore::HitTestResult::absoluteImageURL):
7181 (WebCore::HitTestResult::absoluteLinkURL):
7182 (WebCore::HitTestResult::isLiveLink):
7183 * wml/WMLAnchorElement.cpp: Added.
7184 (WebCore::WMLAnchorElement::WMLAnchorElement):
7185 (WebCore::WMLAnchorElement::~WMLAnchorElement):
7186 (WebCore::WMLAnchorElement::defaultEventHandler):
7187 * wml/WMLAnchorElement.h: Added.
7188 (WebCore::WMLAnchorElement::registerTask):
7189 * wml/WMLTagNames.in:
7190 * wml/WMLTaskElement.cpp: Added.
7191 (WebCore::WMLTaskElement::WMLTaskElement):
7192 (WebCore::WMLTaskElement::~WMLTaskElement):
7193 (WebCore::WMLTaskElement::insertedIntoDocument):
7194 (WebCore::WMLTaskElement::addVariableSetter):
7195 (WebCore::WMLTaskElement::removeVariableSetter):
7196 (WebCore::WMLTaskElement::storeVariableState):
7197 * wml/WMLTaskElement.h: Added.
7198 * wml/WMLVariables.cpp: Added.
7199 (WebCore::isValidVariableCharacter):
7200 (WebCore::isValidVariableReferenceCharacter):
7201 (WebCore::isValidVariableName):
7202 (WebCore::substituteVariableReferences):
7203 * wml/WMLVariables.h: Added.
7204 (WebCore::):
7205
jchaffraix@webkit.orgaee253e2008-11-21 14:30:51 +000072062008-11-21 Julien Chaffraix <jchaffraix@pleyo.com>
7207
7208 Rubber-stamped by Alexey Proskuryakov.
7209
7210 Build fix when building without WORKERS on non-POSIX, non-WINDOWS
7211 machine.
7212
7213 Spotted by Mario Bensi.
7214
7215 * platform/text/TextCodecICU.cpp:
7216
weinig@apple.com072de3b2008-11-21 05:35:22 +000072172008-11-20 Sam Weinig <sam@webkit.org>
7218
7219 Reviewed by Geoffrey Garen.
7220
weinig@apple.com79099002008-11-21 05:51:28 +00007221 First step in https://bugs.webkit.org/show_bug.cgi?id=22394
7222 Be more eager in destroying script decoded data
7223
7224 Pass data to be used in script execution around as JSC::SourceCode instead
7225 of a source, url, and starting line.
7226
7227 * bindings/js/ScriptController.cpp:
7228 (WebCore::ScriptController::evaluate):
7229 * bindings/js/ScriptController.h:
7230 * bindings/js/StringSourceProvider.h:
7231 (WebCore::makeSource):
7232 * bindings/js/WorkerScriptController.cpp:
7233 (WebCore::WorkerScriptController::evaluate):
7234 * bindings/js/WorkerScriptController.h:
7235 * dom/ScriptElement.cpp:
7236 (WebCore::ScriptElement::insertedIntoDocument):
7237 (WebCore::ScriptElement::childrenChanged):
7238 (WebCore::ScriptElementData::evaluateScript):
7239 (WebCore::ScriptElementData::notifyFinished):
7240 * dom/ScriptElement.h:
7241 * dom/WorkerThread.cpp:
7242 (WebCore::WorkerThread::workerThread):
7243 * dom/XMLTokenizer.cpp:
7244 (WebCore::XMLTokenizer::notifyFinished):
7245 * dom/XMLTokenizerLibxml2.cpp:
7246 (WebCore::XMLTokenizer::endElementNs):
7247 * dom/XMLTokenizerQt.cpp:
7248 (WebCore::XMLTokenizer::parseEndElement):
7249 * html/HTMLTokenizer.cpp:
7250 (WebCore::HTMLTokenizer::scriptHandler):
7251 (WebCore::HTMLTokenizer::scriptExecution):
7252 (WebCore::HTMLTokenizer::notifyFinished):
7253 * html/HTMLTokenizer.h:
7254 * loader/FrameLoader.cpp:
7255 (WebCore::FrameLoader::executeScript):
7256 * loader/FrameLoader.h:
7257
72582008-11-20 Sam Weinig <sam@webkit.org>
7259
7260 Reviewed by Geoffrey Garen.
7261
weinig@apple.com072de3b2008-11-21 05:35:22 +00007262 Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
7263 REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String
7264
7265 - Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
7266
7267 * bindings/js/JSXMLHttpRequestCustom.cpp:
7268 (WebCore::JSXMLHttpRequest::responseText):
7269 * xml/XMLHttpRequest.idl:
7270
simon.fraser@apple.com1dffe8f2008-11-21 01:57:55 +000072712008-11-20 Simon Fraser <simon.fraser@apple.com>
7272
7273 Reviewed by Dan Bernstein
7274
7275 https://bugs.webkit.org/show_bug.cgi?id=19623
7276
7277 When an non-layer object gained a transform, it would only repaint
7278 the bounds of the new layer, which could result in redraw artifacts
7279 if the new layer was smaller. So if we're gaining a transform, we
7280 repaint.
7281
7282 Test: fast/repaint/change-transform.html
7283
7284 * rendering/RenderObject.cpp:
7285 (WebCore::RenderObject::styleWillChange):
7286
adele@apple.com1b99bf62008-11-21 01:54:55 +000072872008-11-20 Adele Peterson <adele@apple.com>
7288
7289 Reviewed by Darin Adler.
7290
7291 Fix for <rdar://problem/6111436> Support upload progress events on Windows
7292
7293 * platform/network/cf/ResourceHandleCFNet.cpp:
7294 (WebCore::didSendBodyData): Added.
7295 (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
7296
justin.garcia@apple.comd041d1f2008-11-21 01:37:00 +000072972008-11-20 Justin Garcia <justin.garcia@apple.com>
7298
7299 Reviewed by Darin Adler.
7300
7301 <rdar://problem/2610675> Blank line that is quoted can't be deleted
7302
7303 If the caret is in an empty quoted paragraph, and either there is nothing before that
7304 paragraph, or what is before is unquoted, and the user presses delete, unquote that
7305 paragraph.
7306
7307 * editing/CompositeEditCommand.cpp:
7308 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added.
7309 Removes the line break that holds open an empty paragraph and then attempts to
7310 prune the blockquote(s) that held that line break in case they have been emptied
7311 out. Places a line break to create in empty unquoted paragraph in place of the
7312 quoted one that was removed.
7313 * editing/CompositeEditCommand.h:
7314 * editing/TypingCommand.cpp:
7315 (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
7316 * editing/htmlediting.cpp:
7317 (WebCore::highestEnclosingNodeOfType): Added.
7318 * editing/htmlediting.h:
7319
simon.fraser@apple.com5f535b92008-11-21 00:44:20 +000073202008-11-20 Dean Jackson <dino@apple.com>
7321
7322 Reviewed by Antti Koivisto
7323
simon.fraser@apple.come5d2c892008-11-21 00:48:46 +00007324 https://bugs.webkit.org/show_bug.cgi?id=21247
7325
7326 Make transition shorthand property accept transition-delay.
7327
7328 Test: transitions/transition-shorthand-delay.html
7329
7330 * css/CSSParser.cpp:
7331 (WebCore::CSSParser::parseTransitionShorthand):
7332
73332008-11-20 Dean Jackson <dino@apple.com>
7334
7335 Reviewed by Antti Koivisto
7336
simon.fraser@apple.com5f535b92008-11-21 00:44:20 +00007337 https://bugs.webkit.org/show_bug.cgi?id=22368
7338
7339 Make sure pauseTransition API takes transition delay into account.
7340
7341 Test: transitions/transition-drt-api-delay.html
7342
7343 * page/animation/AnimationBase.cpp:
7344 (WebCore::AnimationBase::pauseAtTime):
7345
simon.fraser@apple.com1a2c6782008-11-21 00:26:29 +000073462008-11-20 Simon Fraser <simon.fraser@apple.com>
7347
7348 Reviewed by Darin Adler
7349
7350 https://bugs.webkit.org/show_bug.cgi?id=20368
7351
7352 Implement getComputedStyle for animation properties. Remove individual
7353 computed values for transform-origin-x, transform-origin-y, and just
7354 return transform-origin instead. Return "none" for default animation-name,
7355 and fix the initial value.
7356
7357 Tests: animations/computed-style.html
7358 transforms/computed-style-origin.html
7359
7360 * css/CSSComputedStyleDeclaration.cpp:
7361 (WebCore::):
7362 (WebCore::getDelayValue):
7363 (WebCore::getDurationValue):
7364 (WebCore::getTimingFunctionValue):
7365 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7366 * rendering/style/RenderStyle.h:
7367 (WebCore::InheritedFlags::initialAnimationName):
7368
justin.garcia@apple.comba2601a2008-11-20 22:02:37 +000073692008-11-20 Justin Garcia <justin.garcia@apple.com>
7370
7371 Reviewed by Beth Dakin.
7372
7373 Preparation for:
7374 <rdar://problem/2610675> Blank line that is quoted can't be deleted
7375
7376 To fix this we need to make changes to the code that creates selections to delete
7377 when the user does a backward or forward delete with a caret selection. For certain
7378 caret positions, we now want to remove something other than the standard "caret extended
7379 backward/forward by one unit". The problem is that there were two pieces of code
7380 responsible for doing this, one in Editor::deleteWithDirection, and another inside
7381 TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent
7382 addition (r19172), and adding it there caused regressions because it prevented the
7383 code in deleteKeyPressed from ever running. The regressions were never caught because
7384 JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.
7385
7386 This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
7387 can handle it. That required moving code to handle the kill ring down into deleteKeyPressed.
7388
7389 Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
7390 discrepancies between the behavior of JS deletions and manual deletions, so that we
7391 have better test coverage.
7392
7393 * editing/Editor.cpp:
7394 (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead
7395 of checking for that periodically throughout the function. There's really nothing to be done
7396 if it's null anyway.
7397 Move kill ring code down into deleteKeyPressed.
7398 * editing/Editor.h:
7399 * editing/TypingCommand.cpp:
7400 (WebCore::TypingCommand::TypingCommand):
7401 (WebCore::TypingCommand::deleteKeyPressed):
7402 (WebCore::TypingCommand::forwardDeleteKeyPressed):
7403 (WebCore::TypingCommand::doApply):
7404 * editing/TypingCommand.h:
7405 (WebCore::TypingCommand::create):
7406
darin@apple.com6fc2f4a2008-11-20 21:41:20 +000074072008-11-20 Darin Adler <darin@apple.com>
7408
7409 Earlier version reviewed by Justin Garcia.
7410
7411 - fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
7412
7413 * editing/Editor.cpp:
7414 (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be
7415 handled even when the selection is not in an editable area.
7416 (WebCore::Editor::handleInputMethodKeydown): Ditto.
7417
7418 * editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to
7419 allow use when there's a selection even if it's not in an editable area. This includes commands
7420 like shift-arrow keys to extend the slection, but not commands like arrow keys to move the
7421 insertion point.
7422
ap@webkit.org54d829a2008-11-20 20:36:20 +000074232008-11-20 Alexey Proskuryakov <ap@webkit.org>
7424
7425 Reviewed by Darin Adler.
7426
7427 https://bugs.webkit.org/show_bug.cgi?id=22380
7428 Fix WorkerContext refcounting
7429
7430 * dom/WorkerContext.cpp:
7431 (WebCore::WorkerContext::WorkerContext):
7432 * dom/WorkerContext.h:
7433 (WebCore::WorkerContext::script):
7434 (WebCore::WorkerContext::clearScript):
ap@webkit.org8bd36192008-11-21 09:39:31 +00007435 Added a method to manually destroy WorkerScriptController.
ap@webkit.org54d829a2008-11-20 20:36:20 +00007436
7437 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
7438 Destroy WorkerScriptController to release any references to WorkerContext.
7439
jchaffraix@webkit.orgfe4eec02008-11-20 19:40:25 +000074402008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
7441
7442 Reviewed by Darin Adler.
7443
7444 Last part of bug 21106: .in format discussed changes
7445 https://bugs.webkit.org/show_bug.cgi?id=21106
7446
7447 - Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
7448
7449 - Cleaned up additionnal function parameters that were unneeded.
7450
7451 * dom/make_names.pl:
7452 * html/HTMLTagNames.in:
7453
ap@webkit.org5f83ddd2008-11-20 18:18:50 +000074542008-11-20 Alexey Proskuryakov <ap@webkit.org>
7455
7456 Reviewed by Darin Adler.
7457
7458 https://bugs.webkit.org/show_bug.cgi?id=22383
7459 Worker tests spill error messages over to consequent tests
7460
7461 * dom/Worker.cpp: (WebCore::Worker::Worker):
7462 Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL
7463 in this case, and there is no sense in starting a thread and trying to parse document source
7464 as JavaScript.
7465
7466 * bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker):
7467 Return quickly if toString() raised an exception.
7468
simon.fraser@apple.com13a62b22008-11-20 16:43:11 +000074692008-11-19 Simon Fraser <simon.fraser@apple.com>
7470
7471 Reviewed by Adele Peterson.
7472
7473 https://bugs.webkit.org/show_bug.cgi?id=22190
7474
7475 Fix the painting and event handling in transformed search fields.
7476 When painting the cancel and results button parts, get the rect from AppKit
7477 relative to the input bounds (rather than in absolute coords), then convert
7478 it into the coords of the part's renderer (which is the one that is painting).
7479 To do this we need to compute an offset relative to some container, so expose
7480 a method on RenderObject for that.
7481
7482 Also fix the location at which the search popup shows up to take transforms
7483 into account, and fix the math that is used to figure out if the search
7484 results button, or the cancel button should get the mouse events.
7485
7486 Test: fast/forms/search-transformed.html
7487
7488 * rendering/RenderBox.h:
7489 * rendering/RenderObject.cpp:
7490 (WebCore::RenderObject::offsetFromContainer):
7491 * rendering/RenderObject.h:
7492 * rendering/RenderTextControl.cpp:
7493 (WebCore::RenderTextControl::forwardEvent):
7494 (WebCore::RenderTextControl::showPopup):
7495 * rendering/RenderThemeMac.h:
7496 * rendering/RenderThemeMac.mm:
7497 (WebCore::RenderThemeMac::convertToPaintingRect):
7498 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
7499 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
7500 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
7501
hausmann@webkit.org61386622008-11-20 13:44:01 +000075022008-11-20 Joerg Bornemann <joerg.bornemann@trolltech.com>
7503
7504 Reviewed by Simon Hausmann.
7505
7506 Steps towards making the the Qt port of WebKit compile on Windows CE
7507
7508 https://bugs.webkit.org/show_bug.cgi?id=20746
7509
7510 * WebCore.pro: Various fixes to include windows specific build options
7511 also in the Windows CE build.
7512 * loader/icon/IconDatabase.cpp: Removed unnecessary errno.h inclusion.
7513 * platform/FileSystem.h: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
7514 * platform/graphics/qt/GraphicsContextQt.cpp:
7515 (WebCore::GraphicsContext::getWindowsContext): SetWorldTransform is
7516 not available on CE.
7517 * platform/graphics/qt/PathQt.cpp: Added local definition of M_PI.
7518 * platform/qt/FileSystemQt.cpp: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
7519 * platform/qt/KeyboardCodes.h: Extend #idefs to define the missing OEM
7520 constants on CE.
7521 * platform/qt/TemporaryLinkStubs.cpp: Added stubs for plugins.
7522 * platform/text/RegularExpression.cpp: Removed unused sys/types.h and
7523 pcre.h inclusions.
7524 * platform/win/SystemTimeWin.cpp:
7525 (WebCore::userIdleTime): Don't use GetLastInputInfo on CE, it does not
7526 exist.
7527
antti@apple.comc3221bd2008-11-20 10:47:22 +000075282008-11-20 Antti Koivisto <antti@apple.com>
7529
7530 Reviewed by Maciej Stachowiak.
7531
7532 https://bugs.webkit.org/show_bug.cgi?id=22379
7533 Make CSSOM use less memory
7534
7535 - Shrink CSSProperty by half by using bitfields.
7536 - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet
7537 and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
7538
7539 * css/CSSMutableStyleDeclaration.cpp:
7540 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
7541 (WebCore::CSSMutableStyleDeclaration::operator=):
7542 * css/CSSMutableStyleDeclaration.h:
7543 (WebCore::CSSMutableStyleDeclaration::setStrictParsing):
7544 (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
7545 * css/CSSProperty.h:
7546 * css/CSSStyleSheet.cpp:
7547 (WebCore::CSSStyleSheet::CSSStyleSheet):
7548 * css/CSSStyleSheet.h:
7549 (WebCore::CSSStyleSheet::setStrictParsing):
7550 (WebCore::CSSStyleSheet::useStrictParsing):
7551 * css/StyleBase.h:
7552 (WebCore::StyleBase::useStrictParsing):
7553 (WebCore::StyleBase::StyleBase):
7554
darin@chromium.orgcd848402008-11-20 02:05:41 +000075552008-11-19 Darin Fisher <darin@chromium.org>
7556
darin@chromium.org395b5272008-11-20 03:27:50 +00007557 Fix bustage.
7558
7559 https://bugs.webkit.org/show_bug.cgi?id=22373
7560 Ports busted by addition of ScriptValue.{h,cpp}
7561
7562 * plugins/PluginView.cpp:
7563 (WebCore::PluginView::performRequest):
7564
75652008-11-19 Darin Fisher <darin@chromium.org>
7566
darin@chromium.orgc1849fa2008-11-20 03:19:28 +00007567 Bustage fix.
7568
7569 https://bugs.webkit.org/show_bug.cgi?id=22373
7570 Ports busted by addition of ScriptValue.{h,cpp}
7571
7572 * GNUmakefile.am:
7573 * WebCore.pro:
7574 * WebCoreSources.bkl:
7575 * dom/XMLTokenizerQt.cpp:
7576 * plugins/PluginView.cpp:
7577
75782008-11-19 Darin Fisher <darin@chromium.org>
7579
darin@chromium.orgcd848402008-11-20 02:05:41 +00007580 Reviewed by Geoff Garen.
7581
7582 https://bugs.webkit.org/show_bug.cgi?id=22345
7583 Define ScriptValue as a thin container for a JSC::Value*.
7584
7585 * WebCore.vcproj/WebCore.vcproj:
7586 * WebCore.xcodeproj/project.pbxproj:
7587 * bindings/js/ScheduledAction.cpp:
7588 * bindings/js/ScriptController.cpp:
7589 (WebCore::ScriptController::evaluate):
7590 * bindings/js/ScriptController.h:
7591 * bindings/js/ScriptValue.cpp: Added.
7592 (WebCore::ScriptValue::getString):
7593 * bindings/js/ScriptValue.h: Added.
7594 (WebCore::ScriptValue::ScriptValue):
7595 (WebCore::ScriptValue::jsValue):
7596 * dom/ScriptElement.cpp:
7597 * dom/XMLTokenizer.cpp:
7598 * dom/XMLTokenizerLibxml2.cpp:
7599 * html/HTMLTokenizer.cpp:
7600 * loader/FrameLoader.cpp:
7601 (WebCore::FrameLoader::executeIfJavaScriptURL):
7602 (WebCore::FrameLoader::executeScript):
7603 * loader/FrameLoader.h:
7604
bdakin@apple.comf5090c92008-11-20 01:33:05 +000076052008-11-19 Beth Dakin <bdakin@apple.com>
7606
7607 Reviewed by Justin Garcia.
7608
7609 Fix for <rdar://problem/5472507> Remove color property when a user
7610 sets color to black
7611
7612 This patch prevents us from inserting font nodes during the
7613 ApplyStyleCommand if they will not change the computed style of an
7614 element.
7615
7616 * editing/ApplyStyleCommand.cpp:
7617 (WebCore::fontColorChangesComputedStyle):
7618 (WebCore::fontSizeChangesComputedStyle):
7619 (WebCore::fontFaceChangesComputedStyle):
7620 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
7621
simon.fraser@apple.com5c9b4482008-11-19 21:07:15 +000076222008-11-19 Simon Fraser <simon.fraser@apple.com>
7623
simon.fraser@apple.com15484662008-11-20 02:44:28 +00007624 Reviewed by Antti Koivisto
7625
7626 https://bugs.webkit.org/show_bug.cgi?id=22111
7627
7628 Fix hit testing in controls on transformed video elements
7629 by replacing absoluteBoundingBoxRect().contains() with
7630 code that maps the point into local coords, taking
7631 transforms into account.
7632
7633 Test: media/video-controls-transformed.html
7634
7635 * platform/graphics/MediaPlayer.h:
7636 * rendering/RenderMedia.cpp:
7637 (WebCore::rendererContainsPoint):
7638 (WebCore::RenderMedia::forwardEvent):
7639
76402008-11-19 Simon Fraser <simon.fraser@apple.com>
7641
simon.fraser@apple.com5c9b4482008-11-19 21:07:15 +00007642 Reviewed by Darin Adler
7643
7644 https://bugs.webkit.org/show_bug.cgi?id=22348
7645
7646 Need to educate style sharing about autofill, so that style does not
7647 get shared between input elements that are autofilled, and those
7648 that are not. Setting autofill should also do a setChanged on the node.
7649
7650 * css/CSSStyleSelector.cpp:
7651 (WebCore::CSSStyleSelector::canShareStyleWithElement):
7652 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7653 * dom/Node.h:
7654 (WebCore::Node::isAutofilled):
7655 * html/HTMLInputElement.cpp:
7656 (WebCore::HTMLInputElement::setAutofilled):
7657 * html/HTMLInputElement.h:
7658 (WebCore::HTMLInputElement::isAutofilled):
7659
brettw@chromium.org74db4f52008-11-19 20:44:37 +000076602008-11-19 Brett Wilson <brettw@chromium.org>
7661
7662 Reviewed by Antti Koivisto.
7663
7664 https://bugs.webkit.org/show_bug.cgi?id=22349
7665
7666 Clear the subresource loader client when the client is removed in
7667 response to a 304 (not modified). This prevents an inconsistent state
7668 where the loader thinks it's active and the loader::Host doesn't.
7669
7670 * loader/loader.cpp:
7671 (WebCore::Loader::Host::didReceiveResponse):
7672
ap@webkit.orge9b6b592008-11-19 17:42:39 +000076732008-11-19 Alexey Proskuryakov <ap@webkit.org>
7674
ap@webkit.org592d2a82008-11-19 17:57:58 +00007675 Reviewed by Darin Adler.
7676
ap@webkit.org871cd152008-11-19 18:28:57 +00007677 https://bugs.webkit.org/show_bug.cgi?id=22355
7678 Systematize code for replacing global constructors
7679
7680 Test: fast/workers/worker-replace-global-constructor.html
7681
7682 * bindings/js/JSDOMWindowBase.cpp:
7683 (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated
7684 code for global constructor setters does.
7685 (setJSDOMWindowBaseAudio): Ditto.
7686 (setJSDOMWindowBaseImage): Ditto.
7687 (setJSDOMWindowBaseMessageChannel): Ditto.
7688 (setJSDOMWindowBaseOption): Ditto.
7689 (setJSDOMWindowBaseWorker): Ditto.
7690 (setJSDOMWindowBaseXMLHttpRequest): Ditto.
7691 (setJSDOMWindowBaseXSLTProcessor): Ditto.
7692 (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors.
7693
7694 * bindings/js/JSWorkerContext.cpp:
7695 (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties,
7696 as it is done for Window.
7697 (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global
7698 constructors are.
7699 (WebCore::setJSWorkerContextWorkerLocation): Ditto.
7700
77012008-11-19 Alexey Proskuryakov <ap@webkit.org>
7702
7703 Reviewed by Darin Adler.
7704
ap@webkit.org592d2a82008-11-19 17:57:58 +00007705 https://bugs.webkit.org/show_bug.cgi?id=22341
7706 Text codecs should not use static data without locking
7707
7708 * platform/text/TextCodecICU.cpp:
7709 * platform/text/mac/TextCodecMac.cpp:
7710 Made cached converters per-thread.
7711
7712 * platform/text/TextEncodingRegistry.cpp:
7713 (WebCore::encodingRegistryMutex): Added a mutex for codec maps access.
ap@webkit.org8bd36192008-11-21 09:39:31 +00007714 (WebCore::addToTextCodecMap): Don't use TextEncoding just to canonicalize the name, as it
7715 causes a deadlock due to a recursive call into registry.
ap@webkit.org592d2a82008-11-19 17:57:58 +00007716 (WebCore::buildBaseTextCodecMaps): Added assertions.
7717 (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps.
7718 (WebCore::atomicCanonicalTextEncodingName): Ditto.
7719 (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not
7720 necessary here.
7721
77222008-11-19 Alexey Proskuryakov <ap@webkit.org>
7723
ap@webkit.org2834b3e2008-11-19 17:57:00 +00007724 Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines.
7725
7726 * WebCorePrefix.h:
7727
77282008-11-19 Alexey Proskuryakov <ap@webkit.org>
7729
ap@webkit.orge9b6b592008-11-19 17:42:39 +00007730 Reviewed by Darin Adler.
7731
7732 https://bugs.webkit.org/show_bug.cgi?id=22310
7733 Worker exceptions should be printed to console
7734
7735 * dom/Document.cpp: (WebCore::Document::reportException):
7736 * dom/Document.h:
7737 * dom/ScriptExecutionContext.h:
7738 * dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
7739 * dom/WorkerContext.h:
7740 Added a reportException() method on ScriptExecutionContext. It forwards the exception info
7741 up until it finds a Document context, and then it prints it to console.
7742
7743 * bindings/js/JSEventListener.cpp:
7744 (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use
7745 ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering()
7746 could be called from workers.
7747 (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity.
7748
7749 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
7750 Report exceptions to ScriptExecutionContext.
7751
7752 * dom/WorkerMessagingProxy.cpp:
7753 (WebCore::MessageWorkerTask::performTask):
7754 (WebCore::WorkerExceptionTask::create):
7755 (WebCore::WorkerExceptionTask::WorkerExceptionTask):
7756 (WebCore::WorkerExceptionTask::performTask):
7757 (WebCore::WorkerMessagingProxy::postWorkerException):
7758 * dom/WorkerMessagingProxy.h:
7759 Added a task for posting exception information.
7760
7761 * bindings/js/JSDOMBinding.cpp:
7762 (WebCore::reportException):
7763 (WebCore::reportCurrentException):
7764 * bindings/js/JSDOMBinding.h:
7765 Added helper methods for reporting exceptions via ScriptExecutionContext.
7766
7767 * page/Console.cpp:
7768 * page/Console.h:
7769 Removed methods for directly reporting exceptions to console.
7770
7771 * bindings/js/JSCustomPositionCallback.cpp:
7772 (WebCore::JSCustomPositionCallback::handleEvent):
7773 * bindings/js/JSCustomPositionErrorCallback.cpp:
7774 (WebCore::JSCustomPositionErrorCallback::handleEvent):
7775 * bindings/js/JSCustomSQLStatementCallback.cpp:
7776 (WebCore::JSCustomSQLStatementCallback::handleEvent):
7777 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
7778 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
7779 * bindings/js/JSCustomSQLTransactionCallback.cpp:
7780 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
7781 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7782 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
7783 * bindings/js/JSCustomVoidCallback.cpp:
7784 (WebCore::JSCustomVoidCallback::handleEvent):
7785 * bindings/js/JSCustomXPathNSResolver.cpp:
7786 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
7787 * bindings/js/ScheduledAction.cpp:
7788 (WebCore::ScheduledAction::execute):
7789 * bindings/js/ScriptController.cpp:
7790 (WebCore::ScriptController::evaluate):
7791 * bindings/objc/WebScriptObject.mm:
7792 (WebCore::addExceptionToConsole):
7793 Switch to JSDOMBinding methods for reporting exceptions.
7794
mitz@apple.comc50bbf12008-11-19 07:51:47 +000077952008-11-18 Dan Bernstein <mitz@apple.com>
7796
7797 Reviewed by Mark Rowe.
7798
7799 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=22331
7800 <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
7801
7802 * platform/ContextMenuItem.h:
7803 (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with
7804 the one in WebUIDelegate.h.
7805
darin@chromium.org058a8c12008-11-19 01:58:39 +000078062008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
7807
7808 Reviewed by Darin Adler.
7809
7810 https://bugs.webkit.org/show_bug.cgi?id=22346
7811 PlatformString should also include HashSet.h for non-JSC builds
7812
7813 * platform/text/PlatformString.h:
7814
adele@apple.comfd67df92008-11-19 00:25:41 +000078152008-11-18 Adele Peterson <adele@apple.com>
7816
7817 Reviewed by Holger Hans Peter Freyther.
7818
7819 Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid.
7820
7821 * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
7822
darin@chromium.orgae1656d2008-11-18 23:39:00 +000078232008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
7824
7825 Reviewed by Sam Weinig.
7826
7827 https://bugs.webkit.org/show_bug.cgi?id=22343
7828 Remove unused runtime/Collector, JSLock includes in Page.cpp
7829
7830 * page/Page.cpp:
7831
adachan@apple.com73975492008-11-18 23:30:12 +000078322008-11-18 Ada Chan <adachan@apple.com>
7833
7834 Bug 22344: Make select popup window opaque
7835 https://bugs.webkit.org/show_bug.cgi?id=22344
7836
7837 Reviewed by Steve Falkenburg.
7838
7839 * platform/win/PopupMenuWin.cpp:
7840 (WebCore::PopupMenu::show):
7841
darin@chromium.orgd2a03d72008-11-18 23:16:59 +000078422008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
7843
7844 Reviewed by Sam Weinig.
7845
7846 https://bugs.webkit.org/show_bug.cgi?id=22342
7847 Remove unused JSLock.h include
7848
7849 * dom/Document.cpp:
7850
zimmermann@webkit.org9b0b30f2008-11-18 22:15:33 +000078512008-11-18 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
7852
7853 Reviewed by Sam Weinig.
7854
7855 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22334
7856
7857 Add WMLBRElement, correcting <br/> behaviour in WML.
7858 Enable entity replacment for WML documents.
7859 Handle WML specific <p> 'mode' attribute.
7860
7861 Generate layout tests results for fast/wml.
7862
7863 Tests cases that pass now:
7864 fast/wml/br-element-in-table.wml
7865 fast/wml/br-element-in-text.wml
7866 fast/wml/case-sensitivity.wml
7867 fast/wml/cdata-section.wml
7868 fast/wml/comment.wml
7869 fast/wml/entity.wml
7870 fast/wml/p-align.wml
7871 fast/wml/p-mode.wml
7872 fast/wml/text-emphasis.wml
7873 fast/wml/validate-dtd.wml
7874
7875 * GNUmakefile.am:
7876 * WebCore.pro:
7877 * WebCore.xcodeproj/project.pbxproj:
7878 * dom/XMLTokenizer.cpp:
7879 (WebCore::XMLTokenizer::isWMLDocument):
7880 (WebCore::XMLTokenizer::insertErrorMessageBlock):
7881 * dom/XMLTokenizer.h:
7882 * dom/XMLTokenizerLibxml2.cpp:
7883 (WebCore::XMLTokenizer::internalSubset):
7884 (WebCore::getEntityHandler):
7885 * dom/XMLTokenizerQt.cpp:
7886 (WebCore::XMLTokenizer::parse):
7887 * wml/WMLBRElement.cpp: Added.
7888 (WebCore::WMLBRElement::WMLBRElement):
7889 (WebCore::WMLBRElement::mapToEntry):
7890 (WebCore::WMLBRElement::parseMappedAttribute):
7891 (WebCore::WMLBRElement::createRenderer):
7892 * wml/WMLBRElement.h: Added.
7893 * wml/WMLPElement.cpp:
7894 (WebCore::WMLPElement::parseMappedAttribute):
7895 (WebCore::WMLPElement::insertedIntoDocument):
7896 * wml/WMLPElement.h:
7897 * wml/WMLTagNames.in:
7898
ap@webkit.org4cc3bf42008-11-18 19:23:27 +000078992008-11-18 Alexey Proskuryakov <ap@webkit.org>
7900
7901 Windows build fix.
7902
7903 * WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
7904
darin@apple.com8f78a7d2008-11-18 18:26:08 +000079052008-11-18 Darin Adler <darin@apple.com>
7906
7907 - try to fix Wx build
7908
7909 * WebCoreSources.bkl: Added FrameLoaderClient.cpp.
7910
ap@webkit.org6881f9e2008-11-18 18:25:29 +000079112008-11-18 Alexey Proskuryakov <ap@webkit.org>
7912
7913 Reviewed by Darin Adler.
7914
7915 https://bugs.webkit.org/show_bug.cgi?id=22337
7916 Enable workers by default
7917
7918 Tests: fast/workers/worker-constructor.html
7919 fast/workers/worker-event-listener.html
7920 fast/workers/worker-gc.html
7921 fast/workers/worker-location.html
7922
7923 * Configurations/WebCore.xcconfig:
7924 * WebCore.vcproj/WebCore.vcproj:
7925 * WebCore.vcproj/build-generated-files.sh:
7926 Define ENABLE_WORKERS.
7927
darin@apple.com6e74f2e2008-11-18 18:23:02 +000079282008-11-18 Darin Adler <darin@apple.com>
7929
7930 Reviewed by Alexey Proskuryakov.
7931
7932 - first cut at https://bugs.webkit.org/show_bug.cgi?id=10957
7933 <rdar://problem/5516594> please add support for HTTP-only cookies
7934
7935 Test: http/tests/xmlhttprequest/get-dangerous-headers.html
7936
7937 No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
7938 require an updated CFNetwork.
7939
7940 * platform/mac/CookieJar.mm:
7941 (WebCore::isHTTPOnly): Added.
7942 (WebCore::filterCookies): Added.
7943 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
7944 (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
7945
7946 * platform/network/win/CookieJarCFNetWin.cpp:
7947 (WebCore::isHTTPOnly): Added.
7948 (WebCore::filterCookies): Added.
7949 (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies.
7950 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
7951
7952 * xml/XMLHttpRequest.cpp:
7953 (WebCore::isSetCookieHeader): Added.
7954 (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from
7955 clients that don't have local-resource privileges.
7956 (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
7957
7958 - clean soup-specific details out of shared cookie jar header
7959
7960 * platform/CookieJar.h: Removed the soup-specific parts of this.
7961 * platform/network/soup/CookieJarSoup.cpp: Changed to include
7962 CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
7963 * platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified
7964 part of CookieJar.h.
7965 * platform/network/soup/ResourceHandleSoup.cpp: Changed to include
7966 CookieJarSoup.h.
7967
sfalken@apple.com414bf3f2008-11-18 17:59:54 +000079682008-11-18 Steve Falkenburg <sfalken@apple.com>
7969
7970 https://bugs.webkit.org/show_bug.cgi?id=22329
7971 Improper bitwise and tests against 0 in Windows context menu code
7972
7973 Reviewed by John Sullivan.
7974
7975 * platform/win/ContextMenuItemWin.cpp:
7976 (WebCore::ContextMenuItem::type):
7977 (WebCore::ContextMenuItem::enabled):
7978
sullivan@apple.com83ce9902008-11-18 17:32:35 +000079792008-11-18 John Sullivan <sullivan@apple.com>
7980
7981 Yet more Mac build fixing
7982
7983 * WebCore.base.exp: Export __ZTVN7WebCore17FrameLoaderClientE
7984
vestbo@webkit.orgc311a972008-11-18 14:41:18 +000079852008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
7986
vestbo@webkit.org4387a7b2008-11-18 14:41:42 +00007987 Reviewed by Simon Hausmann.
7988
7989 React properly to frame rect changes for QWidget based plugins
7990
7991 We now set the geometry of the QWidget in frameRectsChanged,
7992 intead of setFrameRect, which means we pick up the changes to
7993 the frame rect when scrolling. We also set a mask on the
7994 widget to keep it from painting over scrollbars and the like
7995
7996 * platform/qt/WidgetQt.cpp:
7997 (WebCore::Widget::setFrameRect):
7998
79992008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
8000
vestbo@webkit.orgc311a972008-11-18 14:41:18 +00008001 Rubber-stamped by Simon Hausmann.
8002
8003 Don't mark scrollbars as focused in QtWebKit
8004
8005 When initing from the widget we also got the focus state,
8006 but this does not make sense for scrollbars.
8007
8008 * platform/qt/ScrollbarThemeQt.cpp:
8009 (WebCore::styleOptionSlider):
8010
ap@webkit.orgde18f772008-11-18 12:53:14 +000080112008-11-18 Alexey Proskuryakov <ap@webkit.org>
8012
ap@webkit.org8c53ec72008-11-18 13:46:59 +00008013 More Mac build fixing.
8014
8015 * WebCore.base.exp: Export FrameLoaderClient destructor.
8016
80172008-11-18 Alexey Proskuryakov <ap@webkit.org>
8018
ap@webkit.orgde18f772008-11-18 12:53:14 +00008019 Mac build fix.
8020
8021 * WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
8022
zecke@webkit.org6a82c452008-11-18 12:32:49 +000080232008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
8024
8025 Reviewed by Simon Hausmann.
8026
8027 https://bugs.webkit.org/show_bug.cgi?id=22056
8028
zecke@webkit.org6b956e72008-11-18 12:33:24 +00008029 Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
8030
8031 After Hyatt's work on Widget and ScrollView there is little difference
8032 between the implementation of Qt, Gtk+ and Win. In fact any kind of
8033 difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
8034 port and the Qt port has at least one of them left.
8035
8036 The only difference between the implementations is in getting the the
8037 IntSize for the new FrameView, the background color to be applied and
8038 eventually some post processing.
8039
8040 Unify the implementations by providing a static helper function that
8041 takes a Frame, IntSize, color and transparency bit and calling it from
8042 the Gtk+, the Qt and the Windows port.
8043
8044 * GNUmakefile.am:
8045 * WebCore.pro:
8046 * WebCore.vcproj/WebCore.vcproj:
8047 * loader/FrameLoaderClient.cpp: Added.
8048 (WebCore::FrameLoaderClient::~FrameLoaderClient):
8049 (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
8050 * loader/FrameLoaderClient.h:
8051
80522008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
8053
8054 Reviewed by Simon Hausmann.
8055
8056 https://bugs.webkit.org/show_bug.cgi?id=22056
8057
zecke@webkit.org6a82c452008-11-18 12:32:49 +00008058 Move setting the background color and transparency from WebKit/win
8059 to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
8060 to share this code.
8061
8062 * page/FrameView.cpp:
8063 (WebCore::FrameView::updateBackgroundRecursively):
8064 * page/FrameView.h:
8065
vestbo@webkit.orgc52e5ad2008-11-18 11:36:23 +000080662008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>
8067
8068 Reviewed by Tor Arne Vestbø.
8069
8070 Fix the bug where select elements are painted without border.
8071 http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry
8072
8073 * platform/qt/RenderThemeQt.cpp:
8074 (WebCore::RenderThemeQt::paintMenuList):
8075
jmalonzo@webkit.orga1c87442008-11-18 10:06:21 +000080762008-11-18 Jan Michael Alonzo <jmalonzo@webkit.org>
8077
8078 Gtk build fix. Not reviewed.
8079
8080 * GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/,
8081 not in wml/.
8082
ap@webkit.org2e143a82008-11-18 08:03:25 +000080832008-11-18 Alexey Proskuryakov <ap@webkit.org>
8084
ap@webkit.orgfacdd7c2008-11-18 08:44:40 +00008085 Reviewed by Darin Adler.
8086
8087 https://bugs.webkit.org/show_bug.cgi?id=22308
8088 Improve Worker GC behavior
8089
8090 * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
8091 * dom/ActiveDOMObject.h:
8092 Made hasPendingActivity() virtual, letting Worker add behavior to it.
8093
8094 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
8095 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
8096 Tell message proxy whether there are active objects in the worker whenever JS execution
8097 finishes.
8098
8099 * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects):
8100 Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
8101
8102 * dom/Worker.h:
8103 * dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still
8104 loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
8105
8106 * dom/WorkerContext.h:
8107 * dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered
8108 active objects for pending activity.
8109
8110 * dom/WorkerMessagingProxy.cpp:
8111 (WebCore::MessageWorkerContextTask::performTask):
8112 (WebCore::WorkerThreadActivityReportTask::create):
8113 (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask):
8114 (WebCore::WorkerThreadActivityReportTask::performTask):
8115 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
8116 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
8117 (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
8118 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
8119 (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
8120 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity):
8121 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal):
8122 (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
8123 * dom/WorkerMessagingProxy.h:
8124 Track outstanding messages, and activity reported by worker thread.
8125
81262008-11-18 Alexey Proskuryakov <ap@webkit.org>
8127
ap@webkit.org2e143a82008-11-18 08:03:25 +00008128 Rubber-stamped by Darin Adler.
8129
8130 https://bugs.webkit.org/show_bug.cgi?id=22306
8131 Disable channel messaging support
8132
8133 * bindings/js/JSDOMWindowBase.cpp:
8134 (jsDOMWindowBaseMessageChannel):
8135 * page/DOMWindow.idl:
8136 Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel
8137 constructor is added, it remains enumerable, but undefined.
8138
zimmermann@webkit.org4c3a61a2008-11-18 00:04:18 +000081392008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
8140
zimmermann@webkit.orgb981deb2008-11-18 00:46:24 +00008141 Reviewed by Mark Rowe.
8142
8143 Remove WBXML code. MainResourceLoader is not an appropriate location.
8144 Revert until we find a better place.
8145
8146 The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
8147 Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.
8148
8149 * WebCore.pro:
8150 * dom/DOMImplementation.cpp:
8151 (WebCore::DOMImplementation::createDocument):
8152 * loader/MainResourceLoader.cpp:
8153 (WebCore::MainResourceLoader::addData):
8154 * platform/MIMETypeRegistry.cpp:
8155 (WebCore::initializeSupportedNonImageMimeTypes):
8156
81572008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
8158
zimmermann@webkit.orgba18ade2008-11-18 00:23:28 +00008159 Not reviewed. Build fix.
8160
8161 Oops, disable WML by default on Qt.
8162
8163 * WebCore.pro:
8164
81652008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
8166
zimmermann@webkit.org4c3a61a2008-11-18 00:04:18 +00008167 Reviewed by George Staikos.
8168
8169 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
8170
8171 Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
8172 Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
8173
8174 WML is not build by default.
8175
8176 * DerivedSources.make: Handle WMLNames/WMLElementFactory generation.
8177 * GNUmakefile.am: Add new files and generator hooks.
8178 * WebCore.pro: Ditto.
8179 * WebCore.xcodeproj/project.pbxproj: Ditto.
8180 * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG.
8181 (WebCore::linkAttribute):
8182 (WebCore::CSSStyleSelector::styleForElement):c
8183 * css/wml.css: Added.
8184 * dom/DOMImplementation.cpp: Handle WMLDocument creation
8185 (WebCore::DOMImplementation::createDocument):
8186 * dom/Document.cpp: Handle WMLElement creation.
8187 (WebCore::Document::createElement):
8188 * dom/Document.h: Add helper function identifying WML documents.
8189 (WebCore::Document::isWMLDocument):
8190 * dom/Node.h: Add heper function identifying WML elements.
8191 (WebCore::Node::isWMLElement):
8192 * dom/XMLTokenizer.cpp: Handle errors in WML documents
8193 (WebCore::XMLTokenizer::insertErrorMessageBlock):
8194 * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks.
8195 (WebCore::XMLTokenizer::internalSubset):
8196 * dom/XMLTokenizerQt.cpp: Ditto.
8197 (WebCore::):
8198 * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes.
8199 * history/BackForwardList.cpp: Add WML specific function for clearing the history.
8200 (WebCore::BackForwardList::clearWmlPageHistory):
8201 * history/BackForwardList.h:
8202 * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic.
8203 (WebCore::FrameLoader::FrameLoader):
8204 (WebCore::FrameLoader::setForceReloadWmlDeck):
8205 (WebCore::FrameLoader::shouldReload):
8206 (WebCore::FrameLoader::loadItem):
8207 * loader/FrameLoader.h:
8208 * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment)
8209 (WebCore::MainResourceLoader::addData):
8210 * page/Frame.cpp: Initialize WMLNames.
8211 (WebCore::Frame::Frame):
8212 * page/Page.cpp: Maintain WMLPageState object per Page.
8213 (WebCore::Page::Page):
8214 (WebCore::Page::setWMLPageState):
8215 (WebCore::Page::wmlPageState):
8216 * page/Page.h:
8217 * platform/MIMETypeRegistry.cpp: Recognize WML extensions.
8218 (WebCore::initializeSupportedNonImageMimeTypes):
8219 * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto.
8220 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
8221 * platform/qt/MIMETypeRegistryQt.cpp: Ditto.
8222 (WebCore::):
8223 * platform/win/MIMETypeRegistryWin.cpp: Ditto.
8224 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
8225 * manual-tests/wml: Added.
8226 * manual-tests/wml/a-br-element.wml: Added.
8227 * manual-tests/wml/a-element.wml: Added.
8228 * manual-tests/wml/a-img-element.wml: Added.
8229 * manual-tests/wml/access-target.wml: Added.
8230 * manual-tests/wml/anchor-br-element.wml: Added.
8231 * manual-tests/wml/anchor-element.wml: Added.
8232 * manual-tests/wml/anchor-img-element.wml: Added.
8233 * manual-tests/wml/card-newcontext-attr.wml: Added.
8234 * manual-tests/wml/card-onenterbackward.wml: Added.
8235 * manual-tests/wml/card-onenterforward.wml: Added.
8236 * manual-tests/wml/card-ontimer.wml: Added.
8237 * manual-tests/wml/deck-access-control.wml: Added.
8238 * manual-tests/wml/go-element.wml: Added.
8239 * manual-tests/wml/input-emptyok.wml: Added.
8240 * manual-tests/wml/input-format.wml: Added.
8241 * manual-tests/wml/onevent-go.wml: Added.
8242 * manual-tests/wml/onevent-noop.wml: Added.
8243 * manual-tests/wml/onevent-prev.wml: Added.
8244 * manual-tests/wml/onevent-refresh.wml: Added.
8245 * manual-tests/wml/onevent-shadow.wml: Added.
8246 * manual-tests/wml/postfield-get.wml: Added.
8247 * manual-tests/wml/postfield-post.wml: Added.
8248 * manual-tests/wml/select-element.wml: Added.
8249 * manual-tests/wml/select-onpick-event.wml: Added.
8250 * manual-tests/wml/setvar-element.wml: Added.
8251 * manual-tests/wml/targetdeck.wml: Added.
8252 * manual-tests/wml/task-go-in-anchor.wml: Added.
8253 * manual-tests/wml/task-noop-in-do.wml: Added.
8254 * manual-tests/wml/task-noop-in-onevent.wml: Added.
8255 * manual-tests/wml/task-prev-in-anchor.wml: Added.
8256 * manual-tests/wml/task-refresh-in-anchor.wml: Added.
8257 * manual-tests/wml/template-go.wml: Added.
8258 * manual-tests/wml/template-onevent.wml: Added.
8259 * manual-tests/wml/template-ontimer.wml: Added.
8260 * manual-tests/wml/timer.wml: Added.
8261 * manual-tests/wml/variable-substitution.wml: Added.
8262 * wml: Added.
8263 * wml/WMLAElement.cpp: Added.
8264 (WebCore::WMLAElement::WMLAElement):
8265 (WebCore::WMLAElement::parseMappedAttribute):
8266 (WebCore::WMLAElement::supportsFocus):
8267 (WebCore::WMLAElement::isFocusable):
8268 (WebCore::WMLAElement::isMouseFocusable):
8269 (WebCore::WMLAElement::isKeyboardFocusable):
8270 (WebCore::WMLAElement::defaultEventHandler):
8271 (WebCore::WMLAElement::accessKeyAction):
8272 (WebCore::WMLAElement::isURLAttribute):
8273 (WebCore::WMLAElement::target):
8274 * wml/WMLAElement.h: Added.
8275 * wml/WMLAttributeNames.in: Added.
8276 * wml/WMLCardElement.cpp: Added.
8277 (WebCore::WMLCardElement::WMLCardElement):
8278 * wml/WMLCardElement.h: Added.
8279 * wml/WMLDocument.cpp: Added.
8280 (WebCore::WMLDocument::WMLDocument):
8281 (WebCore::WMLDocument::~WMLDocument):
8282 * wml/WMLDocument.h: Added.
8283 (WebCore::WMLDocument::create):
8284 (WebCore::WMLDocument::isWMLDocument):
8285 * wml/WMLElement.cpp: Added.
8286 (WebCore::WMLElement::WMLElement):
8287 (WebCore::WMLElement::mapToEntry):
8288 (WebCore::WMLElement::parseMappedAttribute):
8289 (WebCore::WMLElement::rendererIsNeeded):
8290 (WebCore::WMLElement::createRenderer):
8291 * wml/WMLElement.h: Added.
8292 (WebCore::WMLElement::isWMLElement):
8293 * wml/WMLPElement.cpp: Added.
8294 (WebCore::WMLPElement::WMLPElement):
8295 (WebCore::WMLPElement::mapToEntry):
8296 (WebCore::WMLPElement::parseMappedAttribute):
8297 * wml/WMLPElement.h: Added.
8298 * wml/WMLPageState.cpp: Added.
8299 (WebCore::WMLPageState::WMLPageState):
8300 (WebCore::WMLPageState::~WMLPageState):
8301 (WebCore::WMLPageState::reset):
8302 (WebCore::WMLPageState::setNeedCheckDeckAccess):
8303 (WebCore::WMLPageState::isDeckAccessible):
8304 * wml/WMLPageState.h: Added.
8305 (WebCore::WMLPageState::storeVariable):
8306 (WebCore::WMLPageState::storeVariables):
8307 (WebCore::WMLPageState::getVaribale):
8308 (WebCore::WMLPageState::hasVariables):
8309 (WebCore::WMLPageState::historyLength):
8310 (WebCore::WMLPageState::setHistoryLength):
8311 (WebCore::WMLPageState::page):
8312 (WebCore::WMLPageState::activeCard):
8313 (WebCore::WMLPageState::setActiveCard):
8314 (WebCore::WMLPageState::setDeckAccessDomain):
8315 (WebCore::WMLPageState::setDeckAccessPath):
8316 (WebCore::WMLPageState::hasDeckAccess):
8317 * wml/WMLTagNames.in: Added.
8318
ggaren@apple.comcc0f1f12008-11-17 23:16:00 +000083192008-11-17 Geoffrey Garen <ggaren@apple.com>
8320
8321 Reviewed by Sam Weinig.
8322
8323 Updated for JavaScriptCore renames.
8324
8325 * WebCore.pro:
8326 * webcore-base.bkl:
8327
justin.garcia@apple.com79bf02b2008-11-17 22:40:50 +000083282008-11-17 Justin Garcia <justin.garcia@apple.com>
8329
8330 Reviewed by Beth Dakin.
8331
8332 <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level
8333
8334 There was code to intentionally avoid quoting pasted content if less than a paragraph of
8335 it was copied. That was added for <rdar://problem/5006779>, but was unnecessary because
8336 that bug was about Paste and Match style for single paragraphs. And quote stripping for
8337 Paste and Match style is handled elsewhere.
8338
8339 * editing/markup.cpp:
8340 (WebCore::createMarkup):
8341
ggaren@apple.com5169fc92008-11-17 22:11:26 +000083422008-11-17 Geoffrey Garen <ggaren@apple.com>
8343
8344 Reviewed by Sam Weinig.
8345
8346 Updated for JavaScriptCore rename.
8347
8348 * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
8349 * ForwardingHeaders/runtime/ExecState.h: Removed.
8350 * bindings/objc/WebScriptObject.mm:
8351 * bridge/c/c_instance.cpp:
8352 * bridge/jni/jni_jsobject.mm:
8353 * dom/Node.cpp:
8354 * dom/NodeFilter.cpp:
8355 * dom/NodeIterator.cpp:
8356 * dom/TreeWalker.cpp:
8357 * inspector/JavaScriptCallFrame.h:
8358
dino@apple.comcc13dec2008-11-17 22:05:27 +000083592008-11-17 Pierre-Olivier Latour <pol@apple.com>
8360
8361 Reviewed by Sam Weinig.
8362
8363 Added functionality to AnimationController to allow pausing a running
8364 animation or transition at a given time for testing purposes.
8365
8366 https://bugs.webkit.org/show_bug.cgi?id=21261
8367
8368 Tests: animations/animation-drt-api.html
8369 transitions/transition-drt-api.html
8370
8371 * WebCore.base.exp:
8372 * WebCore.xcodeproj/project.pbxproj:
8373 * page/animation/AnimationBase.cpp:
8374 (WebCore::AnimationBase::updateStateMachine):
8375 (WebCore::AnimationBase::progress):
8376 (WebCore::AnimationBase::pauseAtTime):
8377 * page/animation/AnimationBase.h:
8378 * page/animation/AnimationController.cpp:
8379 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
8380 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
8381 (WebCore::AnimationController::pauseAnimationAtTime):
8382 (WebCore::AnimationController::pauseTransitionAtTime):
8383 * page/animation/AnimationController.h:
8384 * page/animation/CompositeAnimation.cpp:
8385 (WebCore::CompositeAnimationPrivate::isAnimating):
8386 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
8387 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
8388 (WebCore::CompositeAnimation::pauseAnimationAtTime):
8389 (WebCore::CompositeAnimation::pauseTransitionAtTime):
8390 * page/animation/CompositeAnimation.h:
8391 * page/animation/ImplicitAnimation.cpp:
8392 (WebCore::ImplicitAnimation::animate):
8393
ggaren@apple.com7ee12a52008-11-17 17:23:59 +000083942008-11-17 Geoffrey Garen <ggaren@apple.com>
8395
ggaren@apple.com4240a312008-11-17 17:55:40 +00008396 Reviewed by Sam Weinig.
ggaren@apple.com901a8a22008-11-17 20:57:18 +00008397
8398 Updated for JavaScriptCore renames.
8399
8400 * ForwardingHeaders/VM: Removed.
8401 * ForwardingHeaders/VM/Machine.h: Removed.
8402 * ForwardingHeaders/interpreter: Added.
8403 * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
8404 * WebCore.pro:
8405 * bindings/js/JSXMLHttpRequestCustom.cpp:
8406 * page/Console.cpp:
8407 * webcore-base.bkl:
8408
84092008-11-17 Geoffrey Garen <ggaren@apple.com>
8410
8411 Reviewed by Sam Weinig.
ggaren@apple.com4240a312008-11-17 17:55:40 +00008412
8413 Updated for JavaScriptCore renames.
8414
8415 * ForwardingHeaders/runtime/Interpreter.h: Removed.
8416 * WebCore.vcproj/WebCore.vcproj:
8417 * bindings/js/JSDOMBinding.h:
8418 * bindings/js/WorkerScriptController.cpp:
8419 * bindings/objc/WebScriptObject.mm:
8420 * bridge/NP_jsobject.cpp:
8421 * bridge/jni/jni_jsobject.mm:
8422 * html/CanvasRenderingContext2D.cpp:
8423 * inspector/JavaScriptCallFrame.cpp:
8424 * page/Console.cpp:
8425
84262008-11-17 Geoffrey Garen <ggaren@apple.com>
8427
ggaren@apple.com7ee12a52008-11-17 17:23:59 +00008428 Not reviewed.
8429
8430 Try to fix wx build.
8431
8432 * webcore-base.bkl:
8433
bolsinga@apple.com3362cb52008-11-17 17:11:15 +000084342008-11-17 Greg Bolsinga <bolsinga@apple.com>
8435
8436 Reviewed by Darin Adler.
8437
8438 https://bugs.webkit.org/show_bug.cgi?id=21810
8439 Remove use of static C++ objects that are destroyed at exit time (destructors)
8440
8441 Find some missing DEFINE_STATIC_LOCAL use cases.
8442
8443 * bindings/js/JSSVGPODTypeWrapper.h:
8444 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
8445 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
8446 * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL.
8447 * page/AccessibilityRenderObject.cpp:
8448 (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static.
8449 * platform/graphics/FontCache.cpp:
8450 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
8451 (WebCore::FontDataCacheKeyTraits::emptyValue):
8452 * rendering/style/RenderStyle.h:
8453 (WebCore::InheritedFlags::initialTransform):
8454
ggaren@apple.com8e93cb42008-11-17 17:00:48 +000084552008-11-17 Geoffrey Garen <ggaren@apple.com>
8456
8457 Not reviewed.
8458
8459 Try to fix Qt build.
8460
8461 * WebCore.pro:
8462
simon.fraser@apple.com0ec32ed2008-11-17 03:44:38 +000084632008-11-16 Simon Fraser <simon.fraser@apple.com>
8464
8465 Reviewed by Dan Bernstein
8466
8467 https://bugs.webkit.org/show_bug.cgi?id=22118
8468
8469 Fix resize corner tracking in transformed elements by using
8470 mapping the point into local coords using absoluteToLocal,
8471 rather than convertToLayerCoords.
8472
8473 Test: fast/css/resize-corner-tracking-transformed.html
8474
8475 * page/EventHandler.h:
8476 * rendering/RenderLayer.cpp:
8477 (WebCore::RenderLayer::absoluteToContents):
8478 (WebCore::RenderLayer::offsetFromResizeCorner):
8479 (WebCore::RenderLayer::isPointInResizeControl):
8480 * rendering/RenderLayer.h:
8481
ggaren@apple.com55fadbe2008-11-17 03:17:41 +000084822008-11-16 Geoffrey Garen <ggaren@apple.com>
8483
8484 Not reviewed.
8485
8486 Try to fix Qt build.
8487
8488 * WebCore.pro:
8489
bolsinga@apple.com4f657472008-11-17 01:05:20 +000084902008-11-16 Greg Bolsinga <bolsinga@apple.com>
8491
bolsinga@apple.com3f95fd92008-11-17 02:03:55 +00008492 Reviewed by Geoffrey Garen.
8493
8494 Use RefPtr and PassRefPtr where appropriate.
8495
8496 * loader/FTPDirectoryDocument.cpp:
8497 (WebCore::createTemplateDocumentData):
8498
84992008-11-16 Greg Bolsinga <bolsinga@apple.com>
8500
bolsinga@apple.comeb819292008-11-17 01:43:38 +00008501 Fix build break for real.
8502
8503 * loader/FTPDirectoryDocument.cpp:
8504 (WebCore::createTemplateDocumentData):
8505
85062008-11-16 Greg Bolsinga <bolsinga@apple.com>
8507
bolsinga@apple.com76753b82008-11-17 01:38:39 +00008508 Fix build break and bug.
8509
8510 * loader/FTPDirectoryDocument.cpp:
8511 (WebCore::createTemplateDocumentData):
8512
85132008-11-16 Greg Bolsinga <bolsinga@apple.com>
8514
bolsinga@apple.com4f657472008-11-17 01:05:20 +00008515 Reviewed by Darin Adler.
8516
8517 https://bugs.webkit.org/show_bug.cgi?id=21810
8518 Remove use of static C++ objects that are destroyed at exit time (destructors)
8519
8520 Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
8521 uses of DEFINE_STATIC_LOCAL where appropriate.
8522
8523 * html/HTMLTableElement.cpp:
8524 (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings
8525 * loader/CachedImage.cpp:
8526 (WebCore::brokenImage):
8527 (WebCore::nullImage):
8528 * loader/FTPDirectoryDocument.cpp:
8529 (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization
8530 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
8531 * loader/icon/IconDatabase.cpp:
8532 (WebCore::loadDefaultIconRecord):
8533 * page/AccessibilityObject.cpp:
8534 (WebCore::AccessibilityObject::actionVerb):
8535 * page/AccessibilityRenderObject.cpp:
8536 (WebCore::AccessibilityRenderObject::actionVerb):
8537 * page/mac/EventHandlerMac.mm:
8538 (WebCore::currentEvent):
8539 * platform/ScrollView.cpp:
8540 (WebCore::ScrollView::paint):
8541 * platform/graphics/Image.cpp:
8542 (WebCore::Image::nullImage):
8543 * platform/graphics/mac/ColorMac.mm:
8544 (WebCore::nsColor):
8545 * platform/graphics/mac/FontCacheMac.mm: new the Strings
8546 (WebCore::FontCache::getSimilarFontPlatformData):
8547 * platform/graphics/mac/GraphicsContextMac.mm:
8548 (WebCore::_createPatternColor): Created so accessor has one line initialization
8549 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
8550 * platform/graphics/mac/SimpleFontDataMac.mm:
8551 (WebCore::webFallbackFontFamily):
8552 * platform/mac/PasteboardMac.mm:
8553 (WebCore::writableTypesForURL):
8554 (WebCore::createWritableTypesForImage): Created so accessor has one line initialization
8555 (WebCore::writableTypesForImage):
8556 (WebCore::stripAttachmentCharacters):
8557 * rendering/RenderLayer.cpp:
8558 (WebCore::RenderLayer::paintResizer):
8559
zecke@webkit.orgd5d3c932008-11-16 21:49:45 +000085602008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
8561
zecke@webkit.orgedac5ce2008-11-16 21:53:28 +00008562 Reviewed by Darin Adler.
8563
8564 Do not spit Curl errors into the stdout as this is used by DRT
8565
8566 We have failing tests results due the curl errors printed to stdout,
8567 move them to stderr to be able to pass those tests.
8568
8569 * platform/network/curl/ResourceHandleManager.cpp:
8570 (WebCore::ResourceHandleManager::startJob):
8571
85722008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
8573
zecke@webkit.orgd5d3c932008-11-16 21:49:45 +00008574 - fix the Gtk+ build
8575
8576 * GNUmakefile.am:
8577
darin@apple.com21f89012008-11-16 19:39:03 +000085782008-11-16 Darin Adler <darin@apple.com>
8579
darin@apple.com9c9341a2008-11-16 20:07:27 +00008580 - try to fix Qt build
8581
8582 * WebCore.pro: Add the worker-related source files.
8583
85842008-11-16 Darin Adler <darin@apple.com>
8585
darin@apple.comda5c6a12008-11-16 19:58:28 +00008586 Suggested by Alexey Proskuryakov.
8587
8588 - fix the GTK build another way
8589
8590 * GNUmakefile.am: Add the worker-related source files.
8591 * bindings/js/JSEventTarget.cpp: Take the #if back out.
8592
85932008-11-16 Darin Adler <darin@apple.com>
8594
darin@apple.com4c044bb2008-11-16 19:51:12 +00008595 - try to fix GTK build
8596
8597 * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
8598
85992008-11-16 Darin Adler <darin@apple.com>
8600
darin@apple.com21f89012008-11-16 19:39:03 +00008601 Reviewed by Dan Bernstein.
8602
8603 - https://bugs.webkit.org/show_bug.cgi?id=22295
8604 track which history items are from page load failures
8605
8606 * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
8607 no-longer-needed ones.
8608 (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
8609 (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
8610 String, since that's not efficient.
8611
8612 * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
8613 setLastVisitWasFailure, and m_lastVisitWasFailure.
8614
8615 * history/mac/HistoryItemMac.mm: Add newly-needed include
8616 (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
8617 m_transientProperties map around when it is empty.
8618
8619 * loader/FrameLoader.cpp:
8620 (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
8621 the page was unreachable or an HTTP page with a status code that indicates
8622 failure.
8623
staikos@webkit.org01b961b2008-11-16 12:45:29 +000086242008-11-16 Yong Li <yong.li@torchmobile.com>
8625
8626 Reviewed by Timothy Hatcher.
8627 Landed by George Staikos.
8628
8629 Optimization: don't relayout, repaint, or emit a DOM event if the
8630 scroll event didn't scroll anywhere.
8631
8632 * rendering/RenderLayer.cpp:
8633 (WebCore::RenderLayer::scrollToOffset): add early exit
8634
ap@webkit.org5248e232008-11-16 10:05:23 +000086352008-11-16 Alexey Proskuryakov <ap@webkit.org>
8636
8637 Reviewed by Dan Bernstein.
8638
8639 https://bugs.webkit.org/show_bug.cgi?id=22290
8640 Remove cross-heap GC and MessagePort multi-threading support
8641
8642 It is broken (and may not be implementable at all), and no longer needed, as we
8643 don't use MessagePorts for communication with workers any more.
8644
8645 * bindings/js/JSDOMBinding.cpp:
8646 * bindings/js/JSDOMBinding.h:
8647 * bindings/js/JSDOMWindowBase.cpp:
8648 * bindings/js/JSDOMWindowBase.h:
8649 Removed cross-heap GC implementation.
8650
8651 * dom/MessagePort.cpp:
8652 (WebCore::MessagePort::hasPendingActivity):
8653 * dom/MessagePort.h:
8654 Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
8655 unnecessarily complicated for single threaded case.
8656
ap@webkit.orge2011e82008-11-16 09:11:54 +000086572008-11-14 Alexey Proskuryakov <ap@webkit.org>
8658
8659 Reviewed by Maciej Stachowiak.
8660
8661 https://bugs.webkit.org/show_bug.cgi?id=22266
8662 Stop using MessagePort for communication with workers
8663
8664 The current MessagePort specification is not well suited for being implemented in a
8665 multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
8666 This patch implements a simpler Mozilla API for workers instead.
8667
8668 * WebCore.xcodeproj/project.pbxproj:
8669 * DerivedSources.make:
8670 * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
8671 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
8672 * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
8673 * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
8674 * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
8675 * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
8676 * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
8677 * dom/DedicatedWorker.cpp: Removed.
8678 * dom/DedicatedWorker.h: Removed.
8679 * dom/DedicatedWorker.idl: Removed.
8680 Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
8681
8682 * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):
8683 Clear worker exceptions to avoid hitting an assertion.
8684
8685 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
8686 * dom/EventTarget.h:
8687 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
8688 WorkerContext is now an EventTarget, too.
8689
8690 * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and
8691 MessagePort. Added postMessage() and onmessage.
8692
8693 * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext
8694 when posting a task - this operation is not thread safe. It is also not necessary any more,
8695 as the context is kept alive by WorkerMessagingProxy.
8696
8697 * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp.
8698 (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do
8699 that on a timer.
8700 (WebCore::Worker::~Worker): Notify messaging proxy.
8701 (WebCore::Worker::postMessage): Just ask the proxy to post the message.
8702 (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes
8703 available. Also, it is now safe to unsetPendingActivity(), making the object collectable.
8704 I'm not sure if this is the right lifetime for workers, as unreachable workers with event
8705 listeners should probably be kept alive, but it at least lets the object be collected.
8706 (WebCore::Worker::addEventListener): Added an EventTarget implementation.
8707 (WebCore::Worker::removeEventListener): Added an EventTarget implementation.
8708 (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
8709
8710 * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
8711 * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl.
8712 Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
8713
8714 * dom/WorkerContext.cpp:
8715 (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut
8716 down successfully.
8717 (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
8718
8719 * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
8720
8721 * dom/WorkerMessagingProxy.cpp: Added.
8722 * dom/WorkerMessagingProxy.h: Added.
8723 This new class implements actual messaging. It is notified when a Worker is garbage collected,
8724 and asks the thread to shut down. It also owns the thread object, and references script
8725 execution context, making it safe to post messages to it remotely.
8726
8727 * dom/WorkerThread.cpp:
8728 * dom/WorkerThread.h:
8729 Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer
8730 keeps itself alive - it is now the job of messaging proxy.
8731
darin@apple.com3f57a492008-11-16 04:35:22 +000087322008-11-15 Darin Adler <darin@apple.com>
8733
darin@apple.coma9778f92008-11-16 04:40:06 +00008734 Rubber stamped by Geoff Garen.
8735
8736 - do the long-planned StructureID -> Structure rename
8737
8738 * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
8739 * ForwardingHeaders/runtime/StructureID.h: Removed.
8740 * bindings/js/JSAudioConstructor.cpp:
8741 (WebCore::JSAudioConstructor::JSAudioConstructor):
8742 * bindings/js/JSDOMBinding.cpp:
8743 (WebCore::getCachedDOMStructure):
8744 (WebCore::cacheDOMStructure):
8745 * bindings/js/JSDOMBinding.h:
8746 (WebCore::DOMObject::DOMObject):
8747 (WebCore::getDOMStructure):
8748 * bindings/js/JSDOMGlobalObject.cpp:
8749 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
8750 * bindings/js/JSDOMGlobalObject.h:
8751 * bindings/js/JSDOMWindowBase.cpp:
8752 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
8753 * bindings/js/JSDOMWindowBase.h:
8754 * bindings/js/JSDOMWindowShell.cpp:
8755 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
8756 (WebCore::JSDOMWindowShell::setWindow):
8757 * bindings/js/JSDOMWindowShell.h:
8758 (WebCore::JSDOMWindowShell::createStructure):
8759 * bindings/js/JSDedicatedWorkerConstructor.cpp:
8760 (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
8761 * bindings/js/JSHTMLAllCollection.h:
8762 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
8763 (WebCore::JSHTMLAllCollection::createStructure):
8764 * bindings/js/JSImageConstructor.cpp:
8765 (WebCore::JSImageConstructor::JSImageConstructor):
8766 * bindings/js/JSInspectedObjectWrapper.cpp:
8767 (WebCore::JSInspectedObjectWrapper::wrap):
8768 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
8769 * bindings/js/JSInspectedObjectWrapper.h:
8770 * bindings/js/JSInspectorCallbackWrapper.cpp:
8771 (WebCore::leakInspectorCallbackWrapperStructure):
8772 (WebCore::JSInspectorCallbackWrapper::wrap):
8773 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
8774 * bindings/js/JSInspectorCallbackWrapper.h:
8775 * bindings/js/JSMessageChannelConstructor.cpp:
8776 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
8777 * bindings/js/JSNamedNodesCollection.h:
8778 (WebCore::JSNamedNodesCollection::createStructure):
8779 * bindings/js/JSOptionConstructor.cpp:
8780 (WebCore::JSOptionConstructor::JSOptionConstructor):
8781 * bindings/js/JSQuarantinedObjectWrapper.cpp:
8782 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
8783 * bindings/js/JSQuarantinedObjectWrapper.h:
8784 (WebCore::JSQuarantinedObjectWrapper::createStructure):
8785 * bindings/js/JSRGBColor.h:
8786 (WebCore::JSRGBColor::createStructure):
8787 * bindings/js/JSWorkerContext.cpp:
8788 (WebCore::createJSWorkerContextStructure):
8789 (WebCore::JSWorkerContext::JSWorkerContext):
8790 (WebCore::JSWorkerContext::createPrototype):
8791 * bindings/js/JSWorkerContext.h:
8792 (WebCore::JSWorkerContext::createStructure):
8793 (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
8794 (WebCore::JSWorkerContextPrototype::createStructure):
8795 * bindings/js/JSXMLHttpRequestConstructor.cpp:
8796 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
8797 * bindings/js/JSXSLTProcessorConstructor.cpp:
8798 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
8799 * bindings/scripts/CodeGeneratorJS.pm:
8800 * bridge/objc/objc_runtime.h:
8801 (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
8802 * bridge/qt/qt_runtime.cpp:
8803 (JSC::Bindings::QtConnectionObject::execute):
8804 * bridge/qt/qt_runtime.h:
8805 (JSC::Bindings::QtRuntimeMethod::createStructure):
8806 * bridge/runtime_array.h:
8807 (JSC::RuntimeArray::createStructure):
8808 * bridge/runtime_method.h:
8809 (JSC::RuntimeMethod::createStructure):
8810 * bridge/runtime_object.cpp:
8811 (JSC::RuntimeObjectImp::RuntimeObjectImp):
8812 * bridge/runtime_object.h:
8813 (JSC::RuntimeObjectImp::createStructure):
8814
88152008-11-15 Darin Adler <darin@apple.com>
8816
darin@apple.com3f57a492008-11-16 04:35:22 +00008817 Reviewed by Dan Bernstein.
8818
8819 - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test
8820
8821 This gets rid of the crash. It restores the behavior of the CG case from before Dirk
8822 Shulze removed the platorm-dependent code, but perhaps it should be changed further
8823 in the future so that the default for no style is "no stroke". I think the patch is
8824 fine for fill.
8825
8826 * svg/graphics/SVGPaintServerSolid.cpp:
8827 (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
8828 (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
8829
kevino@webkit.org3aafa582008-11-15 23:39:35 +000088302008-11-15 Kevin Ollivier <kevino@theolliviers.com>
8831
8832 Reviewed by Timothy Hatcher.
8833
8834 Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.
8835
8836 https://bugs.webkit.org/show_bug.cgi?id=22284
8837
8838 * platform/network/NetworkStateNotifier.h:
8839 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
8840
krit@webkit.org290bb732008-11-15 20:48:41 +000088412008-11-15 Dirk Schulze <krit@webkit.org>
8842
krit@webkit.org32f135b2008-11-15 23:24:04 +00008843 Reviewed by Geoffrey Garen.
8844
8845 r38426 caused a wrong drawing of a LayoutTest. Use another
8846 way to set the color to pass this test again.
8847
8848 * svg/graphics/SVGPaintServerSolid.cpp:
8849 (WebCore::SVGPaintServerSolid::setup):
8850
88512008-11-15 Dirk Schulze <krit@webkit.org>
8852
krit@webkit.org290bb732008-11-15 20:48:41 +00008853 Reviewed by Darin Adler.
8854
8855 Removed platform dependent code on SVGPaintServerSolid.
8856
8857 * GNUmakefile.am:
8858 * WebCore.pro:
8859 * WebCore.vcproj/WebCore.vcproj:
8860 * WebCore.xcodeproj/project.pbxproj:
8861 * svg/graphics/SVGPaintServerSolid.cpp:
8862 (WebCore::SVGPaintServerSolid::setup):
8863 (WebCore::SVGPaintServerSolid::renderPath):
8864 * svg/graphics/SVGPaintServerSolid.h:
8865 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
8866 * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
8867 * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
8868
ggaren@apple.comb7024cd2008-11-15 19:55:20 +000088692008-11-15 Geoffrey Garen <ggaren@apple.com>
8870
8871 Reviewed by Sam Weinig.
8872
8873 Updated for JavaScriptCore renames.
8874
8875 * bindings/js/JSNodeCustom.cpp:
8876 (WebCore::JSNode::mark):
8877 * bindings/js/JSXMLHttpRequestCustom.cpp:
8878 (WebCore::JSXMLHttpRequest::send):
8879 * bindings/js/ScriptController.cpp:
8880 (WebCore::ScriptController::evaluate):
8881 * bindings/js/WorkerScriptController.cpp:
8882 (WebCore::WorkerScriptController::evaluate):
8883 * bindings/objc/WebScriptObject.mm:
8884 (-[WebScriptObject evaluateWebScript:]):
8885 * bridge/NP_jsobject.cpp:
8886 (_NPN_Evaluate):
8887 * bridge/jni/jni_jsobject.mm:
8888 (JavaJSObject::eval):
8889 * page/Console.cpp:
8890 (WebCore::retrieveLastCaller):
8891 (WebCore::Console::trace):
8892
bolsinga@apple.com97e42c42008-11-15 04:47:20 +000088932008-11-14 Greg Bolsinga <bolsinga@apple.com>
8894
8895 Reviewed by Darin Adler.
8896
8897 https://bugs.webkit.org/show_bug.cgi?id=21810
8898 Remove use of static C++ objects that are destroyed at exit time (destructors)
8899
8900 Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
8901 exit-time destructor. Update code that was changed to fix this issue that ran
8902 into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
8903 in gcc build 5465). Also typdefs for template types needed to be added in some
8904 cases so the type could make it through the macro successfully.
8905
8906 Basically code of the form:
8907 static T m;
8908 becomes:
8909 DEFINE_STATIC_LOCAL(T, m, ());
8910
8911 Also any code of the form:
8912 static T& m = *new T;
8913 also becomes:
8914 DEFINE_STATIC_LOCAL(T, m, ());
8915
8916 * ForwardingHeaders/wtf/StdLibExtras.h: Added.
8917 * bindings/js/GCController.cpp:
8918 (WebCore::gcController):
8919 * bindings/js/JSDOMBinding.cpp:
8920 (WebCore::wrapperSet):
8921 * bindings/js/JSInspectedObjectWrapper.cpp:
8922 (WebCore::wrappers):
8923 * bindings/js/JSInspectorCallbackWrapper.cpp:
8924 (WebCore::wrappers):
8925 * bindings/js/JSNavigatorCustom.cpp:
8926 (WebCore::needsYouTubeQuirk):
8927 * bridge/runtime_root.cpp:
8928 (JSC::Bindings::rootObjectSet):
8929 * css/CSSMutableStyleDeclaration.cpp:
8930 (WebCore::initShorthandMap):
8931 (WebCore::CSSMutableStyleDeclaration::removeProperty):
8932 * css/CSSPrimitiveValue.cpp:
8933 (WebCore::CSSPrimitiveValue::cssText):
8934 * css/CSSSelector.cpp:
8935 (WebCore::CSSSelector::extractPseudoType):
8936 * css/CSSStyleSelector.cpp:
8937 (WebCore::screenEval):
8938 (WebCore::printEval):
8939 * dom/DOMImplementation.cpp:
8940 (WebCore::addString):
8941 (WebCore::isSVG10Feature):
8942 (WebCore::isSVG11Feature):
8943 (WebCore::DOMImplementation::isXMLMIMEType):
8944 * dom/Document.cpp:
8945 (WebCore::Document::hasPrefixNamespaceMismatch):
8946 * dom/ScriptElement.cpp:
8947 (WebCore::isSupportedJavaScriptLanguage):
8948 * editing/ApplyStyleCommand.cpp:
8949 (WebCore::styleSpanClassString):
8950 * editing/HTMLInterchange.cpp:
8951 (WebCore::):
8952 * editing/IndentOutdentCommand.cpp:
8953 (WebCore::indentBlockquoteString):
8954 * editing/ReplaceSelectionCommand.cpp:
8955 (WebCore::isInterchangeNewlineNode):
8956 (WebCore::isInterchangeConvertedSpaceSpan):
8957 * editing/htmlediting.cpp:
8958 (WebCore::stringWithRebalancedWhitespace):
8959 (WebCore::nonBreakingSpaceString):
8960 * editing/markup.cpp:
8961 (WebCore::appendAttributeValue):
8962 (WebCore::appendEscapedContent):
8963 (WebCore::shouldAddNamespaceAttr):
8964 (WebCore::appendNamespace):
8965 (WebCore::appendStartMarkup):
8966 (WebCore::createMarkup):
8967 * html/HTMLButtonElement.cpp:
8968 (WebCore::HTMLButtonElement::type):
8969 * html/HTMLElement.cpp:
8970 (WebCore::HTMLElement::isRecognizedTagName):
8971 (WebCore::inlineTagList):
8972 (WebCore::blockTagList):
8973 * html/HTMLFieldSetElement.cpp:
8974 (WebCore::HTMLFieldSetElement::type):
8975 * html/HTMLInputElement.cpp:
8976 (WebCore::HTMLInputElement::type):
8977 * html/HTMLKeygenElement.cpp:
8978 (WebCore::HTMLKeygenElement::type):
8979 * html/HTMLLegendElement.cpp:
8980 (WebCore::HTMLLegendElement::type):
8981 * html/HTMLOptGroupElement.cpp:
8982 (WebCore::HTMLOptGroupElement::type):
8983 * html/HTMLOptionElement.cpp:
8984 (WebCore::HTMLOptionElement::type):
8985 * html/HTMLParser.cpp:
8986 (WebCore::HTMLParser::getNode):
8987 (WebCore::HTMLParser::isHeaderTag):
8988 (WebCore::HTMLParser::isResidualStyleTag):
8989 (WebCore::HTMLParser::isAffectedByResidualStyle):
8990 * html/HTMLSelectElement.cpp:
8991 (WebCore::HTMLSelectElement::type):
8992 * html/HTMLTextAreaElement.cpp:
8993 (WebCore::HTMLTextAreaElement::type):
8994 * inspector/InspectorController.cpp:
8995 (WebCore::platform):
8996 * inspector/JavaScriptDebugServer.cpp:
8997 (WebCore::JavaScriptDebugServer::shared):
8998 * inspector/JavaScriptProfile.cpp:
8999 (WebCore::profileCache):
9000 * inspector/JavaScriptProfileNode.cpp:
9001 (WebCore::profileNodeCache):
9002 * loader/FrameLoader.cpp:
9003 (WebCore::localSchemes):
9004 * loader/appcache/ApplicationCacheStorage.cpp:
9005 (WebCore::cacheStorage):
9006 * loader/archive/ArchiveFactory.cpp:
9007 (WebCore::archiveMIMETypes):
9008 (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
9009 * loader/icon/IconDatabase.cpp:
9010 (WebCore::IconDatabase::defaultDatabaseFilename):
9011 * page/EventHandler.cpp:
9012 (WebCore::EventHandler::dragState):
9013 * page/Frame.cpp:
9014 (WebCore::createRegExpForLabels):
9015 (WebCore::keepAliveSet):
9016 * page/Page.cpp:
9017 (WebCore::Page::groupName):
9018 * page/SecurityOrigin.cpp:
9019 (WebCore::isDefaultPortForProtocol):
9020 (WebCore::SecurityOrigin::databaseIdentifier):
9021 * page/mac/FrameMac.mm:
9022 (WebCore::regExpForLabels):
9023 * platform/KURL.cpp:
9024 (WebCore::blankURL):
9025 * platform/graphics/FontCache.cpp:
9026 (WebCore::alternateFamilyName):
9027 * platform/graphics/mac/FontCacheMac.mm:
9028 (WebCore::FontCache::getSimilarFontPlatformData):
9029 (WebCore::FontCache::getLastResortFallbackFont):
9030 * platform/mac/CursorMac.mm:
9031 (WebCore::leakNamedCursor):
9032 (WebCore::pointerCursor):
9033 (WebCore::crossCursor):
9034 (WebCore::handCursor):
9035 (WebCore::moveCursor):
9036 (WebCore::verticalTextCursor):
9037 (WebCore::cellCursor):
9038 (WebCore::contextMenuCursor):
9039 (WebCore::aliasCursor):
9040 (WebCore::zoomInCursor):
9041 (WebCore::zoomOutCursor):
9042 (WebCore::copyCursor):
9043 (WebCore::noneCursor):
9044 (WebCore::progressCursor):
9045 (WebCore::noDropCursor):
9046 (WebCore::notAllowedCursor):
9047 (WebCore::iBeamCursor):
9048 (WebCore::waitCursor):
9049 (WebCore::helpCursor):
9050 (WebCore::eastResizeCursor):
9051 (WebCore::northResizeCursor):
9052 (WebCore::northEastResizeCursor):
9053 (WebCore::northWestResizeCursor):
9054 (WebCore::southResizeCursor):
9055 (WebCore::southEastResizeCursor):
9056 (WebCore::southWestResizeCursor):
9057 (WebCore::westResizeCursor):
9058 (WebCore::northSouthResizeCursor):
9059 (WebCore::eastWestResizeCursor):
9060 (WebCore::northEastSouthWestResizeCursor):
9061 (WebCore::northWestSouthEastResizeCursor):
9062 (WebCore::columnResizeCursor):
9063 (WebCore::rowResizeCursor):
9064 (WebCore::grabCursor):
9065 (WebCore::grabbingCursor):
9066 * platform/mac/ScrollbarThemeMac.mm:
9067 (WebCore::ScrollbarTheme::nativeTheme):
9068 * platform/mac/ThemeMac.mm:
9069 (WebCore::platformTheme):
9070 * platform/mac/ThreadCheck.mm:
9071 (WebCoreReportThreadViolation):
9072 * platform/network/NetworkStateNotifier.cpp:
9073 (WebCore::networkStateNotifier):
9074 * platform/network/mac/FormDataStreamMac.mm:
9075 (WebCore::getStreamFormDataMap):
9076 (WebCore::getStreamResourceHandleMap):
9077 * platform/network/mac/ResourceResponseMac.mm:
9078 (WebCore::ResourceResponse::platformLazyInit):
9079 * platform/text/TextEncoding.cpp:
9080 (WebCore::TextEncoding::isJapanese):
9081 * plugins/PluginMainThreadScheduler.cpp:
9082 (WebCore::PluginMainThreadScheduler::scheduler):
9083 * rendering/RenderBlock.cpp:
9084 (WebCore::continuationOutlineTable):
9085 (WebCore::RenderBlock::addContinuationWithOutline):
9086 (WebCore::RenderBlock::paintContinuationOutlines):
9087 * rendering/RenderCounter.cpp:
9088 (WebCore::counterMaps):
9089 * rendering/RenderFlexibleBox.cpp:
9090 (WebCore::RenderFlexibleBox::layoutVerticalBox):
9091 * rendering/RenderListItem.cpp:
9092 (WebCore::RenderListItem::markerText):
9093 * rendering/RenderScrollbarTheme.cpp:
9094 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
9095 * rendering/RenderThemeMac.mm:
9096 (WebCore::RenderThemeMac::systemFont):
9097 * rendering/bidi.cpp:
9098 (WebCore::RenderBlock::checkLinesForTextOverflow):
9099 * rendering/style/RenderStyle.cpp:
9100 (WebCore::RenderStyle::initialDashboardRegions):
9101 (WebCore::RenderStyle::noneDashboardRegions):
9102 * storage/Database.cpp:
9103 (WebCore::guidMutex):
9104 (WebCore::guidToVersionMap):
9105 (WebCore::guidToDatabaseMap):
9106 (WebCore::Database::databaseInfoTableName):
9107 (WebCore::databaseVersionKey):
9108 (WebCore::Database::getVersionFromDatabase):
9109 (WebCore::Database::setVersionInDatabase):
9110 (WebCore::guidForOriginAndName):
9111 * storage/DatabaseTracker.cpp:
9112 (WebCore::DatabaseTracker::tracker):
9113 (WebCore::notificationMutex):
9114 (WebCore::notificationQueue):
9115 * storage/LocalStorage.cpp:
9116 (WebCore::localStorageMap):
9117 * svg/SVGAnimateMotionElement.cpp:
9118 (WebCore::SVGAnimateMotionElement::rotateMode):
9119 * svg/SVGAnimationElement.cpp:
9120 (WebCore::SVGAnimationElement::calcMode):
9121 (WebCore::SVGAnimationElement::attributeType):
9122 (WebCore::SVGAnimationElement::isAdditive):
9123 (WebCore::SVGAnimationElement::isAccumulated):
9124 * svg/SVGLangSpace.cpp:
9125 (WebCore::SVGLangSpace::xmlspace):
9126 * svg/SVGSVGElement.cpp:
9127 (WebCore::SVGSVGElement::contentScriptType):
9128 (WebCore::SVGSVGElement::contentStyleType):
9129 * svg/SVGStyleElement.cpp:
9130 (WebCore::SVGStyleElement::type):
9131 (WebCore::SVGStyleElement::media):
9132 * svg/SVGTextContentElement.cpp:
9133 (WebCore::SVGTextContentElement::parseMappedAttribute):
9134 * svg/animation/SVGSMILElement.cpp:
9135 (WebCore::SVGSMILElement::parseClockValue):
9136 (WebCore::SVGSMILElement::restart):
9137 (WebCore::SVGSMILElement::fill):
9138 (WebCore::SVGSMILElement::repeatCount):
9139 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
9140 * svg/graphics/SVGResource.cpp:
9141 (WebCore::clientMap):
9142 (WebCore::SVGResource::removeClient):
9143 * svg/graphics/SVGResourceMarker.cpp:
9144 (WebCore::SVGResourceMarker::draw):
9145 * xml/XMLHttpRequest.cpp:
9146 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
9147 (WebCore::preflightResultCache):
9148 (WebCore::appendPreflightResultCacheEntry):
9149 (WebCore::isSafeRequestHeader):
9150 (WebCore::isOnAccessControlResponseHeaderWhitelist):
9151 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
9152 * xml/XPathExpressionNode.cpp:
9153 (WebCore::XPath::Expression::evaluationContext):
9154 * xml/XPathParser.cpp:
9155 (WebCore::XPath::setUpAxisNamesMap):
9156 (WebCore::XPath::isAxisName):
9157 (WebCore::XPath::isNodeTypeName):
9158 * xml/XPathValue.cpp:
9159 (WebCore::XPath::Value::toNodeSet):
9160
mitz@apple.comddf9b8c2008-11-15 04:24:35 +000091612008-11-14 Dan Bernstein <mitz@apple.com>
9162
9163 - attempt to fix the Qt build
9164
9165 * platform/qt/Localizations.cpp:
9166 (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
9167 needs to go somewhere else in addition to here.
9168
kevino@webkit.org66e6bed2008-11-15 03:25:08 +000091692008-11-14 Kevin Ollivier <kevino@theolliviers.com>
9170
9171 wx build fix.
9172
9173 * platform/wx/LocalizedStringsWx.cpp:
9174 (WebCore::contextMenuItemTagTextDirectionMenu):
9175
mitz@apple.comd6ceec82008-11-14 23:50:00 +000091762008-11-14 Dan Bernstein <mitz@apple.com>
9177
9178 Reviewed by Darin Adler.
9179
9180 - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
9181 - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
9182
9183 * WebCore.base.exp: Exported
9184 WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
9185
9186 * editing/ApplyStyleCommand.cpp:
9187 (StyleChange::init): Changed to always include the direction property
9188 in the result if the unicode-bidi property is included.
9189 (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
9190 highest ancestor of the given node that establishes bidi embedding. If
9191 that embedding agrees with the given allowed direction, finds the
9192 second-highest embedding ancestor. Splits all nodes through that
9193 ancestor. If the highest embedding ancestor did not need to be split,
9194 it is returned.
9195 (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
9196 bidi embedding attributes and styles from all ancestors of the given
9197 node up to its enclosing block or the given node.
9198 (ApplyStyleCommand::applyInlineStyle): Added code to handle the
9199 unicode-bidi property. Applying style the includes this property
9200 involves removing all bidi embedding in effect, except for one-level
9201 embedding that agrees with the desired embedding, then applying the
9202 desired embedding where it is not already in effect.
9203 (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
9204 applyInlineStyle().
9205 (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
9206 "dir" attribute if necessary and the element if it becomes an unstyled
9207 style span.
9208 (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
9209 property when removing the unicode-bidi property.
9210 (ApplyStyleCommand::removeInlineStyle): Added a call to
9211 removeHTMLBidiEmbeddingStyle().
9212
9213 * editing/ApplyStyleCommand.h:
9214 * editing/Editor.cpp:
9215 (Editor::textDirectionForSelection): Added. Returns the character-level
9216 writing direction of the selection if it is uniform and simple (at most
9217 one level of embedding).
9218 (Editor::hasBidiSelection): Added. Returns true if the selection lies
9219 entirely within a single block, and that block has direction:rtl or
9220 contains any inline boxes with non-zero bidi embedding level.
9221
9222 * editing/Editor.h:
9223 * editing/EditorCommand.cpp:
9224 (stateTextWritingDirection): Added this helper function for deciding
9225 the state of Text Direction submenu items.
9226 (executeMakeTextWritingDirectionLeftToRight): Added. Applies
9227 "unicode-bidi: embed; direction: ltr;".
9228 (executeMakeTextWritingDirectionNatural): Added. Applies
9229 "unicode-bidi: normal;"
9230 (executeMakeTextWritingDirectionRightToLeft): Added. Applies
9231 "unicode-bidi: embed; direction: rtl;".
9232 (stateTextWritingDirectionLeftToRight): Added.
9233 (stateTextWritingDirectionNatural): Added.
9234 (stateTextWritingDirectionRightToLeft): Added.
9235 (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
9236 "MakeTextWritingDirectionNatural",
9237 and "MakeTextWritingDirectionRightToLeft".
9238
9239 * editing/InsertTextCommand.cpp:
9240 (InsertTextCommand::input): Added code to maintain the unicode-bidi
9241 and direction properties in the typing style. Even if they have the
9242 same values as the computed style at the caret, they need to be included
9243 in the typing style so that inserted text will not inherit any nested
9244 embedding.
9245
9246 * page/ContextMenuController.cpp:
9247 (ContextMenuController::contextMenuItemSelected): Added calls to
9248 the editor for the text direction menu items.
9249
9250 * page/Frame.cpp
9251 (Frame::computeAndSetTypingStyle): Added code to maintain the
9252 unicode-bidi and direction properties in the typing style.
9253
9254 * page/Settings.cpp:
9255 (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
9256
9257 * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
9258 an m_textDirectionSubmenuInclusionBehavior member, and accessors.
9259
9260 * page/mac/WebCoreViewFactory.h:
9261 * platform/ContextMenu.cpp:
9262 (WebCore::createAndAppendTextDirectionSubMenu): Added.
9263 (ContextMenu::populate): Added the Text Direction submenu item based on
9264 the inclusion behavior and the existence of a bidi selection.
9265 (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
9266 menu items.
9267
9268 * platform/ContextMenuItem.h:
9269 * platform/LocalizedStrings.h: Declared
9270 contextMenuItemTagTextDirectionMenu().
9271
9272 * platform/mac/LocalizedStringsMac.mm: Defined
9273 contextMenuItemTagTextDirectionMenu().
9274
9275 * rendering/RenderBlock.cpp:
9276 (RenderBlock::containsNonZeroBidiLevel): Added.
9277 * rendering/RenderBlock.h:
9278
bolsinga@apple.comf5045502008-11-14 23:48:26 +000092792008-11-14 Greg Bolsinga <bolsinga@apple.com>
9280
9281 Reviewed by Darin Adler.
9282
9283 https://bugs.webkit.org/show_bug.cgi?id=22264
9284 Need to update to latest Geolocation spec (13 November 2008)
9285
9286 Update to new error code constants and values.
9287
9288 * page/Geolocation.cpp: Use new named ErrorCode enums
9289 (WebCore::Geolocation::GeoNotifier::timerFired):
9290 (WebCore::Geolocation::getCurrentPosition):
9291 (WebCore::Geolocation::watchPosition):
9292 * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
9293 (WebCore::PositionError::):
9294 * page/PositionError.idl: Add new named error constants
9295
bdakin@apple.comf6ce38c2008-11-14 23:37:50 +000092962008-11-14 Beth Dakin <bdakin@apple.com>
9297
9298 Reviewed by Justin Garcia.
9299
9300 Fix (again) for <rdar://problem/5089327> Too much indentation when
9301 pasting quoted paragraphs
9302
9303 This patch goes back to Justin's original approach to fix this bug,
9304 written in revision 38273. That fix was mostly rolled out by
9305 revision 38310 because of styling issues created by the addition of
9306 extra blockquote nodes. This patch again goes back to Justin's
9307 original fix because of cases we discovered the newer fix could not
9308 possibly cover. This version of the patch minimizes the styling
9309 issues of extra blockquotes by opting into the merge start code.
9310
9311 * editing/ReplaceSelectionCommand.cpp:
9312 (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to
9313 return true when the quoting level of the end of the inserted
9314 content matches the quoting level of the end of the existing
9315 content.
9316 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls
9317 hasMatchingQuoteLevel
9318 (WebCore::ReplaceSelectionCommand::doApply):
9319
eric@webkit.org0dd61062008-11-14 21:41:56 +000093202008-11-14 Dirk Schulze <vbs85@gmx.de>
9321
9322 Reviewed by Eric Seidel.
9323
9324 Made SVGResourceClipper platform independent.
9325 https://bugs.webkit.org/show_bug.cgi?id=21444
9326
9327 * GNUmakefile.am:
9328 * WebCore.pro:
9329 * WebCore.vcproj/WebCore.vcproj:
9330 * WebCore.xcodeproj/project.pbxproj:
9331 * platform/graphics/GraphicsContext.h:
9332 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9333 (WebCore::GraphicsContext::clipPath):
9334 * platform/graphics/cg/GraphicsContextCG.cpp:
9335 (WebCore::GraphicsContext::clipPath):
9336 * platform/graphics/qt/GraphicsContextQt.cpp:
9337 (WebCore::GraphicsContext::addPath):
9338 (WebCore::GraphicsContext::clipPath):
9339 * svg/graphics/SVGResourceClipper.cpp:
9340 (WebCore::SVGResourceClipper::applyClip):
9341 * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
9342 * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
9343 * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
9344
antti@apple.comc633dca2008-11-14 21:34:55 +000093452008-11-14 Antti Koivisto <antti@apple.com>
9346
9347 Reviewed by Anders Carlsson.
9348
9349 Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.
9350
9351 * loader/FrameLoader.cpp:
9352 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
9353 * loader/FrameLoader.h:
9354
weinig@apple.comd7fe7482008-11-14 20:02:05 +000093552008-11-14 Sam Weinig <sam@webkit.org>
9356
9357 Reviewed by Eric Seidel.
9358
9359 Remove unneeded forward declaration.
9360
9361 * plugins/Plugin.h:
9362
darin@chromium.org53564932008-11-14 18:53:39 +000093632008-11-14 Darin Fisher <darin@chromium.org>
9364
9365 Reviewed by Darin Adler.
9366
9367 https://bugs.webkit.org/show_bug.cgi?id=22251
9368 HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h
9369
9370 * html/HTMLCanvasElement.cpp:
9371
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +000093722008-11-14 Yael Aharon <yael.aharon@nokia.com>
9373
9374 Reviewed by Simon Hausmann.
9375
hausmann@webkit.org430f7fe2008-11-14 18:40:14 +00009376 Add new files from the Qt port to the build.
9377
9378 * WebCore.pro:
9379
93802008-11-14 Yael Aharon <yael.aharon@nokia.com>
9381
9382 Reviewed by Simon Hausmann.
9383
hausmann@webkit.org62424c92008-11-14 18:39:56 +00009384 Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
9385 port to apply a default quota only if there is no entry in the
9386 database for a given origin yet.
9387
9388 * storage/DatabaseTracker.h:
9389
93902008-11-14 Yael Aharon <yael.aharon@nokia.com>
9391
9392 Reviewed by Simon Hausmann.
9393
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +00009394 Make it possible to get the cache directory set in the application
9395 cache storage.
9396
9397 * loader/appcache/ApplicationCacheStorage.cpp:
9398 (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
9399 * loader/appcache/ApplicationCacheStorage.h:
9400
justin.garcia@apple.com5b803002008-11-14 18:30:36 +000094012008-11-14 Justin Garcia <justin.garcia@apple.com>
9402
9403 Reviewed by Beth Dakin.
9404
9405 <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
9406
9407 When applying block styles, we would add block properties to the body element, and Mail's
9408 Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side,
9409 but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
9410
9411 We have code that puts the paragraphs that we're operating on into blocks of their own before
9412 adding or removing block properties from the blocks that enclose them. We need to run this code
9413 when the enclosing block is the body element.
9414
9415 * editing/CompositeEditCommand.cpp:
9416 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
9417 to here.
9418 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
9419 Added a few comments. Fixed bug by not bailing out when the block about to be used is the body element.
9420 * editing/CompositeEditCommand.h:
9421
cwzwarich@webkit.org770a8a82008-11-14 17:49:56 +000094222008-11-14 Cameron Zwarich <zwarich@apple.com>
9423
9424 Reviewed by Darin Adler.
9425
9426 Bug 22245: Move wtf/dtoa.h into the WTF namespace
9427 <https://bugs.webkit.org/show_bug.cgi?id=22245>
9428
9429 Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
9430
9431 * platform/text/String.cpp:
9432 (WebCore::charactersToDouble):
9433
vestbo@webkit.org6d154272008-11-14 11:20:48 +000094342008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
9435
9436 Rubber-stamped by Simon Hausmann.
9437
vestbo@webkit.org66a87f22008-11-14 11:21:08 +00009438 Make sure Qt scrollbars follow the style with regard to context menus
9439
9440 * platform/qt/ScrollbarQt.cpp:
9441 (WebCore::Scrollbar::contextMenu):
9442
94432008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
9444
9445 Rubber-stamped by Simon Hausmann.
9446
vestbo@webkit.org6d154272008-11-14 11:20:48 +00009447 Make scrollbar look active when the window is active on Qt/Mac
9448
9449 * platform/qt/ScrollbarThemeQt.cpp:
9450 (WebCore::styleOptionSlider):
9451 (WebCore::ScrollbarThemeQt::paint):
9452
eric@webkit.orgf3a46352008-11-14 04:26:21 +000094532008-11-13 Eric Seidel <eric@webkit.org>
9454
9455 Reviewed by Adam Roben.
9456
9457 Add a basic Scons-based build system for building
9458 Chromium-Mac WebCore.
9459 https://bugs.webkit.org/show_bug.cgi?id=21991
9460
9461 The build currently fails due to missing files from our
9462 platform directory (platform skia and platform chromium)
9463 I will be sending those up shortly in separate patches.
9464 I expect it will be a while before our WebCore build links.
9465
9466 * SConstruct: Added.
9467 * WebCore.scons: Added.
9468
darin@chromium.orgf089f552008-11-14 01:54:12 +000094692008-11-13 Darin Fisher <darin@chromium.org>
9470
9471 Reviewed by Darin Adler.
9472
9473 https://bugs.webkit.org/show_bug.cgi?id=22248
9474 AtomicString.cpp uses JSC types outside of #if USE(JSC)
9475
9476 * platform/text/AtomicString.cpp:
9477 (WebCore::AtomicString::add):
justin.garcia@apple.com5b803002008-11-14 18:30:36 +00009478
justin.garcia@apple.com3de84072008-11-13 21:04:51 +000094792008-11-13 Justin Garcia <justin.garcia@apple.com>
9480
9481 Reviewed by Darin Adler.
9482
9483 https://bugs.webkit.org/show_bug.cgi?id=18620
9484 Long hang under TextIterator::advance() when loading http://www.lsvd.de/
9485
9486 A huge section at the beginning of this document is invisible. As we iterate through it,
9487 we create VisiblePositions unnecessarily.
9488
9489 * editing/TextIterator.cpp:
9490 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition
9491 creation if m_node is unrendered or invisible. The answers wouldn't have much meaning
9492 and would be wasteful. Also fixed some comments to reflect the fact that this function
9493 isn't specifically about emitting a newline.
9494
cmarrin@apple.com0a75f9c2008-11-13 18:49:04 +000094952008-11-13 Pierre-Olivier Latour <pol@apple.com>
9496
9497 Reviewed by Sam Weinig.
9498
9499 Remove unused or unnecessary code from AnimationBase class.
9500
9501 * page/animation/AnimationBase.cpp:
9502 (WebCore::AnimationBase::AnimationBase):
9503 (WebCore::AnimationBase::playStatePlaying):
9504 * page/animation/AnimationBase.h:
9505
vestbo@webkit.org404a4712008-11-13 15:20:43 +000095062008-11-12 Tor Arne Vestbø <tavestbo@trolltech.com>
9507
9508 Reviewed by Simon Hausmann.
9509
9510 Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
9511
9512 Currently only used by QtWebKit. See also:
9513
9514 https://bugs.webkit.org/show_bug.cgi?id=21427
9515
9516 * WebCore.pro:
9517 * platform/qt/TemporaryLinkStubs.cpp:
9518 (PluginView::userAgentStatic):
9519 (PluginView::getValueStatic):
9520 * plugins/PluginView.cpp:
9521 (WebCore::PluginView::handleEvent):
9522 (WebCore::PluginView::setValue):
9523 (WebCore::PluginView::PluginView):
9524 * plugins/PluginView.h:
9525 (WebCore::PluginView::setPlatformPluginWidget):
9526 * plugins/mac/PluginPackageMac.cpp: Added.
9527 (WebCore::PluginPackage::determineQuirks):
9528 (WebCore::readPListFile):
9529 (WebCore::stringListFromResourceId):
9530 (WebCore::PluginPackage::fetchInfo):
9531 (WebCore::PluginPackage::load):
9532 (WebCore::PluginPackage::hash):
9533 (WebCore::PluginPackage::equal):
9534 (WebCore::PluginPackage::compareFileVersion):
9535 * plugins/mac/PluginViewMac.cpp: Added.
9536 (WebCore::nativeWindowFor):
9537 (WebCore::cgHandleFor):
9538 (WebCore::topLevelOffsetFor):
9539 (WebCore::PluginView::init):
9540 (WebCore::PluginView::~PluginView):
9541 (WebCore::PluginView::stop):
9542 (WebCore::PluginView::getValueStatic):
9543 (WebCore::PluginView::getValue):
9544 (WebCore::PluginView::setParent):
9545 (WebCore::PluginView::show):
9546 (WebCore::PluginView::hide):
9547 (WebCore::PluginView::setFocus):
9548 (WebCore::PluginView::setParentVisible):
9549 (WebCore::PluginView::setNPWindowRect):
9550 (WebCore::PluginView::setNPWindowIfNeeded):
9551 (WebCore::PluginView::updatePluginWidget):
9552 (WebCore::PluginView::paint):
9553 (WebCore::PluginView::invalidateRect):
9554 (WebCore::PluginView::invalidateRegion):
9555 (WebCore::PluginView::forceRedraw):
9556 (WebCore::PluginView::handleMouseEvent):
9557 (WebCore::PluginView::handleKeyboardEvent):
9558 (WebCore::PluginView::nullEventTimerFired):
9559 (WebCore::modifiersForEvent):
9560 (WebCore::PluginView::globalMousePosForPlugin):
9561 (WebCore::PluginView::dispatchNPEvent):
9562 (WebCore::PluginView::userAgent):
9563 (WebCore::PluginView::userAgentStatic):
9564 (WebCore::PluginView::handlePostReadFile):
9565
ap@webkit.org3568f132008-11-13 07:27:12 +000095662008-11-12 Alexey Proskuryakov <ap@webkit.org>
9567
9568 Reviewed by Darin Adler.
9569
ap@webkit.org0c815c02008-11-13 07:32:43 +00009570 https://bugs.webkit.org/show_bug.cgi?id=22200
9571 Crash when close event is dispatched to MessagePort due to document destruction
9572
9573 Test: fast/events/message-port-onclose.html
9574
9575 * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
9576 Don't dispatch close event, even though HTML5 currently says that we should. It is not
9577 right for GC to have observable effects.
9578
95792008-11-12 Alexey Proskuryakov <ap@webkit.org>
9580
9581 Reviewed by Darin Adler.
9582
ap@webkit.org3568f132008-11-13 07:27:12 +00009583 https://bugs.webkit.org/show_bug.cgi?id=22203
9584 Implement Worker messaging
9585
9586 No test cases included, because this functionality is disabled by default.
9587
9588 The implementation is known to still have many race condition, but works quite well for
9589 testing.
9590
9591 * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
9592
9593 * bindings/js/JSDOMBinding.cpp:
9594 (WebCore::markActiveObjectsForContext): Re-worded comments a little.
9595 (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
9596 incorrect, changed it to a much simpler (but still incorrect) version.
9597
9598 * dom/WorkerTask.cpp: Added.
9599 (WebCore::WorkerTask::~WorkerTask):
9600 * dom/WorkerTask.h: Added.
9601 Tasks posted to workers implement this new interface.
9602
9603 * bindings/js/JSDedicatedWorkerCustom.cpp:
9604 (WebCore::JSDedicatedWorker::mark):
9605 (WebCore::JSDedicatedWorker::connect):
9606 * dom/DedicatedWorker.h:
9607 * dom/DedicatedWorker.idl:
9608 Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
9609 WHATWG discussions.
9610
9611 * dom/DedicatedWorker.cpp:
9612 (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
9613 operations.
9614 (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
9615 (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
9616 one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
9617 this port starts with a null context pointer.
9618 (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
9619 after creation, we have to queue tasks until after a WorkerThread object is created. Then we
9620 forward all queued tasks to its queue.
9621
9622 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
9623 * dom/EventTarget.h:
9624 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
9625 Added cases for WorkerContext, which is now an EventTarget, too.
9626
9627 * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
9628 * bindings/js/JSWorkerContext.cpp:
9629 (WebCore::JSWorkerContext::mark): Mark event listeners.
9630 (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
9631 (WebCore::JSWorkerContext::put): Implemented.
9632 (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
9633 (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
9634 (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
9635 (WebCore::jsWorkerContextOnconnect): Added.
9636 (WebCore::setJSWorkerContextOnconnect): Added.
9637
9638 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
9639 Made it actually work by adding necessary setup.
9640
9641 * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
9642 Check the right variable - it is the wrapper that may not be initialized yet.
9643
9644 * dom/ActiveDOMObject.cpp:
9645 (WebCore::ActiveDOMObject::ActiveDOMObject):
9646 (WebCore::ActiveDOMObject::~ActiveDOMObject):
9647 Assert being called from the correct thread, as active DOM object tracking is not thread safe.
9648
9649 * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
9650 for asynchronously executing tasks in context's thread.
9651
9652 * dom/ScriptExecutionContext.cpp:
9653 (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
9654 (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
9655 It was an optimization that couldn't be easily preserved without introducing race conditions
9656 in multithreading case.
9657 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
9658 (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
9659 why it's OK to not ref() ports in a frozen copy.
9660 (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
9661 from a wrong thread.
9662 (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
9663 (WebCore::ScriptExecutionContextTaskTimer): Part of
9664 ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
9665 thread.
9666 (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
9667 to a worker.
9668 (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
9669 to main thread from a secondary one.
9670 (WebCore::performTask): A helper function for callOnMainThread().
9671 (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
9672
9673 * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
9674 ref/deref EventData::message from different threads, which is not allowed.
9675
9676 * dom/MessagePort.cpp:
9677 (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
9678 (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
9679 (WebCore::MessagePort::EventData::EventData): Ditto.
9680 (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
9681 first, because we need to create ports for posting to other threads, and it is not possible
9682 to register in a context from another thread.
9683 (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
9684 receiver's job to set the context.
9685 (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
9686 context yet.
9687 (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
9688 (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
9689 (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
9690 context.
9691 (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
9692 (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
9693 (WebCore::MessagePort::queueCloseEvent): Use postTask().
9694 (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
9695 MessagePort cross-heap GC is still quite wrong.
9696
9697 * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
9698 * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
9699 now, but there is no harm in tracking it in release builds, too.
9700
9701 * dom/WorkerThread.cpp:
9702 (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
9703 (WebCore::WorkerThread::workerThread): Implemented a message loop.
9704 * dom/WorkerThread.h:
9705 (WebCore::WorkerThread::threadID): Also only used for assertions.
9706 (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
9707
9708 * page/DOMWindow.cpp:
9709 (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
9710 always sets it to null.
9711 (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
9712
krit@webkit.org5a0e4672008-11-13 07:17:53 +000097132008-11-12 Dirk Schulze <vbs85@gmx.de>
9714
9715 Reviewed Darin Adler.
9716
9717 use strokeColor.alpha() instead of fillColor.alpha()
9718 on GraphicsContext::strokePath()
9719
9720 [Canvas] Transparent fillStyle stops line rendering
9721 https://bugs.webkit.org/show_bug.cgi?id=21888
9722
9723 Test: fast/canvas/canvas-stroke-empty-fill.html
9724
9725 * ChangeLog:
9726 * platform/graphics/cg/GraphicsContextCG.cpp:
9727 (WebCore::GraphicsContext::strokePath):
9728
slewis@apple.com952b90f2008-11-13 06:08:46 +000097292008-11-12 Stephanie <slewis@apple.com>
9730
9731 Reviewed by Mark Rowe.
9732
9733 Fix context leak in XSLStyleSheets.
9734 See bug https://bugs.webkit.org/show_bug.cgi?id=15715
9735
9736 * xml/XSLStyleSheet.cpp:
9737 (WebCore::XSLStyleSheet::parseString):
9738
alp@webkit.org8ad90d42008-11-13 00:44:05 +000097392008-11-12 Alp Toker <alp@nuanti.com>
9740
alp@webkit.org42526642008-11-13 04:26:39 +00009741 autotools: List web worker-related headers needed for a successful
9742 build. distcheck is passing again with this change.
9743
9744 * GNUmakefile.am:
9745
97462008-11-12 Alp Toker <alp@nuanti.com>
9747
alp@webkit.org8044cb92008-11-13 02:30:09 +00009748 autotools build system fix-up only. Add FloatQuad.h to the source
9749 lists and sort them.
9750
9751 * GNUmakefile.am:
9752
97532008-11-12 Alp Toker <alp@nuanti.com>
9754
alp@webkit.org8ad90d42008-11-13 00:44:05 +00009755 Build fixes for r38346. FloatQuad.cpp is missing:
9756
9757 1) #include "config.h"
9758 2) #include <algorithm> for various mathematical definitions it uses.
9759
9760 * platform/graphics/FloatQuad.cpp:
9761
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +000097622008-11-12 Simon Fraser <simon.fraser@apple.com>
9763
simon.fraser@apple.comd12c84b2008-11-13 01:32:11 +00009764 Reviewed by Dan Bernstein
9765
9766 https://bugs.webkit.org/show_bug.cgi?id=22212
9767
9768 Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
9769 it may be the bounding outline box of a transformed element, and fix it
9770 to respect transforms by mapping the outline box to an absolute quad and
9771 taking the enclosing rect.
9772
9773 RenderBox::localToAbsoluteQuad() can no longer assert that there is no
9774 LayoutState, but LayoutState cannot be used during quad mapping (it knows
9775 nothing about transforms).
9776
9777 Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
9778 borderTopExtra() from the object, rather than its container (as localToAbsolute()
9779 does).
9780
9781 Test: fast/repaint/transform-absolute-child.html
9782
9783 * rendering/RenderBlock.cpp:
9784 (WebCore::RenderBlock::layoutBlock):
9785 * rendering/RenderBox.cpp:
9786 (WebCore::RenderBox::localToAbsoluteQuad):
9787 * rendering/RenderFlexibleBox.cpp:
9788 (WebCore::RenderFlexibleBox::layoutBlock):
9789 * rendering/RenderForeignObject.cpp:
9790 (WebCore::RenderForeignObject::layout):
9791 * rendering/RenderLayer.cpp:
9792 (WebCore::RenderLayer::updateLayerPositions):
9793 (WebCore::RenderLayer::setHasVisibleContent):
9794 * rendering/RenderObject.cpp:
9795 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
9796 (WebCore::RenderObject::absoluteOutlineBounds):
9797 * rendering/RenderObject.h:
9798 * rendering/RenderPath.cpp:
9799 (WebCore::RenderPath::layout):
9800 * rendering/RenderReplaced.cpp:
9801 (WebCore::RenderReplaced::layout):
9802 * rendering/RenderSVGContainer.cpp:
9803 (WebCore::RenderSVGContainer::layout):
9804 * rendering/RenderSVGImage.cpp:
9805 (WebCore::RenderSVGImage::layout):
9806 * rendering/RenderSVGRoot.cpp:
9807 (WebCore::RenderSVGRoot::layout):
9808 * rendering/RenderSVGText.cpp:
9809 (WebCore::RenderSVGText::layout):
9810 * rendering/RenderSVGViewportContainer.cpp:
9811 (WebCore::RenderSVGViewportContainer::layout):
9812 * rendering/RenderTable.cpp:
9813 (WebCore::RenderTable::layout):
9814
98152008-11-12 Simon Fraser <simon.fraser@apple.com>
9816
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +00009817 Reviewed by Dave Hyatt
9818
9819 https://bugs.webkit.org/show_bug.cgi?id=21942
9820 https://bugs.webkit.org/show_bug.cgi?id=18557
9821
9822 Add methods which can be used to map renderer-local rectangles
9823 to quads in absolute coordinates, taking transforms into account:
9824 localToAbsoluteQuad() converts a local rect into an absolute quad.
9825 collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
9826 that works with quads.
9827 absoluteQuads() is an analogue of absoluteRects(), for quads.
9828
9829 Use the quad methods to fix the inspector highlight for transformed
9830 elements.
9831
9832 * GNUmakefile.am:
9833 * WebCore.pro:
9834 * WebCore.vcproj/WebCore.vcproj:
9835 * WebCore.xcodeproj/project.pbxproj:
9836 * WebCoreSources.bkl:
9837 * inspector/InspectorController.cpp:
9838 (WebCore::drawOutlinedQuad):
9839 (WebCore::drawHighlightForBoxes):
9840 (WebCore::frameToMainFrameOffset):
9841 (WebCore::InspectorController::drawNodeHighlight):
9842 * platform/graphics/AffineTransform.cpp:
9843 (WebCore::AffineTransform::mapQuad):
9844 * platform/graphics/AffineTransform.h:
9845 * platform/graphics/FloatQuad.cpp: Added.
9846 (WebCore::min4):
9847 (WebCore::max4):
9848 (WebCore::FloatQuad::boundingBox):
9849 * platform/graphics/FloatQuad.h: Added.
9850 (WebCore::FloatQuad::FloatQuad):
9851 (WebCore::FloatQuad::p1):
9852 (WebCore::FloatQuad::p2):
9853 (WebCore::FloatQuad::p3):
9854 (WebCore::FloatQuad::p4):
9855 (WebCore::FloatQuad::setP1):
9856 (WebCore::FloatQuad::setP2):
9857 (WebCore::FloatQuad::setP3):
9858 (WebCore::FloatQuad::setP4):
9859 (WebCore::FloatQuad::isEmpty):
9860 (WebCore::FloatQuad::enclosingBoundingBox):
9861 (WebCore::FloatQuad::move):
9862 (WebCore::operator+=):
9863 (WebCore::operator-=):
9864 (WebCore::operator==):
9865 (WebCore::operator!=):
9866 * rendering/RenderBox.cpp:
9867 (WebCore::RenderBox::localToAbsoluteQuad):
9868 * rendering/RenderBox.h:
9869 * rendering/RenderContainer.cpp:
9870 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
9871 * rendering/RenderContainer.h:
9872 * rendering/RenderInline.cpp:
9873 (WebCore::RenderInline::absoluteQuads):
9874 * rendering/RenderInline.h:
9875 * rendering/RenderObject.cpp:
9876 (WebCore::RenderObject::absoluteBoundingBoxRect):
9877 (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
9878 (WebCore::RenderObject::absoluteQuads):
9879 (WebCore::RenderObject::localToAbsoluteQuad):
9880 (WebCore::RenderObject::absoluteContentQuad):
9881 * rendering/RenderObject.h:
9882 * rendering/RenderPath.cpp:
9883 (WebCore::RenderPath::absoluteQuads):
9884 * rendering/RenderPath.h:
9885 * rendering/RenderSVGContainer.cpp:
9886 (WebCore::RenderSVGContainer::absoluteQuads):
9887 * rendering/RenderSVGContainer.h:
9888 * rendering/RenderSVGHiddenContainer.cpp:
9889 (WebCore::RenderSVGHiddenContainer::absoluteQuads):
9890 * rendering/RenderSVGHiddenContainer.h:
9891 * rendering/RenderSVGImage.cpp:
9892 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
9893 (WebCore::RenderSVGImage::absoluteQuads):
9894 * rendering/RenderSVGImage.h:
9895 * rendering/RenderSVGInlineText.cpp:
9896 (WebCore::RenderSVGInlineText::absoluteQuads):
9897 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
9898 * rendering/RenderSVGInlineText.h:
9899 * rendering/RenderSVGRoot.cpp:
9900 (WebCore::RenderSVGRoot::absoluteQuads):
9901 * rendering/RenderSVGRoot.h:
9902 * rendering/RenderSVGTSpan.cpp:
9903 (WebCore::RenderSVGTSpan::absoluteRects):
9904 (WebCore::RenderSVGTSpan::absoluteQuads):
9905 * rendering/RenderSVGTSpan.h:
9906 * rendering/RenderSVGText.cpp:
9907 (WebCore::RenderSVGText::absoluteRects):
9908 (WebCore::RenderSVGText::absoluteQuads):
9909 * rendering/RenderSVGText.h:
9910 * rendering/RenderSVGTextPath.cpp:
9911 (WebCore::RenderSVGTextPath::absoluteRects):
9912 (WebCore::RenderSVGTextPath::absoluteQuads):
9913 * rendering/RenderSVGTextPath.h:
9914 * rendering/RenderTableCell.cpp:
9915 (WebCore::RenderTableCell::localToAbsolute):
9916 (WebCore::RenderTableCell::localToAbsoluteQuad):
9917 * rendering/RenderTableCell.h:
9918 * rendering/RenderText.cpp:
9919 (WebCore::RenderText::absoluteQuads):
9920 (WebCore::RenderText::collectAbsoluteLineBoxQuads):
9921 * rendering/RenderText.h:
9922 * rendering/RenderView.cpp:
9923 (WebCore::RenderView::localToAbsoluteQuad):
9924 (WebCore::RenderView::absoluteQuads):
9925 * rendering/RenderView.h:
9926
aroben@apple.comdf25daf2008-11-12 21:54:52 +000099272008-11-12 Brent Fulgham <bfulgham@gmail.com>
9928
9929 Fix Bug 22178: Build errors in WebKit Cairo port
9930
9931 <https://bugs.webkit.org/show_bug.cgi?id=22178>
9932
9933 Reviewed by Mark Rowe.
9934
9935 * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
9936 Visual Studio.
9937 (WebCore::Pattern::createPlatformPattern):
9938
aroben@apple.com1939f622008-11-12 21:49:51 +000099392008-11-12 Adam Roben <aroben@apple.com>
9940
9941 Fix a typo in the include path for the Release_Cairo configuration
9942
9943 * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
9944
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +000099452008-11-12 Simon Fraser <simon.fraser@apple.com>
9946
9947 Reviewed by Dave Hyatt
9948
9949 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.coma9261be2008-11-12 20:28:44 +00009950 Patch 2
9951
9952 Code cleanup in RenderBox::computeAbsoluteRepaintRect().
9953
9954 * rendering/RenderBox.cpp:
9955 (WebCore::RenderBox::computeAbsoluteRepaintRect):
9956
99572008-11-12 Simon Fraser <simon.fraser@apple.com>
9958
9959 Reviewed by Dave Hyatt
9960
9961 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +00009962
9963 Fix repainting when the transform on a positioned element changes.
9964 In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
9965 and being in a positioned container after applying the transform to the local
9966 rect.
9967
9968 Tests: fast/repaint/transform-absolute-in-positioned-container.html
9969 fast/repaint/transform-relative-position.html
9970
9971 * rendering/RenderBox.cpp:
9972 (WebCore::RenderBox::computeAbsoluteRepaintRect):
9973
justin.garcia@apple.com7e95c7b2008-11-12 20:08:06 +000099742008-11-12 Justin Garcia <justin.garcia@apple.com>
9975
9976 Reviewed by Beth Dakin.
9977
9978 <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
9979 <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
9980
9981 We don't want to merge into a block if it will mean changing the quote level of content after deleting
9982 selections that contain a whole number paragraphs plus a line break, since it is unclear to most users
9983 that such a selection actually ends at the start of the next paragraph. Instead we want to completely
9984 remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior
9985 for indented paragraphs.
9986
9987 * editing/DeleteSelectionCommand.cpp:
9988 (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
9989 try to merge after the deletion. Instead try and prune the start block or blocks if they've been emptied
9990 so that we remove evidence of the deleted paragraphs' quote level.
9991 (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also
9992 make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection
9993 started on, instead of one higher.
9994 * editing/DeleteSelectionCommand.h:
9995 * editing/htmlediting.cpp:
9996 (WebCore::numEnclosingMailBlockquotes): Added.
9997 * editing/htmlediting.h:
9998
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +000099992008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
10000
10001 Reviewed by Simon Hausmann.
10002
vestbo@webkit.orgb3e75172008-11-12 10:51:27 +000010003 Move _web_encodingForResource from WebKit into WebCore and change return type
10004
10005 This change is needed to implement NSAPI in WebCore for Mac, see:
10006
10007 https://bugs.webkit.org/show_bug.cgi?id=21427
10008
10009 * WebCore.base.exp:
10010 * platform/mac/WebCoreNSStringExtras.h:
10011 * platform/mac/WebCoreNSStringExtras.mm:
10012 (stringEncodingForResource):
10013
100142008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
10015
10016 Reviewed by Simon Hausmann.
10017
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +000010018 Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
10019 WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
10020
10021 This change is needed to implement NSAPI in WebCore for Mac, see:
10022
10023 https://bugs.webkit.org/show_bug.cgi?id=21427
10024
10025 * WebCore.base.exp:
10026 * platform/mac/WebCoreNSStringExtras.h:
10027 * platform/mac/WebCoreNSStringExtras.mm:
10028 (stringIsCaseInsensitiveEqualToString):
10029
slewis@apple.com417d6872008-11-12 03:30:12 +0000100302008-11-11 Stephanie <slewis@apple.com>
10031
10032 Reviewed by Dan Bernstein.
10033
10034 Null check image data before setting it as image source.
10035
10036 Test: fast/images/image-empty-data.html
10037
10038 * platform/graphics/BitmapImage.cpp:
10039 (WebCore::BitmapImage::destroyDecodedData):
10040
adele@apple.com0deea562008-11-12 03:09:38 +0000100412008-11-11 Adele Peterson <adele@apple.com>
10042
10043 Reviewed by Tim Hatcher.
10044
10045 Remove ifdef so future OS versions can use the new delegate method.
10046
10047 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
10048
eric@webkit.org683713f2008-11-12 01:53:37 +0000100492008-11-11 Eric Seidel <eric@webkit.org>
10050
10051 Reviewed by Antti Koivisto and Sam Weinig.
10052
10053 Clean up HTMLTokenizer a litle
10054 https://bugs.webkit.org/show_bug.cgi?id=22188
10055
10056 Rename pendingScripts to m_pendingScripts
10057 Rename scriptNode to m_scriptNode make the type specific
10058 Rename pendingSrc to m_pendingSrc
10059 Rename currentPrependingSrc to m_currentPrependingSrc
10060 Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
10061 Remove long-since-dead kdDebug and qDebug calls
10062 Rename brokenComments to m_brokenComments
10063 Remove HTMLTokenizer includes and document the rest
10064 Rename src to m_src
10065 Rename parser to m_parser and make it an OwnPtr
10066 Rename inWrite to m_inWrite and jsProxy to scriptController
10067 Rename brokenServer to m_brokenServer
10068 Rename buffer to m_buffer and dest to m_dest
10069 Rename size to m_bufferSize
10070 Rename attrName to m_attrName
10071 Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
10072 Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
10073 Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
10074 Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
10075 Rename flat to selfClosingTag
10076 Rename currToken to m_currentToken
10077
10078 * css/CSSParser.cpp:
10079 * dom/XMLTokenizer.cpp:
10080 * dom/XMLTokenizerLibxml2.cpp:
10081 * html/HTMLDocument.cpp:
10082 * html/HTMLElement.cpp:
10083 * html/HTMLFormControlElement.cpp:
10084 * html/HTMLParser.h:
10085 * html/HTMLTokenizer.cpp:
10086 (WebCore::Token::addAttribute):
10087 (WebCore::HTMLTokenizer::HTMLTokenizer):
10088 (WebCore::HTMLTokenizer::reset):
10089 (WebCore::HTMLTokenizer::begin):
10090 (WebCore::HTMLTokenizer::processListing):
10091 (WebCore::HTMLTokenizer::parseSpecial):
10092 (WebCore::HTMLTokenizer::scriptHandler):
10093 (WebCore::HTMLTokenizer::scriptExecution):
10094 (WebCore::HTMLTokenizer::parseComment):
10095 (WebCore::HTMLTokenizer::parseServer):
10096 (WebCore::HTMLTokenizer::parseProcessingInstruction):
10097 (WebCore::HTMLTokenizer::parseText):
10098 (WebCore::HTMLTokenizer::parseEntity):
10099 (WebCore::HTMLTokenizer::parseTag):
10100 (WebCore::HTMLTokenizer::write):
10101 (WebCore::HTMLTokenizer::processingData):
10102 (WebCore::HTMLTokenizer::end):
10103 (WebCore::HTMLTokenizer::finish):
10104 (WebCore::HTMLTokenizer::processToken):
10105 (WebCore::HTMLTokenizer::processDoctypeToken):
10106 (WebCore::HTMLTokenizer::~HTMLTokenizer):
10107 (WebCore::HTMLTokenizer::enlargeBuffer):
10108 (WebCore::HTMLTokenizer::enlargeScriptBuffer):
10109 (WebCore::HTMLTokenizer::notifyFinished):
10110 (WebCore::HTMLTokenizer::setSrc):
10111 * html/HTMLTokenizer.h:
10112 (WebCore::Token::Token):
10113 (WebCore::Token::reset):
10114 (WebCore::HTMLTokenizer::processingContentWrittenByScript):
10115 (WebCore::HTMLTokenizer::htmlParser):
10116 (WebCore::HTMLTokenizer::checkBuffer):
10117 (WebCore::HTMLTokenizer::checkScriptBuffer):
10118 * html/HTMLViewSourceDocument.h:
10119 * rendering/RenderBlock.cpp:
10120 (WebCore::RenderBlock::leftRelOffset):
10121 (WebCore::RenderBlock::rightRelOffset):
10122 (WebCore::RenderBlock::lineWidth):
10123 * xml/XSLTProcessor.cpp:
10124
weinig@apple.comc60b5af2008-11-12 00:28:57 +0000101252008-11-11 Sam Weinig <sam@webkit.org>
10126
10127 Reviewed by Dan Bernstein.
10128
10129 Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
10130 Track CachedScript decoded data
10131
10132 We now track the decoded size of CachedScripts in the Cache allowing
10133 them to accounted for when deciding when to evict data. The decoded
10134 data itself can be evicted when Cache pressure gets high enough through
10135 CachedScript::destroyDecodedData.
10136
10137 * loader/CachedResource.h:
10138 (WebCore::CachedResource::allClientsRemoved):
10139 (WebCore::CachedResource::destroyDecodedData):
10140 * loader/CachedScript.cpp:
10141 (WebCore::CachedScript::script):
10142 (WebCore::CachedScript::data):
10143 (WebCore::CachedScript::destroyDecodedData):
10144 * loader/CachedScript.h:
10145
cwzwarich@webkit.org74fd1332008-11-11 23:39:15 +0000101462008-11-11 Cameron Zwarich <zwarich@apple.com>
10147
10148 Reviewed by Geoff Garen.
10149
10150 Remove pointless dependencies on the now-deleted kjs directory and
10151 mentions of it in comments that are no longer relevant.
10152
10153 * WebCore.pro:
10154 * webcore-base.bkl:
10155
mitz@apple.com44d57d42008-11-11 22:45:16 +0000101562008-11-11 Dan Bernstein <mitz@apple.com>
10157
10158 Reviewed by Adam Roben.
10159
10160 WebCore part of adding a master volume control for media elements in a WebView
10161
10162 * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
10163 * dom/Document.cpp:
10164 (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
10165 when the media volume is changed.
10166 (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
10167 elements to register for a callback when the media volume is changed.
10168 (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
10169 elements to unregister for the callback.
10170 * dom/Document.h:
10171 * dom/Element.h:
10172 (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
10173 * html/HTMLMediaElement.cpp:
10174 (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
10175 registerForMediaVolumeCallbacks().
10176 (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
10177 unregisterForMediaVolumeCallbacks().
10178 (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
10179 element's intrinsic volume by the master volume from the page.
10180 (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
10181 updateVolume().
10182 * html/HTMLMediaElement.h:
10183 * page/Page.cpp:
10184 (WebCore::Page::Page): Initialize m_mediaVolume to 1.
10185 (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
10186 every document in the page when the master volume changes.
10187 * page/Page.h:
10188 (WebCore::Page::mediaVolume): Added this getter.
10189
hyatt@apple.com312f7072008-11-11 20:43:57 +0000101902008-11-11 David Hyatt <hyatt@apple.com>
10191
10192 https://bugs.webkit.org/show_bug.cgi?id=22182
10193
10194 Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
10195 is turned on. Make sure to only jump the thumb if the click happens in the track. Also fix some math
10196 errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
10197
10198 Reviewed by Adele
10199
10200 * platform/Scrollbar.cpp:
10201 (WebCore::Scrollbar::mouseDown):
10202
bdakin@apple.comc636ec32008-11-11 19:58:31 +0000102032008-11-11 Beth Dakin <bdakin@apple.com>
10204
10205 Reviewed by Darin Adler.
10206
10207 Fix for <rdar://problem/5089327> Too much indentation when pasting
10208 quoted paragraphs
10209
10210 This patch re-addresses pasting blockquotes into blockquotes. It
10211 backs out most of revision 38273. 38273 fixed the bug by inserting
10212 the pasted content as a sibling blockquote node to the pre-existing
10213 blockquote node. The problem with that is that by default,
10214 blockquotes have a giant margin, so visually, this can be weird.
10215 This patch instead inserts the pasted content as siblings of the
10216 the content already inside the outer blockquote, and then removes
10217 the blockquote node from the pasted content itself, so that it
10218 doesn't nest itself into the outer blockquote.
10219 * editing/ReplaceSelectionCommand.cpp:
10220 (WebCore::ReplaceSelectionCommand::doApply):
10221
10222 Move contains() from Element to Node since there is nothing
10223 Element-specific about it.
10224 * dom/Element.cpp:
10225 * dom/Element.h:
10226 * dom/Node.cpp:
10227 (WebCore::Node::contains):
10228 * dom/Node.h:
10229
hyatt@apple.com4d742b72008-11-11 19:50:18 +0000102302008-11-11 David Hyatt <hyatt@apple.com>
10231
10232 https://bugs.webkit.org/show_bug.cgi?id=17997
10233
10234 Stop using the new Leopard API tiling call for scaled tiles when drawing background images. The method
10235 is buggy. Fall back to using the slower (and more correct) pattern tiling that Tiger still uses. This
10236 is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
10237
10238 Reviewed by John Sullivan
10239
10240 * platform/graphics/cg/ImageCG.cpp:
10241 (WebCore::Image::drawPattern):
10242
hyatt@apple.com16a00b92008-11-11 19:18:26 +0000102432008-11-10 David Hyatt <hyatt@apple.com>
10244
10245 Disable the Aqua look for menu lists when full page zoom is turned on. Because the control is buggy
10246 when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
10247 how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
10248
10249 Reviewed by Adam Roben
10250
10251 * rendering/RenderThemeMac.mm:
10252 (WebCore::RenderThemeMac::isControlStyled):
10253
darin@apple.com160b6112008-11-11 17:59:01 +0000102542008-11-11 Darin Adler <darin@apple.com>
10255
10256 Reviewed by Dan Bernstein.
10257
10258 - https://bugs.webkit.org/show_bug.cgi?id=22160
10259 speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
10260 (previousLinePosition, too) uses a nil node
10261
10262 * editing/visible_units.cpp:
10263 (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
10264 to check editingIgnoresContent. It makes sense to use the associated DOM node for
10265 this, even in cases of anonymous content, and it avoids the case where element() can
10266 be 0.
10267 (WebCore::previousLinePosition): Ditto.
10268
krit@webkit.org02511ad2008-11-11 17:40:54 +0000102692008-11-11 Dirk Schulze <vbs85@gmx.de>
10270
10271 Reviewed by Darin Adler.
10272
10273 Removed default: in applySpreadMethod. This causes the problems
10274 in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
10275 or CSS.
10276
10277 * platform/graphics/cairo/GraphicsContextCairo.cpp:
10278 (WebCore::applySpreadMethod):
10279
vestbo@webkit.orgc0e688b2008-11-11 13:32:01 +0000102802008-11-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
10281
10282 Reviewed by Tor Arne Vestbø.
10283
10284 Fix crash when rendering the file chooser.
10285 Also proper implementation for multi-selected files.
10286
10287 * platform/qt/FileChooserQt.cpp:
10288 (WebCore::FileChooser::basenameForWidth):
10289
krit@webkit.orgbf7eb1c2008-11-11 11:05:49 +0000102902008-11-11 Dirk Schulze <vbs85@gmx.de>
10291
10292 Reviewed by Oliver Hunt.
10293
10294 PatternCairo needs to invert the pattern matrix because
10295 of transformation from user space to pattern space.
10296 Give a identity matrix to pattern for Qt and Cairo. Because the
10297 context is transformed already.
10298
10299 [CAIRO][QT] Canvas transformations applied twice to Patterns
10300 https://bugs.webkit.org/show_bug.cgi?id=21555
10301
10302 * platform/graphics/cairo/GraphicsContextCairo.cpp:
10303 (WebCore::GraphicsContext::fillPath):
10304 (WebCore::GraphicsContext::strokePath):
10305 * platform/graphics/cairo/PatternCairo.cpp:
10306 (WebCore::Pattern::createPlatformPattern):
10307 * platform/graphics/qt/GraphicsContextQt.cpp:
10308 (WebCore::GraphicsContext::strokePath):
10309 (WebCore::GraphicsContext::fillRect):
10310
slewis@apple.com2583a3f2008-11-11 07:06:41 +0000103112008-11-10 Stephanie Lewis <slewis@apple.com>
10312
10313 Reviewed by Dan Bernstein.
10314
10315 Clear the image source cache even if we haven't decoded any of the image data.
10316 We use the image source cache when calculating layout.
10317
10318 * loader/Cache.cpp:
10319 (WebCore::Cache::pruneDeadResources):
10320 * platform/graphics/BitmapImage.cpp:
10321 (WebCore::BitmapImage::destroyDecodedData):
10322
aroben@apple.com4488a6a2008-11-10 22:12:57 +0000103232008-11-10 Adam Roben <aroben@apple.com>
10324
10325 Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
10326 loading microsoftpdc.com
10327
10328 <https://bugs.webkit.org/show_bug.cgi?id=22161>
10329
10330 Reviewed by Dan Bernstein.
10331
10332 Test: fast/css/outline-invert-assertion.html
10333
10334 * rendering/RenderThemeWin.cpp:
10335 (WebCore::RenderThemeWin::systemColor): If we can't determine a good
10336 Win32 system color to use, defer to RenderTheme instead of asserting.
10337 This matches what RenderThemeMac does.
10338
bdakin@apple.com6eb86992008-11-10 21:51:22 +0000103392008-11-10 Justin Garcia <justin.garcia@apple.com>
10340
10341 Reviewed by Beth Dakin.
10342
10343 <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text
10344 into quoted text yields double-quoting
10345
10346 Don't nest inserted content in Mail blockquotes. Perform a
10347 BreakBlockquoteCommand if we're in
10348 one and insert the incoming fragment between the split blockquotes.
10349
10350 * editing/ReplaceSelectionCommand.cpp:
10351 (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from ->
10352 source and to -> destination.
10353 (WebCore::ReplaceSelectionCommand::doApply):
10354
aroben@apple.com1c0d03e2008-11-10 18:38:56 +0000103552008-11-10 Adam Roben <aroben@apple.com>
10356
10357 Fix Bug 22158: Would like to turn on WebCore logging channels via an
10358 environment variable
10359
10360 <https://bugs.webkit.org/show_bug.cgi?id=22158>
10361
10362 Logging channels can now be enabled by setting the WebCoreLogLevel
10363 environment variable to a hexadecimal number.
10364
10365 Reviewed by Anders Carlsson.
10366
10367 * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
10368 * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
10369 (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
10370 environment variable, parse its value as a hexadecimal number, and
10371 turn the channel on/off based on whether the mask bit is set.
10372 (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
10373 logging channel in turn.
10374
darin@apple.comd46ba6d2008-11-10 17:03:36 +0000103752008-11-10 Darin Adler <darin@apple.com>
10376
10377 Reviewed by Adam Roben.
10378
darin@apple.com8bf1fe02008-11-10 17:06:04 +000010379 - fix https://bugs.webkit.org/show_bug.cgi?id=22103
10380 Changing fonts in preferences does not immediately update WebViews
10381
10382 This broke when the meaning of FrameView::invalidate changed.
10383 I changed setNeedsReapplyStyles to no longer depend on invalidate.
10384
10385 * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
10386 Removed the part of this function that duplicated what's already in
10387 FrameView::needsLayout, since the copy here left out a few key things.
10388 For example, it didn't handle the fact that "needs reapply styles"
10389 counts as needing layout.
10390
10391 * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
10392 FrameView::invalidate before. There were two things wrong with that.
10393 1) It requested that the entire view repaint even if the style change
10394 didn't necessitate that. 2) FrameView::invalidate no longer causes any
10395 repainting at all in certain cases, because of Hyatt's changes to how
10396 widgets and the host window are involved in the repainting process.
10397 So call FrameView::scheduleRelayout instead, which is more precisely
10398 what we want and need here.
10399
10400 * page/FrameView.cpp:
10401 (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
10402 so that Document::shouldScheduleLayout doesn't have to replicate the
10403 logic that's in needsLayout and can instead rely on the fact that it
10404 was already called.
10405 (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
10406 in this function.
10407
104082008-11-10 Darin Adler <darin@apple.com>
10409
10410 Reviewed by Adam Roben.
10411
darin@apple.comd46ba6d2008-11-10 17:03:36 +000010412 - speculative fix for <rdar://problem/5557243> crashes in Safari at
10413 WebCore::HTMLSelectElement::updateListBoxSelection + 280
10414
10415 * html/HTMLSelectElement.cpp:
10416 (WebCore::HTMLSelectElement::updateListBoxSelection):
10417 Check index against size of vector before indexing into the vector.
10418
hausmann@webkit.org55cf27a32008-11-10 11:45:48 +0000104192008-11-10 Tom Cooksey <thomas.cooksey@trolltech.com>
10420
10421 Reviewed by Tor Arne Vestbø.
10422
10423 Fix QtWebkit build failure on arm.
10424
10425 pen.widthF() is a qreal, which means it's a float on arm.
10426
10427 * platform/graphics/qt/GraphicsContextQt.cpp:
10428 (WebCore::GraphicsContext::setLineDash):
10429
hausmann@webkit.orge6d9d172008-11-10 11:45:21 +0000104302008-11-10 Morten Sørvig <msorvig@trolltech.com>
10431
10432 Reviewed by Simon Hausmann.
10433
10434 Improve mouse wheel scolling on Qt/Cocoa.
10435 Cocoa differs from Carbon (and other platforms I think) in that the
10436 mouse wheel events we get have a much higher acceleration factor.
10437
10438 This submit switches over to scroll-per-pixel from scroll-per-line
10439 for most of our scrolling views. This matches the native views
10440 and works well with the increased acceleration.
10441
10442 * platform/qt/WheelEventQt.cpp:
10443
cwzwarich@webkit.org40b4b842008-11-10 01:19:13 +0000104442008-11-09 Cameron Zwarich <zwarich@apple.com>
10445
10446 Reviewed by Darin Adler.
10447
10448 Bug 19541: Null pointer in showModalDialog()
10449 <https://bugs.webkit.org/show_bug.cgi?id=19541>
10450
10451 Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
10452 and JSDOMWindowBase::canShowModalDialogNow()C
10453
10454 * bindings/js/JSDOMWindowBase.cpp:
10455 (WebCore::canShowModalDialog):
10456 (WebCore::canShowModalDialogNow):
10457
darin@apple.com4086a5b2008-11-10 00:22:18 +0000104582008-11-09 Darin Adler <darin@apple.com>
10459
10460 - try to fix Windows build
10461
10462 * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
10463 about needed a separate definition for static const integer data members.
10464 Until I get to the bottom of this, put the definitions inside an ifdef.
10465
ddkilzer@apple.com8d878632008-11-09 19:50:37 +0000104662008-11-09 David Kilzer <ddkilzer@apple.com>
10467
10468 BUILD FIX: Qt build broke after r38235.
10469
10470 Added HAVE(ACCESSIBILITY) header guards to platform implementation
10471 source files.
10472
10473 * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
10474 guards.
10475 * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
10476 * page/qt/AccessibilityObjectQt.cpp: Ditto.
10477 * page/win/AccessibilityObjectWin.cpp: Ditto.
10478 * page/wx/AccessibilityObjectWx.cpp: Ditto.
10479
ap@webkit.org4f28dd52008-11-09 19:08:07 +0000104802008-11-09 Alexey Proskuryakov <ap@webkit.org>
10481
10482 Reviewed by Darin Adler.
10483
10484 https://bugs.webkit.org/show_bug.cgi?id=22104
10485 Javascript URL percent encoding/decoding broken by some characters
10486
10487 Test: fast/loader/javascript-url-encoding-2.html
10488
10489 * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
10490
darin@apple.comaa0c0fd2008-11-09 18:20:53 +0000104912008-11-09 Holger Hans Peter Freyther <zecke@selfish.org>
10492
10493 Reviewed and tweaked by Darin Adler.
10494
10495 * platform/graphics/Color.cpp: Added definitions for the static data members
10496 in this class. Static data members need a definition, even when they are the
10497 simple integer constant kind that can be initialized in the header.
10498
antti@apple.com58f7c692008-11-09 04:11:26 +0000104992008-11-08 Antti Koivisto <antti@apple.com>
10500
10501 Reviewed by Sam Weinig.
10502
10503 Fix https://bugs.webkit.org/show_bug.cgi?id=22141
10504 REGRESSION: Safari error page is not fully styled when loaded from cache
10505
10506 Reset text decoder on flush so it does not pass through the BOM when it is reused.
10507
10508 Test: fast/encoding/css-cached-bom.html
10509
10510 * loader/TextResourceDecoder.cpp:
10511 (WebCore::TextResourceDecoder::flush):
10512
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +0000105132008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org2cba33b2008-11-09 03:14:07 +000010514
10515 Reviewed by Mark Rowe.
10516
10517 Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
10518 it was causing these errors to end up in the page's text representation.
10519
10520 * platform/network/curl/ResourceHandleManager.cpp:
10521 (WebCore::ResourceHandleManager::downloadTimerCallback):
10522
105232008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +000010524
10525 wx build fixes after addition of JSCore parser and bycompiler dirs.
10526
10527 * webcore-base.bkl:
10528 * webcore-wx.bkl:
10529
simon.fraser@apple.com1839efc2008-11-09 01:09:14 +0000105302008-11-08 Simon Fraser <simon.fraser@apple.com>
10531
10532 Reviewed by Dan Bernstein
10533
10534 https://bugs.webkit.org/show_bug.cgi?id=21906
10535
10536 Override addFocusRingRects() in RenderTextControl to avoid
10537 the RenderFlow behavior of recursing on descendent renderers.
10538 RenderTextControl should only ever need a simple focus rect.
10539
10540 This fixes focus ring issues with transforms on text controls.
10541
10542 Test: fast/transforms/transformed-focused-text-input.html
10543
10544 * rendering/RenderTextControl.cpp:
10545 (WebCore::RenderTextControl::addFocusRingRects):
10546 * rendering/RenderTextControl.h:
10547
timothy@apple.comcded56b2008-11-09 00:33:06 +0000105482008-11-08 Dimitri Dupuis-Latour <dupuislatour@apple.com>
10549
10550 Make sure the icon thumbnail width/height is at least 1px in
10551 the Web Inspector's resource panel.
10552
10553 <rdar://problem/5988888>
10554
10555 Reviewed by Tim Hatcher.
10556
10557 * inspector/front-end/inspector.css:
10558
ddkilzer@apple.come17e0dc2008-11-08 19:42:33 +0000105592008-11-08 David Kilzer <ddkilzer@apple.com>
10560
10561 Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
10562
10563 <https://bugs.webkit.org/show_bug.cgi?id=22137>
10564
10565 Reviewed by Darin Adler.
10566
10567 * page/AccessibilityObject.h:
10568 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10569 Provide a default implementation when HAVE(ACCESSIBILITY) is false.
10570 * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
10571 * page/mac/AccessibilityObjectMac.mm: Ditto.
10572 * page/mac/AccessibilityObjectWrapper.mm: Ditto.
10573
mitz@apple.comc278ea22008-11-08 19:12:23 +0000105742008-11-08 Dan Bernstein <mitz@apple.com>
10575
10576 Reviewed by Darin Adler.
10577
10578 - WebCore part of adding WebPreferences for controlling databases and local storage
10579
10580 * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
10581 Settings::setLocalStorageEnabled().
10582 * page/DOMWindow.cpp:
10583 (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
10584 is disabled in settings.
10585 (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
10586 are disabled in settings.
10587 * page/Settings.cpp:
10588 (WebCore::Settings::Settings): Initialize m_databasesEnabled and
10589 m_localStorageEnabled.
10590 (WebCore::Settings::setDatabasesEnabled): Added.
10591 (WebCore::Settings::setLocalStorageEnabled): Added.
10592 * page/Settings.h:
10593 (WebCore::Settings::databasesEnabled): Added.
10594 (WebCore::Settings::localStorageEnabled): Added.
10595
alp@webkit.org27e52902008-11-07 22:29:56 +0000105962008-11-07 Alp Toker <alp@nuanti.com>
10597
10598 Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
10599 now require that only their top-level header file is included.
10600
10601 Patch tested and still builds fine with older GTK+ versions (back to
10602 2.8).
10603
10604 Future WebKit GTK+ contributions are required to adhere to this
10605 policy.
10606
10607 * platform/gtk/FileSystemGtk.cpp:
10608 * platform/gtk/KeyEventGtk.cpp:
10609 * platform/gtk/MouseEventGtk.cpp:
10610 * platform/gtk/WheelEventGtk.cpp:
10611 * platform/gtk/gtkdrawing.h:
10612 * plugins/gtk/gtk2xtbin.c:
10613 * plugins/gtk/gtk2xtbin.h:
10614
andersca@apple.comafcd77f2008-11-07 21:34:02 +0000106152008-11-07 Anders Carlsson <andersca@apple.com>
10616
10617 Reviewed by Kevin Decker
10618
10619 Explicitly initialize the NPDrawingModelCoreAnimation.
10620
10621 * bridge/npapi.h:
10622
alp@webkit.org96f2d622008-11-07 19:35:47 +0000106232008-11-07 Alp Toker <alp@nuanti.com>
10624
10625 autotools fix. Always use the configured perl binary (which may be
10626 different to the one in $PATH) when generating sources.
10627
10628 * GNUmakefile.am:
10629
simon.fraser@apple.comfeaef2e2008-11-07 19:17:08 +0000106302008-11-07 Simon Fraser <simon.fraser@apple.com>
10631
10632 Reviewed by Dan Bernstein
10633
10634 https://bugs.webkit.org/show_bug.cgi?id=22122
10635
10636 Use a stack-based object to simplify the pushLayoutState/popLayoutState
10637 code. LayoutStateMaintainer either pushes in the constructor, or allows
10638 an explicit push() later. Both cases require an explicit pop().
10639
10640 * rendering/RenderBlock.cpp:
10641 (WebCore::RenderBlock::layoutBlock):
10642 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
10643 * rendering/RenderContainer.cpp:
10644 (WebCore::RenderContainer::layout):
10645 * rendering/RenderFlexibleBox.cpp:
10646 (WebCore::RenderFlexibleBox::layoutBlock):
10647 * rendering/RenderTable.cpp:
10648 (WebCore::RenderTable::layout):
10649 * rendering/RenderTableRow.cpp:
10650 (WebCore::RenderTableRow::layout):
10651 * rendering/RenderTableSection.cpp:
10652 (WebCore::RenderTableSection::setCellWidths):
10653 (WebCore::RenderTableSection::calcRowHeight):
10654 (WebCore::RenderTableSection::layoutRows):
10655 * rendering/RenderView.h:
10656 (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
10657 (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
10658 (WebCore::LayoutStateMaintainer::pop):
10659 (WebCore::LayoutStateMaintainer::push):
10660 (WebCore::LayoutStateMaintainer::didPush):
10661
vestbo@webkit.orgf579de02008-11-07 15:01:55 +0000106622008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
10663
vestbo@webkit.org58027742008-11-07 15:39:56 +000010664 Fix the QtWebKit build on Mac
10665
10666 * platform/qt/TemporaryLinkStubs.cpp:
10667 (PluginView::invalidateRect):
10668
106692008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
10670
vestbo@webkit.orgf579de02008-11-07 15:01:55 +000010671 Rubber-stamped by Simon Hausmann.
10672
10673 Don't allow Phonon's invisible video widget to keep the app running
10674
10675 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
10676 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
10677
hausmann@webkit.org58f04f52008-11-07 11:32:04 +0000106782008-11-07 Henrik Hartz <henrik.hartz@nokia.com>
10679
10680 Reviewed by Simon Hausmann.
10681
10682 Fix valgrind warning about uninitialized lastStop variable.
10683
10684 * platform/graphics/qt/GradientQt.cpp:
10685 (WebCore::Gradient::platformGradient):
10686
ap@webkit.org1faed012008-11-07 09:22:36 +0000106872008-11-07 Alexey Proskuryakov <ap@webkit.org>
10688
10689 Reviewed by Maciej Stachowiak.
10690
10691 Fix layout test brokenness following r38211.
10692
10693 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
10694 Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
10695 matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
10696 inadvertently. This may or may not be a good thing, but it's certainly not something that
10697 should change by accident.
10698
antti@apple.comda9077d2008-11-07 07:22:43 +0000106992008-11-06 Antti Koivisto <antti@apple.com>
10700
antti@apple.comafa13dc2008-11-07 07:26:09 +000010701 Eh, this trivial last minute change was wrong.
10702
10703 * loader/CachedCSSStyleSheet.cpp:
10704 (WebCore::CachedCSSStyleSheet::sheetText):
10705
107062008-11-06 Antti Koivisto <antti@apple.com>
10707
antti@apple.comda9077d2008-11-07 07:22:43 +000010708 Reviewed by Dan Bernstein.
10709
10710 https://bugs.webkit.org/show_bug.cgi?id=22093
10711
10712 Delaying the text decoding caused regression since the decoding
10713 also determines the encoding in case of @charset rule.
10714
10715 Decode immediately in data() and keep the decoded string around
10716 during the checkNotify().
10717
10718 * loader/CachedCSSStyleSheet.cpp:
10719 (WebCore::CachedCSSStyleSheet::sheetText):
10720 (WebCore::CachedCSSStyleSheet::data):
10721 * loader/CachedCSSStyleSheet.h:
10722
ap@webkit.orgd9634612008-11-07 05:52:46 +0000107232008-11-06 Alexey Proskuryakov <ap@webkit.org>
10724
10725 Reviewed by Darin Adler.
10726
ap@webkit.org6169aa22008-11-07 05:54:49 +000010727 https://bugs.webkit.org/show_bug.cgi?id=22097
10728 Expose MessageEvent constructor on WorkerContext
10729
10730 * bindings/js/JSWorkerContext.cpp:
10731 (WebCore::jsWorkerContextMessageEvent):
10732 (WebCore::setJSWorkerContextMessageEvent):
10733
107342008-11-06 Alexey Proskuryakov <ap@webkit.org>
10735
10736 Reviewed by Darin Adler.
10737
ap@webkit.orgd9634612008-11-07 05:52:46 +000010738 https://bugs.webkit.org/show_bug.cgi?id=21107
10739 <rdar://problem/6264219> New access key combination conflicts with VoiceOver
10740
10741 * page/EventHandler.h:
10742 * page/gtk/EventHandlerGtk.cpp:
10743 (WebCore::EventHandler::accessKeyModifiers):
10744 * page/qt/EventHandlerQt.cpp:
10745 (WebCore::EventHandler::accessKeyModifiers):
10746 * page/win/EventHandlerWin.cpp:
10747 (WebCore::EventHandler::accessKeyModifiers):
10748 * page/wx/EventHandlerWx.cpp:
10749 (WebCore::EventHandler::accessKeyModifiers):
10750 Access access key modifiers via a function, not a static variable.
10751
10752 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
10753 Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
10754 less troublesome than one with VO keys.
10755
10756 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
10757 Also fix an access key matching bug introduced in r32424 - Any superset of specified
10758 modifier set invoked access keys. We can use simple equality comparison instead because
10759 CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
10760
andersca@apple.com1f7f4ee2008-11-07 04:04:52 +0000107612008-11-06 Anders Carlsson <andersca@apple.com>
10762
10763 Reviewed by Kevin Decker.
10764
10765 https://bugs.webkit.org/show_bug.cgi?id=22115
10766 NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
10767
10768 Export _NPN_HasMethod and _NPN_HasProperty.
10769
10770 * WebCore.NPAPI.exp:
10771
simon.fraser@apple.coma80e3172008-11-07 01:11:13 +0000107722008-11-06 Simon Fraser <simon.fraser@apple.com>
10773
10774 Reviewed by Antti Koivisto
10775
10776 https://bugs.webkit.org/show_bug.cgi?id=15678
10777
10778 Fix transformed menu selects to show the popup in the correct
10779 location.
10780
10781 * rendering/RenderMenuList.cpp:
10782 (WebCore::RenderMenuList::showPopup):
10783
ddkilzer@apple.com58912bd2008-11-07 00:55:52 +0000107842008-11-06 David Kilzer <ddkilzer@apple.com>
10785
10786 BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
10787
10788 Apparently older versions of gcc have issues with this patch.
10789 Backing out a second time until the issues are resolved.
10790
jchaffraix@webkit.org95833722008-11-07 00:47:12 +0000107912008-11-06 Julien Chaffraix <jchaffraix@pleyo.com>
10792
10793 Reviewed by Maciej Stachowiak.
10794
10795 Bug 21106: .in format discussed changes
10796 https://bugs.webkit.org/show_bug.cgi?id=21106
10797
10798 Include the namespace into the interfaceName.
10799
10800 * dom/make_names.pl: Do not append the namespace when
10801 using the interfaceName.
10802 * html/HTMLTagNames.in: Added namespace prefix for custom
10803 interfaceName.
10804 * svg/svgtags.in: Ditto.
10805
cwzwarich@webkit.org3ff0e6a2008-11-07 00:18:07 +0000108062008-11-06 Cameron Zwarich <zwarich@apple.com>
10807
10808 Reviewed by Geoff Garen.
10809
10810 Move the remaining files in the kjs subdirectory of JavaScriptCore to
10811 a new parser subdirectory, and remove the kjs subdirectory entirely.
10812
10813 * ForwardingHeaders/kjs: Removed.
10814 * ForwardingHeaders/kjs/Parser.h: Removed.
10815 * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
10816 * ForwardingHeaders/kjs/SourceCode.h: Removed.
10817 * ForwardingHeaders/kjs/SourceProvider.h: Removed.
10818 * ForwardingHeaders/parser: Added.
10819 * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
10820 * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
10821 * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
10822 * WebCore.pro:
10823 * WebCore.vcproj/WebCore.vcproj:
10824 * bindings/js/StringSourceProvider.h:
10825 * bindings/js/WorkerScriptController.cpp:
10826 * bridge/NP_jsobject.cpp:
10827 * bridge/jni/jni_jsobject.mm:
10828 * bridge/testbindings.pro:
10829 * inspector/JavaScriptDebugServer.cpp:
10830
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +0000108312008-11-06 David Kilzer <ddkilzer@apple.com>
10832
ddkilzer@apple.coma8062f52008-11-06 23:46:40 +000010833 BUILD WAS NOT BROKEN: Rolling r38189 back in.
10834
10835 Please perform a clean build if you see crashes.
10836
108372008-11-06 David Kilzer <ddkilzer@apple.com>
10838
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +000010839 BUILD FIX: Backed out r38189 since it apparently broke the world.
10840
cfleizach@apple.com5b7e9982008-11-06 22:16:27 +0000108412008-11-06 Chris Fleizach <cfleizach@apple.com>
10842
10843 Reviewed by Beth Dakin.
10844
10845 Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
10846 https://bugs.webkit.org/show_bug.cgi?id=22112
10847
10848 Test: accessibility/content-editable.html
10849
10850 * page/AccessibilityRenderObject.cpp:
10851 (WebCore::AccessibilityRenderObject::isReadOnly):
10852
weinig@apple.com5955ba22008-11-06 21:55:29 +0000108532008-11-06 Sam Weinig <sam@webkit.org>
10854
10855 Reviewed by Alice Liu.
10856
10857 Fix failed assert at launch caused by unintialized data member on the mac.
10858
10859 * platform/network/mac/NetworkStateNotifierMac.cpp:
10860 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
10861
sfalken@apple.com2c786e02008-11-06 21:47:58 +0000108622008-11-06 Steve Falkenburg <sfalken@apple.com>
10863
10864 Fix failed assert at launch caused by unintialized data member.
10865
10866 Reviewed by Maciej Stachowiak.
10867
10868 * platform/network/win/NetworkStateNotifierWin.cpp:
10869 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
10870
simon.fraser@apple.com52b2c502008-11-06 20:55:31 +0000108712008-11-06 Simon Fraser <simon.fraser@apple.com>
10872
10873 Reviewed by Antti Koivisto
10874
10875 https://bugs.webkit.org/show_bug.cgi?id=22109
10876 Make <input type="range"> work correctly with transforms
10877
10878 Test: fast/forms/slider-transformed.html
10879
10880 * html/HTMLInputElement.cpp:
10881 (WebCore::HTMLInputElement::defaultEventHandler):
10882 Compute a correct local point when the event is retargeted
10883 * rendering/RenderSlider.cpp:
10884 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
10885 Compute m_initialClickPoint in slider-local coords, so that
10886 deltas are computed correctly with transforms
10887 (WebCore::RenderSlider::mouseEventIsInThumb):
10888 Rather than computing an absolute bounds for the thumb,
10889 convert the point to local coords and compare it with the border box.
10890
ddkilzer@apple.com6f3816c2008-11-06 19:28:45 +0000108912008-11-06 Greg Bolsinga <bolsinga@apple.com>
10892
10893 Reviewed by Darin Adler.
10894
10895 Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
10896 https://bugs.webkit.org/show_bug.cgi?id=21810
10897
10898 * bindings/js/GCController.cpp:
10899 (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
10900 * bindings/js/JSDOMBinding.cpp:
10901 (WebCore::wrapperSet): Ditto
10902 * bindings/js/JSInspectedObjectWrapper.cpp:
10903 (WebCore::wrappers): Ditto
10904 * bindings/js/JSInspectorCallbackWrapper.cpp:
10905 (WebCore::wrappers): Ditto
10906 * bridge/runtime_root.cpp:
10907 (JSC::Bindings::rootObjectSet): Ditto
10908 * css/CSSMutableStyleDeclaration.cpp:
10909 (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
10910 * css/CSSPrimitiveValue.cpp:
10911 (WebCore::CSSPrimitiveValue::cssText): Ditto
10912 * css/CSSSelector.cpp:
10913 (WebCore::CSSSelector::extractPseudoType): Ditto
10914 * css/CSSStyleSelector.cpp:
10915 (WebCore::screenEval): Ditto
10916 (WebCore::printEval): Ditto
10917 * dom/DOMImplementation.cpp:
10918 (WebCore::isSVG10Feature): Ditto
10919 (WebCore::isSVG11Feature): Ditto
10920 (WebCore::DOMImplementation::isXMLMIMEType): Ditto
10921 * dom/Document.cpp:
10922 (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
10923 * dom/ScriptElement.cpp:
10924 (WebCore::isSupportedJavaScriptLanguage): Ditto
10925 * editing/ApplyStyleCommand.cpp:
10926 (WebCore::styleSpanClassString): Ditto
10927 * editing/HTMLInterchange.cpp:
10928 (WebCore::): Ditto
10929 * editing/IndentOutdentCommand.cpp:
10930 (WebCore::indentBlockquoteString): Ditto
10931 * editing/ReplaceSelectionCommand.cpp:
10932 (WebCore::isInterchangeNewlineNode): Ditto
10933 (WebCore::isInterchangeConvertedSpaceSpan): Ditto
10934 * editing/htmlediting.cpp:
10935 (WebCore::stringWithRebalancedWhitespace): Ditto
10936 (WebCore::nonBreakingSpaceString): Ditto
10937 * editing/markup.cpp:
10938 (WebCore::appendAttributeValue): Ditto
10939 (WebCore::appendEscapedContent): Ditto
10940 (WebCore::shouldAddNamespaceAttr): Ditto
10941 (WebCore::appendNamespace): Ditto
10942 (WebCore::appendStartMarkup): Ditto
10943 (WebCore::createMarkup): Ditto
10944 * html/HTMLButtonElement.cpp:
10945 (WebCore::HTMLButtonElement::type): Ditto
10946 * html/HTMLElement.cpp:
10947 (WebCore::HTMLElement::isRecognizedTagName): Ditto
10948 (WebCore::inlineTagList): Ditto
10949 (WebCore::blockTagList): Ditto
10950 * html/HTMLFieldSetElement.cpp:
10951 (WebCore::HTMLFieldSetElement::type): Ditto
10952 * html/HTMLInputElement.cpp:
10953 (WebCore::HTMLInputElement::type): Ditto
10954 * html/HTMLKeygenElement.cpp:
10955 (WebCore::HTMLKeygenElement::type): Ditto
10956 * html/HTMLLegendElement.cpp:
10957 (WebCore::HTMLLegendElement::type): Ditto
10958 * html/HTMLOptGroupElement.cpp:
10959 (WebCore::HTMLOptGroupElement::type): Ditto
10960 * html/HTMLOptionElement.cpp:
10961 (WebCore::HTMLOptionElement::type): Ditto
10962 * html/HTMLParser.cpp:
10963 (WebCore::HTMLParser::getNode): Ditto
10964 (WebCore::HTMLParser::isHeaderTag): Ditto
10965 (WebCore::HTMLParser::isResidualStyleTag): Ditto
10966 (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
10967 * html/HTMLSelectElement.cpp:
10968 (WebCore::HTMLSelectElement::type): Ditto
10969 * html/HTMLTextAreaElement.cpp:
10970 (WebCore::HTMLTextAreaElement::type): Ditto
10971 * inspector/InspectorController.cpp:
10972 (WebCore::platform): Ditto
10973 * inspector/JavaScriptDebugServer.cpp:
10974 (WebCore::JavaScriptDebugServer::shared): Ditto
10975 * inspector/JavaScriptProfile.cpp:
10976 (WebCore::profileCache): Ditto
10977 * inspector/JavaScriptProfileNode.cpp:
10978 (WebCore::profileNodeCache): Ditto
10979 * loader/FrameLoader.cpp:
10980 (WebCore::localSchemes): Ditto
10981 * loader/appcache/ApplicationCacheStorage.cpp:
10982 (WebCore::cacheStorage): Ditto
10983 * loader/archive/ArchiveFactory.cpp:
10984 (WebCore::archiveMIMETypes): Ditto
10985 * loader/icon/IconDatabase.cpp:
10986 (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
10987 * page/EventHandler.cpp:
10988 (WebCore::EventHandler::dragState): Ditto
10989 * page/Frame.cpp:
10990 (WebCore::createRegExpForLabels): Ditto
10991 (WebCore::keepAliveSet): Ditto
10992 * page/Page.cpp:
10993 (WebCore::Page::groupName): Ditto
10994 * page/SecurityOrigin.cpp:
10995 (WebCore::isDefaultPortForProtocol): Ditto
10996 (WebCore::SecurityOrigin::databaseIdentifier): Ditto
10997 * page/mac/FrameMac.mm:
10998 (WebCore::regExpForLabels): Ditto
10999 * platform/KURL.cpp:
11000 (WebCore::blankURL): Ditto
11001 * platform/graphics/FontCache.cpp:
11002 (WebCore::alternateFamilyName): Ditto
11003 * platform/graphics/mac/FontCacheMac.mm:
11004 (WebCore::FontCache::getSimilarFontPlatformData): Ditto
11005 (WebCore::FontCache::getLastResortFallbackFont): Ditto
11006 * platform/mac/ScrollbarThemeMac.mm:
11007 (WebCore::ScrollbarTheme::nativeTheme): Ditto
11008 * platform/mac/ThemeMac.mm:
11009 (WebCore::platformTheme): Ditto
11010 * platform/mac/ThreadCheck.mm:
11011 (WebCoreReportThreadViolation): Ditto
11012 * platform/network/NetworkStateNotifier.cpp:
11013 (WebCore::networkStateNotifier): Ditto
11014 * platform/network/mac/FormDataStreamMac.mm:
11015 (WebCore::getStreamFormDataMap): Ditto
11016 (WebCore::getStreamResourceHandleMap): Ditto
11017 * platform/network/mac/ResourceResponseMac.mm:
11018 (WebCore::ResourceResponse::platformLazyInit): Ditto
11019 * platform/text/TextEncoding.cpp:
11020 (WebCore::TextEncoding::isJapanese): Ditto
11021 * rendering/RenderBlock.cpp:
11022 (WebCore::continuationOutlineTable): Ditto
11023 * rendering/RenderCounter.cpp:
11024 (WebCore::counterMaps): Ditto
11025 * rendering/RenderFlexibleBox.cpp:
11026 (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
11027 * rendering/RenderListItem.cpp:
11028 (WebCore::RenderListItem::markerText): Ditto
11029 * rendering/RenderScrollbarTheme.cpp:
11030 (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
11031 * rendering/RenderThemeMac.mm:
11032 (WebCore::RenderThemeMac::systemFont): Ditto
11033 * rendering/bidi.cpp:
11034 (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
11035 * rendering/style/RenderStyle.cpp:
11036 (WebCore::RenderStyle::initialDashboardRegions): Ditto
11037 (WebCore::RenderStyle::noneDashboardRegions): Ditto
11038 * storage/LocalStorage.cpp:
11039 (WebCore::localStorageMap): Ditto
11040 * svg/SVGAnimateMotionElement.cpp:
11041 (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
11042 * svg/SVGAnimationElement.cpp:
11043 (WebCore::SVGAnimationElement::calcMode): Ditto
11044 (WebCore::SVGAnimationElement::attributeType): Ditto
11045 (WebCore::SVGAnimationElement::isAdditive): Ditto
11046 (WebCore::SVGAnimationElement::isAccumulated): Ditto
11047 * svg/SVGLangSpace.cpp:
11048 (WebCore::SVGLangSpace::xmlspace): Ditto
11049 * svg/SVGSVGElement.cpp:
11050 (WebCore::SVGSVGElement::contentScriptType): Ditto
11051 (WebCore::SVGSVGElement::contentStyleType): Ditto
11052 * svg/SVGStyleElement.cpp:
11053 (WebCore::SVGStyleElement::type): Ditto
11054 (WebCore::SVGStyleElement::media): Ditto
11055 * svg/SVGTextContentElement.cpp:
11056 (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
11057 * svg/animation/SVGSMILElement.cpp:
11058 (WebCore::SVGSMILElement::parseClockValue): Ditto
11059 (WebCore::SVGSMILElement::restart): Ditto
11060 (WebCore::SVGSMILElement::fill): Ditto
11061 (WebCore::SVGSMILElement::repeatCount): Ditto
11062 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
11063 * svg/graphics/SVGResource.cpp:
11064 (WebCore::clientMap): Ditto
11065 * svg/graphics/SVGResourceMarker.cpp:
11066 (WebCore::SVGResourceMarker::draw): Ditto
11067 * xml/XMLHttpRequest.cpp:
11068 (WebCore::preflightResultCache): Ditto
11069 (WebCore::isSafeRequestHeader): Ditto
11070 (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
11071 * xml/XPathExpressionNode.cpp:
11072 (WebCore::XPath::Expression::evaluationContext): Ditto
11073 * xml/XPathParser.cpp:
11074 (WebCore::XPath::isAxisName): Ditto
11075 (WebCore::XPath::isNodeTypeName): Ditto
11076 * xml/XPathValue.cpp:
11077 (WebCore::XPath::Value::toNodeSet): Ditto
11078
vestbo@webkit.org6a404a22008-11-06 19:04:46 +0000110792008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
11080
11081 Rubber-stamped by Simon Hausmann.
11082
11083 Remove a bunch of unused methods in the Qt media element implementation
11084
11085 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11086 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
11087 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
11088
simon.fraser@apple.com845c2632008-11-06 18:42:24 +0000110892008-11-05 Simon Fraser <simon.fraser@apple.com>
11090
11091 Reviewed by Dave Hyatt
11092
11093 https://bugs.webkit.org/show_bug.cgi?id=21870
11094
11095 Implement absoluteToLocal() to convert a point from absolute
11096 to local coordinates, optionally taking transforms into account.
11097
11098 Use this to set offsetX/offsetY in mouse events, thus fixing
11099 offsetX/offsetY in events on elements with transforms.
11100
11101 Test: fast/events/offsetX-offsetY.html
11102
11103 * dom/MouseRelatedEvent.cpp:
11104 (WebCore::MouseRelatedEvent::receivedTarget):
11105 * rendering/RenderBox.cpp:
11106 (WebCore::RenderBox::localToAbsolute):
11107 (WebCore::RenderBox::absoluteToLocal):
11108 (WebCore::RenderBox::offsetFromContainer):
11109 * rendering/RenderBox.h:
11110 * rendering/RenderObject.cpp:
11111 (WebCore::RenderObject::absoluteToLocal):
11112 * rendering/RenderObject.h:
11113 * rendering/RenderTableCell.cpp:
11114 (WebCore::RenderTableCell::localToAbsolute):
11115 (WebCore::RenderTableCell::absoluteToLocal):
11116 * rendering/RenderTableCell.h:
11117 * rendering/RenderView.cpp:
11118 (WebCore::RenderView::absoluteToLocal):
11119 * rendering/RenderView.h:
11120
alp@webkit.orga8a7ebd2008-11-06 18:41:18 +0000111212008-11-06 Alp Toker <alp@nuanti.com>
11122
11123 Reviewed by Cameron Zwarich.
11124
11125 https://bugs.webkit.org/show_bug.cgi?id=22067
11126 [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
11127
11128 null-check symbols loaded from plugin modules, initialize the function
11129 table (like Win already does) and update it with the latest
11130 additions. Adjust whitespace for easy diff'ing with the Win port code
11131 from which it was forked.
11132
11133 This fixes crashes with libnspr4.so and any other plugins that don't
11134 provide the symbols we expect.
11135
11136 * plugins/gtk/PluginPackageGtk.cpp:
11137 (WebCore::PluginPackage::fetchInfo):
11138 (WebCore::PluginPackage::load):
11139
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +0000111402008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
11141
11142 Reviewed by Simon Hausmann.
11143
hausmann@webkit.orgbdf11782008-11-06 18:38:57 +000011144 Removed dead (and broken) code from an ancient Symbian port.
11145
11146 * config.h:
11147 * platform/text/AtomicString.h:
11148 * platform/text/PlatformString.h:
11149
111502008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
11151
11152 Reviewed by Simon Hausmann.
11153
hausmann@webkit.orge5ea3732008-11-06 18:38:48 +000011154 Use QLibrary as PlatformModule when compiling with Qt for S60.
11155
11156 * platform/FileSystem.h:
11157
111582008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
11159
11160 Reviewed by Simon Hausmann.
11161
hausmann@webkit.org07a5d322008-11-06 18:38:31 +000011162 Compile fix for Symbian.
11163 The snprintf function is defined in stdio.h, the inclusion
11164 of snprintf.h inside this PLATFORM(SYMBIAN) block does not
11165 compile.
11166
11167 * config.h:
11168
111692008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
11170
11171 Reviewed by Simon Hausmann.
11172
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +000011173 Disable webkit plugins for Symbian.
11174
11175 * WebCore.pro:
11176
vestbo@webkit.orgb2902812008-11-06 12:14:49 +0000111772008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
11178
vestbo@webkit.orgecfcaef2008-11-06 12:15:13 +000011179 Fix build break in debug mode when XSLT is not enabled
11180
11181 * loader/Cache.cpp:
11182 (WebCore::Cache::dumpStats):
11183
111842008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
11185
vestbo@webkit.orgb2902812008-11-06 12:14:49 +000011186 Reviewed by Simon Hausmann.
11187
11188 Repaint video on UpdateRequest to prevent recursive painting
11189
11190 Calling QWidget::render() to update the video generates a paint
11191 event that's then picked up by the event filter once more :(
11192
11193 We're really only interested in updates from Phonon, which we
11194 get through the UpdateRequest for each new frame.
11195
11196 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11197 (WebCore::MediaPlayerPrivate::eventFilter):
11198
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +0000111992008-11-06 Cameron Zwarich <zwarich@apple.com>
11200
11201 Not reviewed.
11202
cwzwarich@webkit.org5400b932008-11-06 09:22:54 +000011203 Fix the WebCore build for some platforms by changing build scripts to
11204 account for the recent move of the create_hash_table script from the kjs
11205 subdirectory of JavaScriptCore to the root directory.
11206
11207 * WebCore.pro:
11208 * make-generated-sources.sh:
11209
112102008-11-06 Cameron Zwarich <zwarich@apple.com>
11211
11212 Not reviewed.
11213
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +000011214 Fix a case-sensitivity issue in Mac forwarding headers. Strangely
11215 enough, this does not always cause the build to break, even with a
11216 case-sensitive filesystem.
11217
11218 * ForwardingHeaders/runtime/Interpreter.h:
11219
ap@webkit.org90b52e82008-11-06 07:04:47 +0000112202008-11-05 Alexey Proskuryakov <ap@webkit.org>
11221
ap@webkit.orgddf67942008-11-06 07:07:23 +000011222 Reviewed by Maciej Stachowiak.
11223
11224 https://bugs.webkit.org/show_bug.cgi?id=22083
11225 MessageEvents cannot be used across threads
11226
11227 * dom/Event.idl:
11228 * dom/MessageEvent.idl:
11229 Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
11230 won't work.
11231
11232 * dom/MessagePort.cpp:
11233 (WebCore::MessagePort::EventData::EventData):
11234 (WebCore::MessagePort::EventData::~EventData):
11235 (WebCore::MessagePort::clone):
11236 (WebCore::MessagePort::postMessage):
11237 (WebCore::MessagePort::startConversation):
11238 (WebCore::MessagePort::dispatchMessages):
11239 * dom/MessagePort.h:
11240 Don't create a MessageEvent until dispatch time - messages can be posted across threads,
11241 but MessageEvents are tied to the thread that they were created in.
11242
112432008-11-05 Alexey Proskuryakov <ap@webkit.org>
11244
ap@webkit.org90b52e82008-11-06 07:04:47 +000011245 Reviewed by Darin Adler.
11246
11247 https://bugs.webkit.org/show_bug.cgi?id=22066
11248 Implement Worker global object
11249
11250 * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
11251
11252 * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
11253 support is still disabled by default.
11254
11255 * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
11256
11257 * bindings/js/JSMessageChannelConstructor.cpp:
11258 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
11259
11260 * bindings/js/JSWorkerContext.cpp: Added.
11261 * bindings/js/JSWorkerContext.h: Added.
11262 * bindings/js/WorkerScriptController.cpp: Added.
11263 * bindings/js/WorkerScriptController.h: Added.
11264 * dom/WorkerContext.cpp: Added.
11265 * dom/WorkerContext.h: Added.
11266 Added an implementation of worker contexts.
11267
11268 * dom/DedicatedWorker.cpp:
11269 (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
11270 (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
11271 and lifetime is not clear at all.
11272
11273 * dom/WorkerLocation.cpp: Added.
11274 * dom/WorkerLocation.h: Added.
11275 * dom/WorkerLocation.idl: Added.
11276 Added WorkerLocation, which is one of the objects available to workers.
11277
11278 * dom/WorkerThread.cpp: Added.
11279 (WebCore::WorkerThread::WorkerThread):
11280 (WebCore::WorkerThread::start):
11281 (WebCore::WorkerThread::workerThreadStart):
11282 (WebCore::WorkerThread::workerThread):
11283 * dom/WorkerThread.h: Added.
11284 (WebCore::WorkerThread::create):
11285 Run some code in a worker thread (no message loop yet).
11286
antti@apple.comc5a38532008-11-06 02:40:54 +0000112872008-11-05 Antti Koivisto <antti@apple.com>
11288
11289 Reviewed by Dan Bernstein.
11290
11291 https://bugs.webkit.org/show_bug.cgi?id=22093
11292 Don't keep decoded stylesheet data in cache
11293
11294 <rdar://problem/6343588>
11295
11296 Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
11297 performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
11298 style sheet data in cache by 2/3 in common case.
11299
11300 * loader/CachedCSSStyleSheet.cpp:
11301 (WebCore::CachedCSSStyleSheet::sheetText):
11302 (WebCore::CachedCSSStyleSheet::data):
11303 * loader/CachedCSSStyleSheet.h:
11304
ddkilzer@apple.comb02df962008-11-06 02:00:19 +0000113052008-11-05 David Kilzer <ddkilzer@apple.com>
11306
11307 Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
11308
11309 <https://bugs.webkit.org/show_bug.cgi?id=21596>
11310
11311 Reviewed by Antti.
11312
11313 This patch adds real parsing for Pragma and Cache-Control headers
11314 based on RFC 2616, Sections 2, 14.9 and 14.32. It also adds some
11315 new String and StringImpl methods to assist with the parsing.
11316
11317 * loader/Cache.cpp:
11318 (WebCore::Cache::dumpStats): Added. Convenience method for dumping
11319 stats outside of Safari.
11320 * loader/Cache.h: Declared dumpStats().
11321
11322 * loader/CachedResource.cpp:
11323 (WebCore::CachedResource::mustRevalidate): Updated to use
11324 ResourceResponseBase::cacheControlDirectives() instead of substring
11325 matching of the entire Cache-Control header.
11326
11327 * loader/loader.cpp:
11328 (WebCore::Loader::Host::didReceiveResponse): Used the local
11329 'resource' variable instead of 'request->cachedResource()'.
11330
11331 * platform/network/ResourceResponseBase.cpp:
11332 (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
11333 m_haveParsedCacheControlHeader to false when a "Cache-Control"
11334 header is set. Ditto for m_haveParsedPragmaHeader and "Pragma".
11335 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
11336 Provides parsed Pragma header directives.
11337 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
11338 Provides parsed Cache-Control header directives.
11339 (WebCore::isCacheHeaderSeparator): Added. Returns true if a
11340 character is a separator character per RFC 2616, Section 2.2, else
11341 returns false.
11342 (WebCore::isControlCharacter): Added. Returns true if a character
11343 is a control character per RFC 2616 Section 2.2, else returns false.
11344 (WebCore::trimToNextSeparator): Added. Returns a string truncated
11345 at the first separator character per isCacheHeaderSeparator().
11346 (WebCore::parseCacheHeader): Added. This is the main parsing
11347 routine for both Cache-Control and Pragma headers.
11348 (WebCore::parseCacheControlDirectiveValues): Added. This splits
11349 certain Cache-Control directive values into a vector of strings.
11350 * platform/network/ResourceResponseBase.h:
11351 (WebCore::CacheControlDirectiveMap): Added. Typedef for a parsed
11352 Cache-Control header.
11353 (WebCore::PragmaDirectiveMap): Added. Typedef for a parsed Pragma
11354 header.
11355 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
11356 declaration.
11357 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
11358 (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
11359 Added. Boolean to describe when the "Cache-Control" header needs to
11360 be reparsed.
11361 (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader): Added.
11362 Boolean to describe when the "Pragma" header needs to be reparsed.
11363 (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
11364 Cached map to hold parsed "Cache-Control" headers.
11365 (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
11366 Cached map to hold parsed "Pragma" headers.
11367
11368 * platform/text/PlatformString.h:
11369 (WebCore::String::find): Added. Returns the first match based on
11370 the character-matching function pointer passed in.
11371 (WebCore::String::removeCharacters): Added declaration.
11372 (WebCore::find): Added. Inline method that takes a character-
11373 matching function pointer. Called by StringImpl::find().
11374 * platform/text/String.cpp:
11375 (WebCore::String::removeCharacters): Added. Calls
11376 StringImpl::removeCharacters().
11377 * platform/text/StringImpl.cpp:
11378 (WebCore::StringImpl::removeCharacters): Added. Returns a string
11379 with all characters removed that match the character-matching
11380 function pointer passed in. If there is no change to the string, it
11381 returns itself. Based heavily on StringImpl::simplifyWhitespace().
11382 (WebCore::StringImpl::find): Added. Calls WebCore::find().
11383 * platform/text/StringImpl.h:
11384 (WebCore::FindMatchFunctionPtr): Added. Typedef for a character-
11385 matching function pointer.
11386 (WebCore::StringImpl::removeCharacters): Added declaration.
11387 (WebCore::StringImpl::find): Ditto.
11388
justin.garcia@apple.com41ed13a2008-11-06 01:48:04 +0000113892008-11-05 Justin Garcia <justin.garcia@apple.com>
11390
11391 Reviewed by Beth Dakin.
11392
11393 <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
11394
11395 As a rule, we don't allow merges out of blockquotes. In the bug, we are inserting a text node
11396 between two blockquotes. Because the start merge moves the text node into a blockquote, when we
11397 determine whether or not we should do the end merge, it incorrectly appears as though the end merge
11398 is merging out of a blockquote. The fix is to determine whether or not we should do the end merge
11399 before we do the start merge, so that the start merge doesn't effect our decision.
11400
11401 * editing/ReplaceSelectionCommand.cpp:
11402 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
11403 (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
11404 (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
11405 * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
11406
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +0000114072008-11-05 Cameron Zwarich <zwarich@apple.com>
11408
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +000011409 Not reviewed.
11410
cwzwarich@webkit.org36c7fc72008-11-06 00:41:49 +000011411 Speculatively fix the Windows build, even though these changes may not
11412 actually matter for anything in the build, because the Windows bots are
11413 behind.
11414
11415 * WebCore.vcproj/WebCore.vcproj:
11416
114172008-11-05 Cameron Zwarich <zwarich@apple.com>
11418
11419 Not reviewed.
11420
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +000011421 Fix the Qt build.
11422
11423 * bridge/qt/qt_class.cpp:
11424 * bridge/qt/qt_runtime.h:
11425
114262008-11-05 Cameron Zwarich <zwarich@apple.com>
11427
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +000011428 Rubber-stamped by Sam Weinig.
11429
11430 Move more files to the runtime subdirectory of JavaScriptCore.
11431
11432 * ForwardingHeaders/kjs/collector.h: Removed.
11433 * ForwardingHeaders/kjs/completion.h: Removed.
11434 * ForwardingHeaders/kjs/identifier.h: Removed.
11435 * ForwardingHeaders/kjs/interpreter.h: Removed.
11436 * ForwardingHeaders/kjs/lookup.h: Removed.
11437 * ForwardingHeaders/kjs/operations.h: Removed.
11438 * ForwardingHeaders/kjs/protect.h: Removed.
11439 * ForwardingHeaders/kjs/ustring.h: Removed.
11440 * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
11441 * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
11442 * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
11443 * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
11444 * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
11445 * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
11446 * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
11447 * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
11448 * bindings/js/GCController.cpp:
11449 * bindings/js/JSCustomPositionCallback.h:
11450 * bindings/js/JSCustomPositionErrorCallback.h:
11451 * bindings/js/JSCustomSQLStatementCallback.h:
11452 * bindings/js/JSCustomSQLStatementErrorCallback.h:
11453 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
11454 * bindings/js/JSCustomVoidCallback.h:
11455 * bindings/js/JSDOMBinding.h:
11456 * bindings/js/JSDOMWindowBase.h:
11457 * bindings/js/JSEventListener.h:
11458 * bindings/js/ScheduledAction.h:
11459 * bindings/js/ScriptController.cpp:
11460 * bindings/js/ScriptController.h:
11461 * bindings/objc/WebScriptObject.mm:
11462 * bindings/scripts/CodeGeneratorJS.pm:
11463 * bridge/NP_jsobject.cpp:
11464 * bridge/c/c_class.cpp:
11465 * bridge/jni/jni_class.cpp:
11466 * bridge/jni/jni_jsobject.mm:
11467 * bridge/npruntime.cpp:
11468 * bridge/runtime_root.h:
11469 * history/CachedPage.h:
11470 * html/CanvasRenderingContext2D.cpp:
11471 * html/HTMLCanvasElement.cpp:
11472 * inspector/InspectorController.cpp:
11473 * inspector/JavaScriptCallFrame.cpp:
11474 * page/Console.cpp:
11475 * page/Page.cpp:
11476 * platform/text/AtomicString.cpp:
11477 * platform/text/PlatformString.h:
11478
weinig@apple.comef952ff2008-11-05 20:03:26 +0000114792008-11-05 Sam Weinig <sam@webkit.org>
11480
11481 Reviewed by Anders Carlsson.
11482
11483 Fix https://bugs.webkit.org/show_bug.cgi?id=22085
11484 The Plugin JS object should expose item() and namedItem() methods to match Firefox
11485
11486 * bindings/js/JSPluginCustom.cpp:
11487 (WebCore::JSPlugin::nameGetter):
11488 * plugins/Plugin.cpp:
11489 (WebCore::Plugin::namedItem):
11490 * plugins/Plugin.h:
11491 * plugins/Plugin.idl:
11492
ap@webkit.org25eca0a2008-11-05 19:19:02 +0000114932008-11-05 Alexey Proskuryakov <ap@webkit.org>
11494
11495 Reviewed by Maciej Stachowiak.
11496
11497 https://bugs.webkit.org/show_bug.cgi?id=21060
11498 Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
11499
11500 Test: fast/dom/Range/surroundContents-check-boundary-points.html
11501
11502 * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
11503
andersca@apple.comd5804932008-11-05 18:42:29 +0000115042008-11-05 Anders Carlsson <andersca@apple.com>
11505
11506 Reviewed by Dan Bernstein.
11507
11508 Remove two global destructors from CoreTextController.
11509
11510 * platform/graphics/mac/CoreTextController.cpp:
11511 (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
11512
darin@chromium.orga9ece152008-11-05 18:41:07 +0000115132008-11-05 Darin Fisher <darin@chromium.org>
11514
11515 Reviewed by Darin Adler.
11516
11517 CRASH at Scrollbar::invalidateRect due to null m_client
11518 https://bugs.webkit.org/show_bug.cgi?id=22080
11519
11520 * platform/Scrollbar.cpp:
11521 (WebCore::Scrollbar::isWindowActive):
11522 (WebCore::Scrollbar::invalidateRect):
11523
weinig@apple.com84ce5772008-11-05 18:30:59 +0000115242008-11-04 Sam Weinig <sam@webkit.org>
11525
11526 Reviewed by Simon Hausmann.
11527
11528 Fix https://bugs.webkit.org/show_bug.cgi?id=21648
11529 navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
11530
11531 - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
11532
11533 * bindings/js/JSMimeTypeArrayCustom.cpp:
11534 (WebCore::JSMimeTypeArray::nameGetter):
11535 * bindings/js/JSPluginArrayCustom.cpp:
11536 (WebCore::JSPluginArray::nameGetter):
11537 * page/DOMWindow.idl:
11538 * plugins/MimeType.idl:
11539 * plugins/MimeTypeArray.cpp:
11540 (WebCore::MimeTypeArray::namedItem):
11541 * plugins/MimeTypeArray.h:
11542 * plugins/MimeTypeArray.idl:
11543 * plugins/Plugin.idl:
11544 * plugins/PluginArray.cpp:
11545 (WebCore::PluginArray::namedItem):
11546 * plugins/PluginArray.h:
11547 * plugins/PluginArray.idl:
11548
sfalken@apple.com206de2b2008-11-05 18:23:10 +0000115492008-11-05 Steve Falkenburg <sfalken@apple.com>
11550
11551 Build fix.
11552
11553 * plugins/PluginPackage.cpp:
11554
hausmann@webkit.orge5a83262008-11-05 15:31:30 +0000115552008-11-05 Jeff Cook <cookiecaper@gmail.com>
11556
11557 Reviewed by Simon Hausmann and Tor Arne.
11558
11559 Fix crash in the Qt port when unloading swfdec and Flash 10
11560 by reordering window destruction and plugin stop.
11561
11562 See https://bugs.webkit.org/show_bug.cgi?id=20779
11563
11564 * plugins/qt/PluginViewQt.cpp:
11565 (WebCore::PluginView::stop):
11566
hausmann@webkit.org49f97662008-11-05 15:31:10 +0000115672008-11-05 Simon Hausmann <hausmann@webkit.org>
11568
11569 Reviewed by Tor Arne Vestbø
11570
hausmann@webkit.orgf9c88732008-11-05 15:31:22 +000011571 Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
11572
11573 Otherwise Flash refuses to load and function :(
11574
11575 * plugins/PluginPackage.cpp:
11576 (WebCore::PluginPackage::determineQuirks):
11577 * plugins/PluginQuirkSet.h:
11578 (WebCore::):
11579 * plugins/qt/PluginViewQt.cpp:
11580 (WebCore::PluginView::getValue):
11581
115822008-11-05 Simon Hausmann <hausmann@webkit.org>
11583
11584 Reviewed by Tor Arne Vestbø
11585
hausmann@webkit.org49f97662008-11-05 15:31:10 +000011586 Unify determineQuirks between the Qt and the Gtk PluginPackage.
11587 Share the code for parsing the module version from the description.
11588 This is currently used to determine Flash based quirks.
11589
11590 * plugins/PluginPackage.cpp:
11591 (WebCore::PluginPackage::createPackage):
11592 (WebCore::PluginPackage::determineQuirks):
11593 (WebCore::PluginPackage::determineModuleVersionFromDescription):
11594 * plugins/PluginPackage.h:
11595 * plugins/gtk/PluginPackageGtk.cpp:
11596 (WebCore::PluginPackage::fetchInfo):
11597 * plugins/qt/PluginPackageQt.cpp:
11598 (WebCore::PluginPackage::fetchInfo):
11599
cwzwarich@webkit.org4bcb8732008-11-05 00:49:41 +0000116002008-11-04 Cameron Zwarich <zwarich@apple.com>
11601
11602 Rubber-stamped by Sam Weinig.
11603
11604 Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
11605
11606 * ForwardingHeaders/kjs/dtoa.h: Removed.
11607 * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
11608 * css/CSSParser.cpp:
11609 * platform/text/String.cpp:
11610 * platform/text/StringImpl.cpp:
11611
pam@chromium.org28f3c1b2008-11-05 00:24:44 +0000116122008-11-04 Jonathan Haas <myrdred@gmail.com>
11613
11614 Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
11615
11616 Reviewed by Darin Adler.
11617
11618 Fixed an issue which could cause memory corruption using ToT libxml.
11619 See https://bugs.webkit.org/show_bug.cgi?id=15715
11620
11621 Test: fast/xsl/xslt-nested-stylesheets.xml
11622
11623 * xml/XSLImportRule.cpp:
11624 (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
11625 * xml/XSLStyleSheet.cpp:
11626 (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
11627 (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
11628 (WebCore::XSLStyleSheet::setParentStyleSheet): Added
11629 * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
11630
simon.fraser@apple.com0d555c02008-11-04 22:40:53 +0000116312008-11-04 Simon Fraser <simon.fraser@apple.com>
11632
11633 No review.
11634
11635 Improved buid fix: include MathExtras.h to get roundf on all platforms.
11636
11637 * platform/graphics/FloatPoint.h:
11638
beidson@apple.com0d9e16f2008-11-04 20:55:13 +0000116392008-11-04 Brady Eidson <beidson@apple.com>
11640
11641 Reviewed by John Sullivan
11642
11643 Add a simple "visited" method to HistoryItem for use by global history
11644
11645 * WebCore.base.exp:
11646
11647 * history/HistoryItem.cpp:
11648 (WebCore::HistoryItem::visited): Update the title on the item, set last visited time,
11649 and bump the visit count. All things that should happen when a url is visited again!
11650 * history/HistoryItem.h:
11651
jmalonzo@webkit.org5b93bc22008-11-04 19:43:58 +0000116522008-11-04 Jan Michael Alonzo <jmalonzo@webkit.org>
11653
11654 Build fix. Not reviewed.
11655
11656 * platform/graphics/FloatPoint.h: include math.h.
11657 reported by zdobersek in #webkit.
11658
darin@chromium.org48246852008-11-04 19:40:56 +0000116592008-11-04 Darin Fisher <darin@chromium.org>
11660
11661 Reviewed by Anders Carlsson.
11662
11663 No need to clobber all ResourceRequest fields in FrameLoader::reload()
11664 https://bugs.webkit.org/show_bug.cgi?id=21949
11665
11666 * loader/FrameLoader.cpp:
11667 (WebCore::FrameLoader::reload):
11668
darin@apple.comebdfeb62008-11-04 19:00:58 +0000116692008-11-04 Darin Adler <darin@apple.com>
11670
11671 Reviewed by Tim Hatcher.
11672
11673 * storage/Database.cpp:
11674 (WebCore::databaseVersionKey): Tweaked formatting.
11675
darin@apple.com6d0ef6f2008-11-04 18:58:45 +0000116762008-11-03 Darin Adler <darin@apple.com>
11677
11678 Reviewed by Tim Hatcher.
11679
11680 - https://bugs.webkit.org/show_bug.cgi?id=22061
11681 create script to check for exit-time destructors
11682
11683 * WebCore.xcodeproj/project.pbxproj: Added a script
11684 phase that runs the check-for-exit-time-destructors script.
11685
11686 * html/HTMLAttributeNames.in: Removed some unused attribute names.
11687
11688 * html/HTMLEmbedElement.cpp:
11689 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
11690 sets the write-only m_pluginPage.
11691 * html/HTMLEmbedElement.h: Ditto.
11692
11693 * platform/mac/CursorMac.mm:
11694 (WebCore::leakNamedCursor): Changed to return a Cursor&.
11695 (WebCore::pointerCursor): Changed to leak an object to avoid an
11696 exit-time destructor.
11697 (WebCore::crossCursor): Ditto.
11698 (WebCore::handCursor): Ditto.
11699 (WebCore::moveCursor): Ditto.
11700 (WebCore::verticalTextCursor): Ditto.
11701 (WebCore::cellCursor): Ditto.
11702 (WebCore::contextMenuCursor): Ditto.
11703 (WebCore::aliasCursor): Ditto.
11704 (WebCore::zoomInCursor): Ditto.
11705 (WebCore::zoomOutCursor): Ditto.
11706 (WebCore::copyCursor): Ditto.
11707 (WebCore::noneCursor): Ditto.
11708 (WebCore::progressCursor): Ditto.
11709 (WebCore::noDropCursor): Ditto.
11710 (WebCore::notAllowedCursor): Ditto.
11711 (WebCore::iBeamCursor): Ditto.
11712 (WebCore::waitCursor): Ditto.
11713 (WebCore::helpCursor): Ditto.
11714 (WebCore::eastResizeCursor): Ditto.
11715 (WebCore::northResizeCursor): Ditto.
11716 (WebCore::northEastResizeCursor): Ditto.
11717 (WebCore::northWestResizeCursor): Ditto.
11718 (WebCore::southResizeCursor): Ditto.
11719 (WebCore::southEastResizeCursor): Ditto.
11720 (WebCore::southWestResizeCursor): Ditto.
11721 (WebCore::westResizeCursor): Ditto.
11722 (WebCore::northSouthResizeCursor): Ditto.
11723 (WebCore::eastWestResizeCursor): Ditto.
11724 (WebCore::northEastSouthWestResizeCursor): Ditto.
11725 (WebCore::northWestSouthEastResizeCursor): Ditto.
11726 (WebCore::columnResizeCursor): Ditto.
11727 (WebCore::rowResizeCursor): Ditto.
11728 (WebCore::grabCursor): Ditto.
11729 (WebCore::grabbingCursor): Ditto.
11730
11731 * storage/Database.cpp:
11732 (WebCore::guidMutex): Changed to leak an object to avoid an
11733 exit-time destructor. Also added a comment explaining why it's
11734 thread safe.
11735 (WebCore::guidToVersionMap): Ditto.
11736 (WebCore::guidToDatabaseMap): Ditto.
11737 (WebCore::Database::databaseInfoTableName): Ditto.
11738 (WebCore::databaseVersionKey): Ditto.
11739 (WebCore::Database::getVersionFromDatabase): Ditto.
11740 (WebCore::Database::setVersionInDatabase): Ditto.
11741 (WebCore::guidForOriginAndName): Ditto.
11742 * storage/DatabaseTracker.cpp:
11743 (WebCore::DatabaseTracker::tracker): Ditto.
11744 (WebCore::notificationMutex): Ditto.
11745 (WebCore::notificationQueue): Ditto.
11746 (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
11747
simon.fraser@apple.comc65d3282008-11-04 18:54:50 +0000117482008-11-04 Simon Fraser <simon.fraser@apple.com>
11749
11750 Reviewed by Dave Hyatt
11751
11752 https://bugs.webkit.org/show_bug.cgi?id=21941
11753
11754 Rename absolutePosition() to localToAbsolute(), and add the ability
11755 to optionally take transforms into account (which will eventually be the
11756 default behavior).
11757
11758 * WebCore.base.exp:
11759 * WebCore.xcodeproj/project.pbxproj:
11760 * dom/ContainerNode.cpp:
11761 (WebCore::ContainerNode::getUpperLeftCorner):
11762 (WebCore::ContainerNode::getLowerRightCorner):
11763 (WebCore::ContainerNode::getRect):
11764 * dom/ContainerNode.h:
11765 * dom/MouseRelatedEvent.cpp:
11766 (WebCore::MouseRelatedEvent::receivedTarget):
11767 * dom/Node.cpp:
11768 (WebCore::Node::getRect):
11769 * editing/SelectionController.cpp:
11770 (WebCore::SelectionController::layout):
11771 (WebCore::SelectionController::caretRect):
11772 * editing/visible_units.cpp:
11773 (WebCore::previousLinePosition):
11774 (WebCore::nextLinePosition):
11775 * html/HTMLAnchorElement.cpp:
11776 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
11777 (WebCore::HTMLAnchorElement::defaultEventHandler):
11778 * html/HTMLAreaElement.cpp:
11779 (WebCore::HTMLAreaElement::getRect):
11780 * html/HTMLImageElement.cpp:
11781 (WebCore::HTMLImageElement::x):
11782 (WebCore::HTMLImageElement::y):
11783 * html/HTMLInputElement.cpp:
11784 (WebCore::HTMLInputElement::defaultEventHandler):
11785 * html/HTMLInputElement.h:
11786 * page/AccessibilityRenderObject.cpp:
11787 (WebCore::AccessibilityRenderObject::boundingBoxRect):
11788 * page/EventHandler.cpp:
11789 (WebCore::EventHandler::handleDrag):
11790 * platform/graphics/FloatPoint.h:
11791 (WebCore::roundedIntPoint):
11792 * platform/graphics/IntSize.h:
11793 (WebCore::IntSize::expand):
11794 * rendering/LayoutState.cpp:
11795 (WebCore::LayoutState::LayoutState):
11796 * rendering/RenderBlock.cpp:
11797 (WebCore::RenderBlock::layoutBlock):
11798 (WebCore::RenderBlock::paintObject):
11799 (WebCore::RenderBlock::selectionGapRects):
11800 (WebCore::RenderBlock::fillBlockSelectionGaps):
11801 (WebCore::RenderBlock::nodeAtPoint):
11802 (WebCore::RenderBlock::positionForCoordinates):
11803 * rendering/RenderBox.cpp:
11804 (WebCore::RenderBox::localToAbsolute):
11805 (WebCore::RenderBox::computeAbsoluteRepaintRect):
11806 (WebCore::RenderBox::caretRect):
11807 * rendering/RenderBox.h:
11808 (WebCore::RenderBox::relativePositionOffset):
11809 * rendering/RenderContainer.cpp:
11810 (WebCore::RenderContainer::addLineBoxRects):
11811 * rendering/RenderFlow.cpp:
11812 (WebCore::RenderFlow::absoluteClippedOverflowRect):
11813 (WebCore::RenderFlow::caretRect):
11814 (WebCore::RenderFlow::addFocusRingRects):
11815 * rendering/RenderLayer.cpp:
11816 (WebCore::RenderLayer::updateLayerPosition):
11817 (WebCore::RenderLayer::convertToLayerCoords):
11818 (WebCore::RenderLayer::addScrolledContentOffset):
11819 (WebCore::RenderLayer::subtractScrolledContentOffset):
11820 (WebCore::RenderLayer::scrollRectToVisible):
11821 * rendering/RenderLayer.h:
11822 (WebCore::RenderLayer::scrolledContentOffset):
11823 (WebCore::RenderLayer::relativePositionOffset):
11824 * rendering/RenderListBox.cpp:
11825 (WebCore::RenderListBox::panScroll):
11826 (WebCore::RenderListBox::scrollToward):
11827 * rendering/RenderListMarker.cpp:
11828 (WebCore::RenderListMarker::selectionRect):
11829 * rendering/RenderObject.cpp:
11830 (WebCore::RenderObject::absoluteBoundingBoxRect):
11831 (WebCore::RenderObject::computeAbsoluteRepaintRect):
11832 (WebCore::RenderObject::localToAbsolute):
11833 (WebCore::RenderObject::addDashboardRegions):
11834 (WebCore::RenderObject::absoluteContentBox):
11835 (WebCore::RenderObject::absoluteOutlineBox):
11836 * rendering/RenderObject.h:
11837 (WebCore::RenderObject::localToAbsoluteForContent):
11838 * rendering/RenderPart.cpp:
11839 (WebCore::RenderPart::updateWidgetPosition):
11840 * rendering/RenderReplaced.cpp:
11841 (WebCore::RenderReplaced::selectionRect):
11842 * rendering/RenderSVGInlineText.cpp:
11843 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
11844 * rendering/RenderSVGText.cpp:
11845 (WebCore::RenderSVGText::absoluteRects):
11846 * rendering/RenderTableCell.cpp:
11847 (WebCore::RenderTableCell::localToAbsolute):
11848 * rendering/RenderTableCell.h:
11849 * rendering/RenderText.cpp:
11850 (WebCore::RenderText::addLineBoxRects):
11851 (WebCore::RenderText::caretRect):
11852 (WebCore::RenderText::selectionRect):
11853 * rendering/RenderVideo.cpp:
11854 (WebCore::RenderVideo::updatePlayer):
11855 * rendering/RenderView.cpp:
11856 (WebCore::RenderView::localToAbsolute):
11857 * rendering/RenderView.h:
11858 * rendering/RenderWidget.cpp:
11859 (WebCore::RenderWidget::updateWidgetPosition):
11860 * svg/SVGSVGElement.cpp:
11861 (WebCore::SVGSVGElement::getScreenCTM):
11862
hausmann@webkit.orgb8b5aa12008-11-04 16:22:05 +0000118632008-11-03 Yael Aharon <yael.aharon@nokia.com>
11864
11865 Reviewed by Simon Hausmann.
11866
11867 Add methods for getting and setting user data on History Item.
11868 This change is limited to QT port only. Tests were added in
11869 the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
11870
11871 Minor change by Simon: made the functions inline and added a missing
11872 const.
11873
11874 * history/HistoryItem.h:
11875
ap@webkit.orgc5e3f1b2008-11-04 10:46:13 +0000118762008-11-01 Alexey Proskuryakov <ap@webkit.org>
11877
11878 Reviewed by Darin Adler.
11879
11880 https://bugs.webkit.org/show_bug.cgi?id=22030
11881 Make EventNames usable from multiple threads
11882
11883 * platform/text/AtomicString.cpp:
11884 (WebCore::stringTable):
11885 (WebCore::AtomicString::add):
11886 (WebCore::AtomicString::remove):
11887 (WebCore::AtomicString::find):
11888 (WebCore::AtomicString::init):
11889 * platform/text/AtomicString.h:
11890 Atomic string table is now per-thread. Individual strings cannot be shared between threads,
11891 so global AtomicString constants cannot be used from threads other than the main one.
11892
11893 * dom/EventNames.cpp:
11894 (WebCore::EventNames::EventNames):
11895 (WebCore::eventNames):
11896 (WebCore::EventNames::init):
11897 * dom/EventNames.h:
11898 Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
11899 eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
11900 threads.
11901
11902 * WebCore.base.exp:
11903 * bindings/js/JSDOMWindowBase.cpp:
11904 * bindings/js/JSEventListener.cpp:
11905 * bindings/js/ScriptController.cpp:
11906 (WebCore::ScriptController::processingUserGesture):
11907 * dom/BeforeTextInsertedEvent.cpp:
11908 (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
11909 * dom/BeforeUnloadEvent.cpp:
11910 (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
11911 * dom/CharacterData.cpp:
11912 (WebCore::CharacterData::dispatchModifiedEvent):
11913 * dom/ContainerNode.cpp:
11914 (WebCore::dispatchChildInsertionEvents):
11915 (WebCore::dispatchChildRemovalEvents):
11916 * dom/DedicatedWorker.cpp:
11917 (WebCore::DedicatedWorker::dispatchErrorEvent):
11918 * dom/Document.cpp:
11919 (WebCore::Document::implicitClose):
11920 (WebCore::Document::setFocusedNode):
11921 (WebCore::Document::addListenerTypeIfNeeded):
11922 (WebCore::Document::removeWindowInlineEventListenerForType):
11923 (WebCore::Document::addWindowEventListener):
11924 (WebCore::Document::removeWindowEventListener):
11925 (WebCore::Document::finishedParsing):
11926 * dom/EventTargetNode.cpp:
11927 (WebCore::EventTargetNode::dispatchGenericEvent):
11928 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
11929 (WebCore::EventTargetNode::dispatchWindowEvent):
11930 (WebCore::EventTargetNode::dispatchUIEvent):
11931 (WebCore::EventTargetNode::dispatchSimulatedClick):
11932 (WebCore::EventTargetNode::dispatchMouseEvent):
11933 (WebCore::EventTargetNode::dispatchFocusEvent):
11934 (WebCore::EventTargetNode::dispatchBlurEvent):
11935 (WebCore::EventTargetNode::defaultEventHandler):
11936 (WebCore::EventTargetNode::on*): (multiple methods)
11937 (WebCore::EventTargetNode::setOn*): (multiple methods)
11938 * dom/KeyboardEvent.cpp:
11939 (WebCore::eventTypeForKeyboardEventType):
11940 (WebCore::KeyboardEvent::keyCode):
11941 (WebCore::KeyboardEvent::charCode):
11942 * dom/MessageEvent.cpp:
11943 (WebCore::MessageEvent::MessageEvent):
11944 * dom/MessagePort.cpp:
11945 (WebCore::MessagePort::dispatchMessages):
11946 (WebCore::MessagePort::dispatchCloseEvent):
11947 * dom/MouseEvent.cpp:
11948 (WebCore::MouseEvent::isDragEvent):
11949 (WebCore::MouseEvent::toElement):
11950 (WebCore::MouseEvent::fromElement):
11951 * dom/OverflowEvent.cpp:
11952 (WebCore::OverflowEvent::OverflowEvent):
11953 * dom/TextEvent.cpp:
11954 (WebCore::TextEvent::TextEvent):
11955 * dom/WebKitAnimationEvent.cpp:
11956 (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
11957 (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
11958 (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
11959 (WebCore::WebKitAnimationEvent::animationName):
11960 (WebCore::WebKitAnimationEvent::elapsedTime):
11961 * dom/WebKitTransitionEvent.cpp:
11962 (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
11963 (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
11964 (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
11965 (WebCore::WebKitTransitionEvent::propertyName):
11966 (WebCore::WebKitTransitionEvent::elapsedTime):
11967 * dom/WheelEvent.cpp:
11968 (WebCore::WheelEvent::WheelEvent):
11969 (WebCore::WheelEvent::initWheelEvent):
11970 * dom/XMLTokenizerLibxml2.cpp:
11971 * dom/XMLTokenizerQt.cpp:
11972 * editing/DeleteButton.cpp:
11973 (WebCore::DeleteButton::defaultEventHandler):
11974 * editing/EditCommand.cpp:
11975 * editing/Editor.cpp:
11976 (WebCore::Editor::canDHTMLCut):
11977 (WebCore::Editor::canDHTMLCopy):
11978 (WebCore::Editor::canDHTMLPaste):
11979 (WebCore::Editor::tryDHTMLCopy):
11980 (WebCore::Editor::tryDHTMLCut):
11981 (WebCore::Editor::tryDHTMLPaste):
11982 (WebCore::dispatchEditableContentChangedEvents):
11983 * editing/ReplaceSelectionCommand.cpp:
11984 (WebCore::ReplacementFragment::ReplacementFragment):
11985 * editing/SelectionController.cpp:
11986 (WebCore::SelectionController::setFocused):
11987 * html/HTMLAnchorElement.cpp:
11988 (WebCore::HTMLAnchorElement::defaultEventHandler):
11989 * html/HTMLBodyElement.cpp:
11990 (WebCore::HTMLBodyElement::parseMappedAttribute):
11991 * html/HTMLButtonElement.cpp:
11992 (WebCore::HTMLButtonElement::parseMappedAttribute):
11993 (WebCore::HTMLButtonElement::defaultEventHandler):
11994 * html/HTMLElement.cpp:
11995 (WebCore::HTMLElement::parseMappedAttribute):
11996 * html/HTMLFormControlElement.cpp:
11997 (WebCore::HTMLFormControlElement::onChange):
11998 * html/HTMLFormElement.cpp:
11999 (WebCore::HTMLFormElement::handleLocalEvents):
12000 (WebCore::HTMLFormElement::prepareSubmit):
12001 (WebCore::HTMLFormElement::reset):
12002 (WebCore::HTMLFormElement::parseMappedAttribute):
12003 * html/HTMLFrameElementBase.cpp:
12004 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
12005 * html/HTMLFrameSetElement.cpp:
12006 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
12007 * html/HTMLImageElement.cpp:
12008 (WebCore::HTMLImageElement::parseMappedAttribute):
12009 * html/HTMLImageLoader.cpp:
12010 (WebCore::HTMLImageLoader::dispatchLoadEvent):
12011 * html/HTMLInputElement.cpp:
12012 (WebCore::HTMLInputElement::parseMappedAttribute):
12013 (WebCore::HTMLInputElement::setValueFromRenderer):
12014 (WebCore::HTMLInputElement::preDispatchEventHandler):
12015 (WebCore::HTMLInputElement::postDispatchEventHandler):
12016 (WebCore::HTMLInputElement::defaultEventHandler):
12017 (WebCore::HTMLInputElement::onSearch):
12018 * html/HTMLLabelElement.cpp:
12019 (WebCore::HTMLLabelElement::defaultEventHandler):
12020 * html/HTMLMediaElement.cpp:
12021 (WebCore::HTMLMediaElement::load):
12022 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
12023 (WebCore::HTMLMediaElement::setReadyState):
12024 (WebCore::HTMLMediaElement::progressEventTimerFired):
12025 (WebCore::HTMLMediaElement::seek):
12026 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
12027 (WebCore::HTMLMediaElement::setPlaybackRate):
12028 (WebCore::HTMLMediaElement::play):
12029 (WebCore::HTMLMediaElement::pause):
12030 (WebCore::HTMLMediaElement::setVolume):
12031 (WebCore::HTMLMediaElement::setMuted):
12032 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
12033 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
12034 * html/HTMLObjectElement.cpp:
12035 (WebCore::HTMLObjectElement::parseMappedAttribute):
12036 * html/HTMLOptionElement.cpp:
12037 * html/HTMLScriptElement.cpp:
12038 (WebCore::HTMLScriptElement::parseMappedAttribute):
12039 (WebCore::HTMLScriptElement::dispatchLoadEvent):
12040 (WebCore::HTMLScriptElement::dispatchErrorEvent):
12041 * html/HTMLSelectElement.cpp:
12042 (WebCore::HTMLSelectElement::parseMappedAttribute):
12043 (WebCore::HTMLSelectElement::defaultEventHandler):
12044 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
12045 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
12046 * html/HTMLTextAreaElement.cpp:
12047 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
12048 (WebCore::HTMLTextAreaElement::defaultEventHandler):
12049 * html/HTMLTokenizer.cpp:
12050 (WebCore::HTMLTokenizer::notifyFinished):
12051 * loader/FrameLoader.cpp:
12052 (WebCore::FrameLoader::stopLoading):
12053 (WebCore::FrameLoader::canCachePage):
12054 * loader/ImageDocument.cpp:
12055 (WebCore::ImageEventListener::handleEvent):
12056 * loader/ImageLoader.cpp:
12057 * loader/MediaDocument.cpp:
12058 (WebCore::MediaDocument::defaultEventHandler):
12059 * loader/appcache/DOMApplicationCache.cpp:
12060 (WebCore::DOMApplicationCache::callCheckingListener):
12061 (WebCore::DOMApplicationCache::callErrorListener):
12062 (WebCore::DOMApplicationCache::callNoUpdateListener):
12063 (WebCore::DOMApplicationCache::callDownloadingListener):
12064 (WebCore::DOMApplicationCache::callProgressListener):
12065 (WebCore::DOMApplicationCache::callUpdateReadyListener):
12066 (WebCore::DOMApplicationCache::callCachedListener):
12067 * page/AccessibilityObject.cpp:
12068 * page/AccessibilityRenderObject.cpp:
12069 (WebCore::AccessibilityRenderObject::mouseButtonListener):
12070 * page/ContextMenuController.cpp:
12071 (WebCore::ContextMenuController::handleContextMenuEvent):
12072 * page/DOMWindow.cpp:
12073 (WebCore::DOMWindow::on*): (multiple methods)
12074 (WebCore::DOMWindow::setOn*): (multiple methods)
12075 * page/EventHandler.cpp:
12076 (WebCore::EventHandler::handleMousePressEvent):
12077 (WebCore::EventHandler::handleMouseDoubleClickEvent):
12078 (WebCore::EventHandler::handleMouseMoveEvent):
12079 (WebCore::EventHandler::handleMouseReleaseEvent):
12080 (WebCore::EventHandler::updateDragAndDrop):
12081 (WebCore::EventHandler::cancelDragAndDrop):
12082 (WebCore::EventHandler::performDragAndDrop):
12083 (WebCore::EventHandler::updateMouseEventTargetNode):
12084 (WebCore::EventHandler::dispatchMouseEvent):
12085 (WebCore::EventHandler::sendContextMenuEvent):
12086 (WebCore::EventHandler::canMouseDownStartSelect):
12087 (WebCore::EventHandler::canMouseDragExtendSelect):
12088 (WebCore::EventHandler::defaultKeyboardEventHandler):
12089 (WebCore::EventHandler::dragSourceMovedTo):
12090 (WebCore::EventHandler::dragSourceEndedAt):
12091 (WebCore::EventHandler::handleDrag):
12092 (WebCore::EventHandler::handleTextInputEvent):
12093 * page/FocusController.cpp:
12094 * page/Frame.cpp:
12095 (WebCore::Frame::sendResizeEvent):
12096 (WebCore::Frame::sendScrollEvent):
12097 * page/Page.cpp:
12098 (WebCore::networkStateChanged):
12099 * page/animation/AnimationBase.cpp:
12100 (WebCore::AnimationBase::updateStateMachine):
12101 (WebCore::AnimationBase::animationTimerCallbackFired):
12102 (WebCore::AnimationBase::primeEventTimers):
12103 * page/animation/ImplicitAnimation.cpp:
12104 (WebCore::ImplicitAnimation::onAnimationEnd):
12105 (WebCore::ImplicitAnimation::sendTransitionEvent):
12106 * page/animation/KeyframeAnimation.cpp:
12107 (WebCore::KeyframeAnimation::onAnimationStart):
12108 (WebCore::KeyframeAnimation::onAnimationIteration):
12109 (WebCore::KeyframeAnimation::onAnimationEnd):
12110 (WebCore::KeyframeAnimation::sendAnimationEvent):
12111 * page/gtk/EventHandlerGtk.cpp:
12112 * page/mac/EventHandlerMac.mm:
12113 (WebCore::isKeyboardOptionTab):
12114 * page/mac/FrameMac.mm:
12115 * page/qt/EventHandlerQt.cpp:
12116 (WebCore::isKeyboardOptionTab):
12117 * plugins/PluginView.cpp:
12118 * plugins/gtk/PluginViewGtk.cpp:
12119 * plugins/qt/PluginViewQt.cpp:
12120 * plugins/win/PluginViewWin.cpp:
12121 (WebCore::PluginView::handleKeyboardEvent):
12122 (WebCore::PluginView::handleMouseEvent):
12123 * rendering/MediaControlElements.cpp:
12124 (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
12125 (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
12126 (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
12127 (WebCore::MediaControlTimelineElement::defaultEventHandler):
12128 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
12129 * rendering/RenderFrameSet.cpp:
12130 (WebCore::RenderFrameSet::userResize):
12131 * rendering/RenderLayer.cpp:
12132 (WebCore::RenderLayer::scrollToOffset):
12133 * rendering/RenderListBox.cpp:
12134 (WebCore::RenderListBox::valueChanged):
12135 * rendering/RenderMedia.cpp:
12136 (WebCore::RenderMedia::forwardEvent):
12137 * rendering/RenderObject.cpp:
12138 * rendering/RenderSlider.cpp:
12139 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
12140 * rendering/RenderTextControl.cpp:
12141 (WebCore::RenderTextControl::forwardEvent):
12142 (WebCore::RenderTextControl::selectionChanged):
12143 * rendering/RenderWidget.cpp:
12144 * rendering/TextControlInnerElements.cpp:
12145 (WebCore::TextControlInnerTextElement::defaultEventHandler):
12146 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
12147 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
12148 * storage/LocalStorageArea.cpp:
12149 (WebCore::LocalStorageArea::dispatchStorageEvent):
12150 * storage/SessionStorageArea.cpp:
12151 (WebCore::SessionStorageArea::dispatchStorageEvent):
12152 * svg/SVGAElement.cpp:
12153 (WebCore::SVGAElement::defaultEventHandler):
12154 * svg/SVGDocument.cpp:
12155 (WebCore::SVGDocument::dispatchZoomEvent):
12156 (WebCore::SVGDocument::dispatchScrollEvent):
12157 * svg/SVGElement.cpp:
12158 (WebCore::SVGElement::parseMappedAttribute):
12159 (WebCore::hasLoadListener):
12160 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
12161 * svg/SVGElementInstance.cpp:
12162 (WebCore::SVGElementInstance::on*): (multiple methods)
12163 (WebCore::SVGElementInstance::setOn*): (multiple methods)
12164 * svg/SVGImageLoader.cpp:
12165 (WebCore::SVGImageLoader::dispatchLoadEvent):
12166 * svg/SVGSVGElement.cpp:
12167 (WebCore::SVGSVGElement::parseMappedAttribute):
12168 * svg/SVGScriptElement.cpp:
12169 (WebCore::SVGScriptElement::dispatchErrorEvent):
12170 * xml/XMLHttpRequest.cpp:
12171 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
12172 (WebCore::XMLHttpRequest::dispatchAbortEvent):
12173 (WebCore::XMLHttpRequest::dispatchErrorEvent):
12174 (WebCore::XMLHttpRequest::dispatchLoadEvent):
12175 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
12176 (WebCore::XMLHttpRequest::dispatchProgressEvent):
12177 * xml/XMLHttpRequestUpload.cpp:
12178 (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
12179 (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
12180 (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
12181 (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
12182 (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
12183 * xml/XPathResult.cpp:
12184 (WebCore::XPathResult::XPathResult):
12185 (WebCore::XPathResult::~XPathResult):
12186 (WebCore::XPathResult::invalidateIteratorState):
12187 Access event names via eventNames() function.
12188
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +0000121892008-11-04 Cameron Zwarich <zwarich@apple.com>
12190
cwzwarich@webkit.orgd39a1fc2008-11-04 09:43:49 +000012191 Reviewed by Mark Rowe.
12192
12193 Delete unused forwarding headers.
12194
12195 * ForwardingHeaders/kjs/Activation.h: Removed.
12196 * ForwardingHeaders/kjs/Register.h: Removed.
12197 * ForwardingHeaders/kjs/RegisterID.h: Removed.
12198
121992008-11-04 Cameron Zwarich <zwarich@apple.com>
12200
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +000012201 Not reviewed.
12202
12203 Fix stupid typo in previous build fix.
12204
12205 * bindings/js/JSStorageCustom.cpp:
12206 * bindings/scripts/CodeGeneratorJS.pm:
12207 * bridge/NP_jsobject.cpp:
12208
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +0000122092008-11-03 Cameron Zwarich <zwarich@apple.com>
12210
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +000012211 Not reviewed.
12212
cwzwarich@webkit.org5d5284b2008-11-04 07:56:20 +000012213 Fix the build for all non-Mac platforms.
12214
12215 * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
12216 * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
12217 * bindings/js/JSStorageCustom.cpp:
12218 * bindings/scripts/CodeGeneratorJS.pm:
12219 * bridge/NP_jsobject.cpp:
12220
122212008-11-03 Cameron Zwarich <zwarich@apple.com>
12222
12223 Not reviewed.
12224
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +000012225 Fix the wxWindows build.
12226
12227 * bridge/c/c_instance.cpp:
12228
122292008-11-03 Cameron Zwarich <zwarich@apple.com>
12230
cwzwarich@webkit.orgb91210c2008-11-04 07:10:41 +000012231 Rubber-stamped by Maciej Stachowiak.
12232
12233 Move more files into the runtime subdirectory of JavaScriptCore.
12234
12235 * ForwardingHeaders/kjs/ArgList.h: Removed.
12236 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
12237 * ForwardingHeaders/kjs/ExecState.h: Removed.
12238 * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
12239 * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
12240 * ForwardingHeaders/kjs/JSLock.h: Removed.
12241 * ForwardingHeaders/kjs/SymbolTable.h: Removed.
12242 * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
12243 * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
12244 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
12245 * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
12246 * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
12247 * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
12248 * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
12249 * bindings/js/GCController.cpp:
12250 * bindings/js/JSCustomPositionCallback.cpp:
12251 * bindings/js/JSCustomPositionErrorCallback.cpp:
12252 * bindings/js/JSCustomSQLStatementCallback.cpp:
12253 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
12254 * bindings/js/JSCustomSQLTransactionCallback.cpp:
12255 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
12256 * bindings/js/JSCustomVoidCallback.cpp:
12257 * bindings/js/JSCustomXPathNSResolver.cpp:
12258 * bindings/js/JSDOMWindowBase.cpp:
12259 * bindings/js/JSEventCustom.cpp:
12260 * bindings/js/JSEventListener.cpp:
12261 * bindings/js/JSNodeFilterCondition.cpp:
12262 * bindings/js/ScheduledAction.cpp:
12263 * bindings/js/ScriptController.cpp:
12264 * bindings/js/ScriptControllerMac.mm:
12265 * bindings/objc/WebScriptObject.mm:
12266 * bridge/NP_jsobject.cpp:
12267 * bridge/c/c_class.cpp:
12268 * bridge/c/c_instance.cpp:
12269 * bridge/c/c_runtime.cpp:
12270 * bridge/c/c_utility.cpp:
12271 * bridge/jni/jni_class.cpp:
12272 * bridge/jni/jni_instance.cpp:
12273 * bridge/jni/jni_jsobject.mm:
12274 * bridge/jni/jni_objc.mm:
12275 * bridge/jni/jni_runtime.cpp:
12276 * bridge/jni/jni_runtime.h:
12277 * bridge/jni/jni_utility.cpp:
12278 * bridge/npruntime.cpp:
12279 * bridge/objc/objc_instance.mm:
12280 * bridge/objc/objc_runtime.mm:
12281 * bridge/objc/objc_utility.mm:
12282 * bridge/runtime.cpp:
12283 * dom/Document.cpp:
12284 * dom/Node.cpp:
12285 * dom/NodeFilter.cpp:
12286 * dom/NodeIterator.cpp:
12287 * dom/TreeWalker.cpp:
12288 * history/CachedPage.cpp:
12289 * inspector/InspectorController.cpp:
12290 * inspector/JavaScriptCallFrame.cpp:
12291 * inspector/JavaScriptCallFrame.h:
12292 * inspector/JavaScriptDebugServer.cpp:
12293 * inspector/JavaScriptProfileNode.cpp:
12294 * loader/FrameLoader.cpp:
12295 * loader/icon/IconDatabase.cpp:
12296 * page/Console.cpp:
12297 * page/Page.cpp:
12298 * page/mac/FrameMac.mm:
12299 * plugins/PluginView.cpp:
12300 * plugins/gtk/PluginViewGtk.cpp:
12301 * plugins/qt/PluginViewQt.cpp:
12302 * plugins/win/PluginViewWin.cpp:
12303 * storage/Database.cpp:
12304 * xml/XMLHttpRequest.cpp:
12305
123062008-11-03 Cameron Zwarich <zwarich@apple.com>
12307
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +000012308 Reviewed by Sam Weinig.
12309
12310 Remove the forwarding header for FunctionCallProfile, because it was
12311 renamed to ProfileNode in r33466.
12312
12313 * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
12314
simon.fraser@apple.comf9050b32008-11-03 22:37:00 +0000123152008-11-03 Simon Fraser <simon.fraser@apple.com>
12316
12317 Reviewed by Dave Hyatt
12318
12319 https://bugs.webkit.org/show_bug.cgi?id=22026
12320
12321 When computing the bounds of the transparency layer, we need to
12322 map the clipRect through the enclosing transform.
12323
12324 Test: fast/layers/opacity-transforms.html
12325
12326 * rendering/RenderLayer.cpp:
12327 (WebCore::transparencyClipBox):
12328
kdecker@apple.comeb4eabb22008-11-03 20:52:50 +0000123292008-11-03 Kevin Decker <kdecker@apple.com>
12330
12331 Reviewed by Anders Carlsson.
12332
12333 https://bugs.webkit.org/show_bug.cgi?id=22053
12334
12335 Added additional support needed for the NPDrawingModelCoreAnimation drawing model.
12336
12337 * bridge/npapi.h:
12338
alp@webkit.org75ab3a52008-11-03 19:15:13 +0000123392008-11-03 Xan Lopez <xan@gnome.org>
12340
12341 Reviewed by Alp Toker.
12342
12343 Update parseDataUrl() function in the libsoup http backend with
12344 the one from the curl backend which has recent correctness and crash
12345 fixes.
12346
12347 * platform/network/soup/ResourceHandleSoup.cpp:
12348 (WebCore::parseDataUrl):
12349
alp@webkit.org1ad9e722008-11-03 16:50:16 +0000123502008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
12351
12352 Reviewed by Alp Toker.
12353
12354 https://bugs.webkit.org/show_bug.cgi?id=22041
12355 Fix CURL crashes on the test suite
12356
alp@webkit.orgc90968d2008-11-03 17:11:19 +000012357 Fix segfault with setDefersLoading(). Do not call into curl when we
12358 don't have a CURL handle.
12359
12360 It is attempted to defer the loading before the load has been
12361 started (no curl handle was allocated yet). If that happens then
12362 just remember that. ResourceHandleManager::startJob is already taking
12363 care of this and in initResourceHandle the the downloading will
12364 be paused if needed.
12365
12366 Fixes fast/loader/simultaneous-reloads-assert.html
12367
12368 * platform/network/curl/ResourceHandleCurl.cpp:
12369 (WebCore::ResourceHandle::setDefersLoading):
12370
123712008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
12372
12373 Reviewed by Alp Toker.
12374
12375 https://bugs.webkit.org/show_bug.cgi?id=22041
12376 Fix CURL crashes on the test suite
12377
alp@webkit.org1ad9e722008-11-03 16:50:16 +000012378 Do not send "no data" to WebCore in parseDataUrl().
12379
12380 Fixes assert on fast/tokenizer/image-empty-crash.html
12381
12382 * platform/network/curl/ResourceHandleManager.cpp:
12383 (WebCore::parseDataUrl):
12384
christian@webkit.orgfb968c62008-11-02 20:23:14 +0000123852008-11-02 Xan Lopez <xan@gnome.org>
12386
12387 Reviewed by Holger Freyther.
12388
12389 https://bugs.webkit.org/show_bug.cgi?id=22009
12390 HTML5 Video with GStreamer pulls gnome-vfs without using it
12391
12392 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
12393 Remove gnome-vfs include.
12394
abarth@webkit.orga796cc02008-11-01 09:31:42 +0000123952008-11-01 Adam Barth <abarth@webkit.org>
12396
12397 Reviewed by Sam Weinig.
12398
12399 Be sure to check the final URLs of requested resources to make sure we
12400 don't get fooled by HTTP redirects.
12401
12402 https://bugs.webkit.org/show_bug.cgi?id=21963
12403
12404 Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
12405 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
12406
12407 * dom/XMLTokenizerLibxml2.cpp:
12408 (WebCore::openFunc):
12409 * loader/DocLoader.cpp:
12410 (WebCore::DocLoader::canRequest):
12411 (WebCore::DocLoader::requestResource):
12412 * loader/DocLoader.h:
12413 * xml/XSLTProcessor.cpp:
12414 (WebCore::docLoaderFunc):
12415
ap@webkit.orgec7365b2008-11-01 07:21:53 +0000124162008-11-01 Alexey Proskuryakov <ap@webkit.org>
12417
12418 Reviewed by Darin Adler.
12419
12420 https://bugs.webkit.org/show_bug.cgi?id=22001
12421 AtomicStringImpl* keys of event listener maps can outlive their strings
12422
12423 Test: fast/events/destroyed-atomic-string.html
12424
12425 * dom/MessagePort.cpp:
12426 (WebCore::MessagePort::addEventListener):
12427 (WebCore::MessagePort::removeEventListener):
12428 (WebCore::MessagePort::dispatchEvent):
12429 * dom/MessagePort.h:
12430 * loader/appcache/DOMApplicationCache.cpp:
12431 (WebCore::DOMApplicationCache::addEventListener):
12432 (WebCore::DOMApplicationCache::removeEventListener):
12433 (WebCore::DOMApplicationCache::dispatchEvent):
12434 * loader/appcache/DOMApplicationCache.h:
12435 * xml/XMLHttpRequest.cpp:
12436 (WebCore::XMLHttpRequest::addEventListener):
12437 (WebCore::XMLHttpRequest::removeEventListener):
12438 (WebCore::XMLHttpRequest::dispatchEvent):
12439 * xml/XMLHttpRequest.h:
12440 * xml/XMLHttpRequestUpload.cpp:
12441 (WebCore::XMLHttpRequestUpload::addEventListener):
12442 (WebCore::XMLHttpRequestUpload::removeEventListener):
12443 (WebCore::XMLHttpRequestUpload::dispatchEvent):
12444 * xml/XMLHttpRequestUpload.h:
12445 Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
12446
ap@webkit.orgf319b262008-11-01 07:11:09 +0000124472008-10-31 Alexey Proskuryakov <ap@webkit.org>
12448
12449 Reviewed by Darin Adler.
12450
12451 https://bugs.webkit.org/show_bug.cgi?id=21998
12452 Use JSDOMGlobalObject in EventListener-related bindings
12453
12454 * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
12455
12456 * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
12457 bindings for inline event handlers.
12458
12459 * bindings/js/JSDOMApplicationCacheCustom.cpp:
12460 (WebCore::JSDOMApplicationCache::addEventListener):
12461 (WebCore::JSDOMApplicationCache::removeEventListener):
12462 * bindings/js/JSEventTargetNodeCustom.cpp:
12463 (WebCore::JSEventTargetNode::addEventListener):
12464 (WebCore::JSEventTargetNode::removeEventListener):
12465 * bindings/js/JSMessagePortCustom.cpp:
12466 (WebCore::JSMessagePort::removeEventListener):
12467 * bindings/js/JSSVGElementInstanceCustom.cpp:
12468 (WebCore::JSSVGElementInstance::addEventListener):
12469 (WebCore::JSSVGElementInstance::removeEventListener):
12470 * bindings/js/JSXMLHttpRequestCustom.cpp:
12471 (WebCore::JSXMLHttpRequest::addEventListener):
12472 (WebCore::JSXMLHttpRequest::removeEventListener):
12473 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
12474 (WebCore::JSXMLHttpRequestUpload::addEventListener):
12475 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
12476 Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
12477
12478 * dom/EventTarget.h:
12479 * dom/EventTargetNode.cpp:
12480 (WebCore::EventTargetNode::scriptExecutionContext):
12481 * dom/EventTargetNode.h:
12482 * dom/MessagePort.cpp:
12483 * dom/MessagePort.h:
12484 (WebCore::MessagePort::scriptExecutionContext):
12485 * loader/appcache/DOMApplicationCache.cpp:
12486 (WebCore::DOMApplicationCache::scriptExecutionContext):
12487 * loader/appcache/DOMApplicationCache.h:
12488 * svg/SVGElementInstance.cpp:
12489 (WebCore::SVGElementInstance::scriptExecutionContext):
12490 * svg/SVGElementInstance.h:
12491 * xml/XMLHttpRequest.cpp:
12492 (WebCore::XMLHttpRequest::scriptExecutionContext):
12493 * xml/XMLHttpRequest.h:
12494 * xml/XMLHttpRequestUpload.cpp:
12495 (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
12496 * xml/XMLHttpRequestUpload.h:
12497 Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
12498 available yet.
12499
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +0000125002008-10-31 Cameron Zwarich <zwarich@apple.com>
12501
cwzwarich@webkit.org16e38912008-11-01 01:05:21 +000012502 Rubber-stamped by Geoff Garen.
12503
12504 Rename SourceRange.h to SourceCode.h.
12505
12506 * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
12507 * ForwardingHeaders/kjs/SourceRange.h: Removed.
12508 * bindings/js/StringSourceProvider.h:
12509 * bridge/NP_jsobject.cpp:
12510
125112008-10-31 Cameron Zwarich <zwarich@apple.com>
12512
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +000012513 Reviewed by Darin Adler.
12514
12515 Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
12516 <https://bugs.webkit.org/show_bug.cgi?id=22019>
12517
12518 * WebCore.base.exp:
12519 * page/Console.cpp:
12520 (WebCore::printToStandardOut):
12521 (WebCore::Console::shouldPrintExceptions):
12522 (WebCore::Console::setShouldPrintExceptions):
12523 * page/Console.h:
12524
mitz@apple.comb7f88482008-10-31 23:35:00 +0000125252008-10-31 Dan Bernstein <mitz@apple.com>
12526
12527 Reviewed by John Sullivan.
12528
12529 - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
12530
12531 * dom/Document.cpp:
12532 (WebCore::Document::cookie): Added checking if cookies are disabled.
12533 (WebCore::Document::setCookie): Ditto.
12534 * page/Navigator.cpp:
12535 (WebCore::Navigator::cookieEnabled): Ditto.
12536 * page/Page.cpp:
12537 (WebCore::Page::Page): Initialize m_cookieEnabled to true.
12538 * page/Page.h:
12539 (WebCore::Page::cookieEnabled): Added.
12540 (WebCore::Page::setCookieEnabled): Added.
12541
adele@apple.comae80b362008-10-31 23:25:48 +0000125422008-10-31 Adele Peterson <adele@apple.com>
12543
12544 Reviewed by Darin Adler.
12545
12546 WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
12547 https://bugs.webkit.org/show_bug.cgi?id=22008
12548
12549 * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon):
12550 Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
12551 * platform/graphics/Icon.h: ditto.
12552 * platform/graphics/gtk/IconGtk.cpp:
12553 (WebCore::Icon::createIconForFile): ditto.
12554 (WebCore::Icon::createIconForFiles): ditto.
12555 * platform/graphics/mac/IconMac.mm:
12556 (WebCore::Icon::createIconForFile): ditto.
12557 (WebCore::Icon::createIconForFiles): ditto.
12558 * platform/graphics/qt/IconQt.cpp:
12559 (WebCore::Icon::createIconForFile): ditto.
12560 (WebCore::Icon::createIconForFiles): ditto.
12561 * platform/wx/TemporaryLinkStubs.cpp:
12562 (Icon::createIconForFile): ditto.
12563 (Icon::createIconForFiles): ditto.
12564 * platform/graphics/win/IconWin.cpp:
12565 (WebCore::Icon::createIconForFile): ditto.
12566 (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
12567
12568 * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
12569 Improve icon creation code to match new code in Icon::createIconForFiles
12570
timothy@apple.comfae10182008-10-31 18:49:52 +0000125712008-10-31 Timothy Hatcher <timothy@apple.com>
12572
12573 Add manual tests that check breakpoints on a blockless body of "for" loops.
12574
12575 https://bugs.webkit.org/show_bug.cgi?id=22004
12576
12577 Reviewed by Darin Adler.
12578
12579 * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
12580 * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
12581
darin@apple.com61934912008-10-31 18:45:19 +0000125822008-10-31 Darin Adler <darin@apple.com>
12583
12584 - fix build
12585
12586 * platform/win/WCDataObject.cpp: Added missing include of "config.h".
12587
ap@webkit.orgbe35d512008-10-31 09:44:03 +0000125882008-10-30 Alexey Proskuryakov <ap@webkit.org>
12589
12590 Reviewed by Darin Adler.
12591
12592 https://bugs.webkit.org/show_bug.cgi?id=21970
12593 Make MessagePort event dispatch work in workers
12594
12595 * bindings/js/JSDOMGlobalObject.cpp:
12596 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
12597 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
12598 (WebCore::JSDOMGlobalObject::findJSEventListener):
12599 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
12600 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
12601 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
12602 (WebCore::JSDOMGlobalObject::jsEventListeners):
12603 (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
12604 (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
12605 (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
12606 (WebCore::JSDOMGlobalObject::setCurrentEvent):
12607 (WebCore::JSDOMGlobalObject::currentEvent):
12608 (WebCore::toJSDOMGlobalObject):
12609 * bindings/js/JSDOMGlobalObject.h:
12610 * bindings/js/JSDOMWindowBase.cpp:
12611 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
12612 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
12613 (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
12614 * bindings/js/JSDOMWindowBase.h:
12615 Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
12616
12617 * bindings/js/JSEventListener.cpp:
12618 (WebCore::JSAbstractEventListener::handleEvent):
12619 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
12620 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
12621 (WebCore::JSUnprotectedEventListener::globalObject):
12622 (WebCore::JSUnprotectedEventListener::clearGlobalObject):
12623 (WebCore::JSEventListener::JSEventListener):
12624 (WebCore::JSEventListener::~JSEventListener):
12625 (WebCore::JSEventListener::globalObject):
12626 (WebCore::JSEventListener::clearGlobalObject):
12627 (WebCore::JSLazyEventListener::JSLazyEventListener):
12628 (WebCore::JSLazyEventListener::parseCode):
12629 * bindings/js/JSEventListener.h:
12630 (WebCore::JSUnprotectedEventListener::create):
12631 (WebCore::JSEventListener::create):
12632 (WebCore::JSLazyEventListener::create):
12633 Changed to use JSDOMGlobalObject and ScriptExecutionContext.
12634
12635 * bindings/js/JSMessagePortCustom.cpp:
12636 (WebCore::JSMessagePort::startConversation):
12637 (WebCore::JSMessagePort::addEventListener):
12638 (WebCore::JSMessagePort::removeEventListener):
12639 (WebCore::JSMessagePort::setOnmessage):
12640 (WebCore::JSMessagePort::setOnclose):
12641 Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
12642 such code, and stop using a custom implementation for JSMessagePort inline event handler
12643 getters and setters.
12644
12645 * dom/Document.cpp:
12646 (WebCore::Document::virtualURL):
12647 * dom/Document.h:
12648 * dom/ScriptExecutionContext.h:
12649 Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
12650 JSLazyEventListener).
12651
cwzwarich@webkit.orgefc1b112008-10-31 08:18:20 +0000126522008-10-31 Cameron Zwarich <zwarich@apple.com>
12653
12654 Not reviewed.
12655
12656 Speculative wxWindows build fix.
12657
12658 * webcore-base.bkl:
12659
mrowe@apple.com222bc732008-10-31 06:13:07 +0000126602008-10-30 Mark Rowe <mrowe@apple.com>
12661
12662 Reviewed by Jon Homeycutt.
12663
12664 Explicitly default to building for only the native architecture in debug and release builds.
12665
12666 * Configurations/DebugRelease.xcconfig:
12667
cwzwarich@webkit.orga691b5a2008-10-31 05:56:58 +0000126682008-10-30 Cameron Zwarich <zwarich@apple.com>
12669
12670 Rubber-stamped by Sam Weinig.
12671
12672 Create a debugger directory in JavaScriptCore and move the relevant
12673 files to it.
12674
12675 * ForwardingHeaders/debugger: Added.
12676 * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
12677 * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
12678 * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
12679 * ForwardingHeaders/kjs/debugger.h: Removed.
12680 * WebCore.pro:
12681 * bindings/js/ScriptController.cpp:
12682 * inspector/JavaScriptCallFrame.cpp:
12683 * inspector/JavaScriptCallFrame.h:
12684 * inspector/JavaScriptDebugServer.cpp:
12685 * inspector/JavaScriptDebugServer.h:
12686
timothy@apple.com4ab9f652008-10-31 05:49:22 +0000126872008-10-30 Tony Chang <tony@chromium.org>
12688
12689 Fix 2 Windows theme bugs:
12690 1) Checkboxes marked readonly were rendered incorrectly
12691 2) If a button has focus and is pressed, it was rendered
12692 as focused rather than pressed.
12693
12694 https://bugs.webkit.org/show_bug.cgi?id=21859
12695
12696 Reviewed by Dave Hyatt.
12697
12698 * rendering/RenderThemeWin.cpp:
12699 (WebCore::RenderThemeWin::determineState):
12700 (WebCore::RenderThemeWin::determineButtonState):
12701
timothy@apple.come95b7572008-10-31 05:36:06 +0000127022008-10-30 Benjamin K. Stuhl <bks24@cornell.edu>
12703
12704 gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
12705 warnings; add some parentheses to disambiguate things. No functional
12706 changes, so no tests.
12707
12708 https://bugs.webkit.org/show_bug.cgi?id=21973
12709 Add parentheses to clean up some gcc warnings
12710
12711 Reviewed by Dan Bernstein.
12712
12713 * platform/graphics/Font.h:
12714 (WebCore::Font::treatAsZeroWidthSpace):
12715
timothy@apple.comef646322008-10-31 05:29:01 +0000127162008-10-30 Aaron Boodman <aa@chromium.org>
12717
12718 Added an explicit dependency on HashMap.h. It was getting pulled in via
12719 <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
12720
12721 Reviewed by Darin Adler.
12722
12723 * platform/text/PlatformString.h:
12724
ddkilzer@apple.com14d66632008-10-31 01:54:49 +0000127252008-10-30 Greg Bolsinga <bolsinga@apple.com>
12726
12727 Reviewed by Sam Weinig
12728
ddkilzer@apple.com52840822008-10-31 01:56:43 +000012729 https://bugs.webkit.org/show_bug.cgi?id=21967
12730
12731 For some platforms the GeolocationService must be suspended and resumed.
12732
12733 * page/Geolocation.cpp:
12734 (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
12735 (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
12736 (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
12737 (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
12738 * page/Geolocation.h:
12739 (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
12740 * platform/GeolocationService.h:
12741 (WebCore::GeolocationService::suspend): empty implementation
12742 (WebCore::GeolocationService::resume): empty implementation
12743
127442008-10-30 Greg Bolsinga <bolsinga@apple.com>
12745
12746 Reviewed by Sam Weinig
12747
ddkilzer@apple.com14d66632008-10-31 01:54:49 +000012748 https://bugs.webkit.org/show_bug.cgi?id=21966
12749
12750 The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
12751 http://dev.w3.org/geo/api/spec-source.html
12752
12753 * page/Geolocation.cpp:
12754 (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
12755 * page/Geoposition.cpp: velocity is now called speed
12756 (WebCore::Geoposition::toString):
12757 * page/Geoposition.h: velocity is now called speed
12758 (WebCore::Geoposition::create):
12759 (WebCore::Geoposition::speed):
12760 (WebCore::Geoposition::Geoposition):
12761 * page/Geoposition.idl: velocity is now called speed
12762 * page/PositionOptions.h: timeout is now unsigned
12763 (WebCore::PositionOptions::create):
12764 (WebCore::PositionOptions::timeout):
12765 (WebCore::PositionOptions::setTimeout):
12766 (WebCore::PositionOptions::PositionOptions):
12767 * page/PositionOptions.idl: timeout is now unsigned long
12768
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +0000127692008-10-30 Justin Garcia <justin.garcia@apple.com>
12770
justin.garcia@apple.com484cb6b2008-10-31 00:11:48 +000012771 Also handle preserved newlines.
12772
12773 * editing/BreakBlockquoteCommand.cpp:
12774 (WebCore::BreakBlockquoteCommand::doApply):
12775
127762008-10-30 Justin Garcia <justin.garcia@apple.com>
12777
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +000012778 Reviewed by Beth Dakin.
12779
12780 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
12781
12782 * editing/BreakBlockquoteCommand.cpp:
12783 (WebCore::BreakBlockquoteCommand::doApply):
12784 Don't store the endingSelection() in selection, just call endingSelection() in the few places it's
12785 needed. This function is cheap since it just returns a reference to a Selection instead of creating one.
12786 Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
12787 we now use visiblePos (in order to avoid VisiblePosition creation).
12788 Set pos after we delete the current selection (if there is one), and be consistent about what we set
12789 pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact...
12790 ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is
12791 in the first node that we want to move. This fixes the bug, since it lets code that checks for the case
12792 where the caret is between text and a br work correctly.
12793
vestbo@webkit.orgd8876f12008-10-30 20:45:52 +0000127942008-10-30 Yael Aharon <yael.aharon@nokia.com>
12795
12796 Reviewed by Darin Adler.
12797
12798 Fix the Qt build.
12799
12800 https://bugs.webkit.org/show_bug.cgi?id=21969
12801
12802 * inspector/front-end/WebKit.qrc:
12803 * platform/graphics/qt/ImageBufferQt.cpp:
12804 (WebCore::ImageBufferData::ImageBufferData):
12805 (WebCore::ImageBuffer::ImageBuffer):
12806 (WebCore::ImageBuffer::context):
12807 (WebCore::ImageBuffer::image):
12808 (WebCore::ImageBuffer::toDataURL):
12809
darin@apple.comf9f4f9a2008-10-30 20:52:02 +0000128102008-10-30 Justin Garcia <justin.garcia@apple.com>
12811
12812 Reviewed by Darin Adler.
12813
12814 More preparation for:
12815 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
12816
12817 * editing/BreakBlockquoteCommand.cpp:
12818 (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the
12819 startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote.
12820 This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This
12821 doesn't really fix a bug, since we can't really get into a situation where we move to a different
12822 topBlockquote, but it simplifies the code.
12823
alp@webkit.org3d557522008-10-30 14:09:59 +0000128242008-10-30 Dirk Schulze <vbs85@gmx.de>
12825
12826 Reviewed by Alp Toker.
12827
12828 https://bugs.webkit.org/show_bug.cgi?id=21883
12829 [CAIRO] globalAlpha has to be stored and restored
12830
12831 Cairo's globalAlpha has to be stored and reloaded on calling
12832 save() and restore(). We use the power of GraphicsContextState for this.
12833
12834 * platform/graphics/GraphicsContextPrivate.h:
12835 (WebCore::GraphicsContextState::GraphicsContextState):
12836 * platform/graphics/cairo/GraphicsContextCairo.cpp:
12837 (WebCore::GraphicsContext::fillPath):
12838 (WebCore::GraphicsContext::strokePath):
12839 (WebCore::GraphicsContext::setAlpha):
12840 (WebCore::GraphicsContext::getAlpha):
12841 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
12842 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
12843
ap@webkit.org771c2652008-10-30 08:41:34 +0000128442008-10-29 Alexey Proskuryakov <ap@webkit.org>
12845
12846 Reviewed by Maciej Stachowiak.
12847
12848 Rename "attachedToEventTargetNode" to "isInline".
12849
12850 Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
12851 XMLHttpRequest, MessagePort et al.
12852
12853 Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
12854 attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
12855 And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
12856 "inlineEventListenerForType", as they work with inline listeners.
12857
12858 * bindings/js/JSDOMApplicationCacheCustom.cpp:
12859 (WebCore::JSDOMApplicationCache::addEventListener):
12860 (WebCore::JSDOMApplicationCache::removeEventListener):
12861 * bindings/js/JSMessagePortCustom.cpp:
12862 (WebCore::JSMessagePort::setOnmessage):
12863 (WebCore::JSMessagePort::setOnclose):
12864 * bindings/js/JSXMLHttpRequestCustom.cpp:
12865 (WebCore::JSXMLHttpRequest::addEventListener):
12866 (WebCore::JSXMLHttpRequest::removeEventListener):
12867 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
12868 (WebCore::JSXMLHttpRequestUpload::addEventListener):
12869 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
12870 Pass a correct value for this argument - callers used to be confused, because they didn't
12871 consider themselves event target nodes. This doesn't affect behavior however, as the only
12872 difference between inline and non-inline event handlers is that the former treat
12873 "return false" as "event.preventDefault()", which is not important to any of these objects.
12874
12875 * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
12876 Assert that isInline is true instead of checking its value, as the constructor of this class
12877 always sets it to true.
12878
12879 * bindings/js/JSDOMWindowBase.cpp:
12880 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
12881 (WebCore::JSDOMWindowBase::findJSEventListener):
12882 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
12883 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
12884 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
12885 (WebCore::JSDOMWindowBase::jsInlineEventListeners):
12886 (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
12887 * bindings/js/JSDOMWindowBase.h:
12888 * bindings/js/JSEventListener.cpp:
12889 (WebCore::JSAbstractEventListener::handleEvent):
12890 (WebCore::JSAbstractEventListener::isInline):
12891 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
12892 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
12893 (WebCore::JSEventListener::JSEventListener):
12894 (WebCore::JSEventListener::~JSEventListener):
12895 (WebCore::JSLazyEventListener::parseCode):
12896 * bindings/js/JSEventListener.h:
12897 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
12898 (WebCore::JSUnprotectedEventListener::create):
12899 (WebCore::JSEventListener::create):
12900 * bindings/js/ScriptController.cpp:
12901 (WebCore::ScriptController::createInlineEventHandler):
12902 * bindings/js/ScriptController.h:
12903 * dom/Document.cpp:
12904 (WebCore::Document::setWindowInlineEventListenerForType):
12905 (WebCore::Document::windowInlineEventListenerForType):
12906 (WebCore::Document::removeWindowInlineEventListenerForType):
12907 (WebCore::Document::createEventListener):
12908 (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
12909 * dom/Document.h:
12910 * dom/EventListener.h:
12911 (WebCore::EventListener::isInline):
12912 * dom/EventTargetNode.cpp:
12913 (WebCore::EventTargetNode::removeInlineEventListenerForType):
12914 (WebCore::EventTargetNode::setInlineEventListenerForType):
12915 (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
12916 (WebCore::EventTargetNode::inlineEventListenerForType):
12917 (WebCore::EventTargetNode::on*): (many methods)
12918 (WebCore::EventTargetNode::setOn*): (many methods)
12919 * dom/EventTargetNode.h:
12920 * editing/ReplaceSelectionCommand.cpp:
12921 (WebCore::ReplacementFragment::ReplacementFragment):
12922 * html/HTMLBodyElement.cpp:
12923 (WebCore::HTMLBodyElement::parseMappedAttribute):
12924 * html/HTMLButtonElement.cpp:
12925 (WebCore::HTMLButtonElement::parseMappedAttribute):
12926 * html/HTMLElement.cpp:
12927 (WebCore::HTMLElement::parseMappedAttribute):
12928 * html/HTMLFormElement.cpp:
12929 (WebCore::HTMLFormElement::parseMappedAttribute):
12930 * html/HTMLFrameElementBase.cpp:
12931 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
12932 * html/HTMLFrameSetElement.cpp:
12933 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
12934 * html/HTMLImageElement.cpp:
12935 (WebCore::HTMLImageElement::parseMappedAttribute):
12936 * html/HTMLInputElement.cpp:
12937 (WebCore::HTMLInputElement::parseMappedAttribute):
12938 * html/HTMLObjectElement.cpp:
12939 (WebCore::HTMLObjectElement::parseMappedAttribute):
12940 * html/HTMLScriptElement.cpp:
12941 (WebCore::HTMLScriptElement::parseMappedAttribute):
12942 * html/HTMLSelectElement.cpp:
12943 (WebCore::HTMLSelectElement::parseMappedAttribute):
12944 * html/HTMLTextAreaElement.cpp:
12945 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
12946 * page/AccessibilityRenderObject.cpp:
12947 (WebCore::AccessibilityRenderObject::mouseButtonListener):
12948 * page/DOMWindow.cpp:
12949 (WebCore::DOMWindow::setInlineEventListenerForType):
12950 (WebCore::DOMWindow::inlineEventListenerForType):
12951 (WebCore::DOMWindow::on*): (many methods)
12952 (WebCore::DOMWindow::setOn*): (many methods)
12953 * page/DOMWindow.h:
12954 * svg/SVGElement.cpp:
12955 (WebCore::SVGElement::parseMappedAttribute):
12956 * svg/SVGElementInstance.cpp:
12957 (WebCore::SVGElementInstance::on*): (many methods)
12958 (WebCore::SVGElementInstance::setOn*): (many methods)
12959 * svg/SVGSVGElement.cpp:
12960 (WebCore::SVGSVGElement::parseMappedAttribute):
12961 Rename things, as described above.
12962
zecke@webkit.orgbcca41d2008-10-29 22:39:18 +0000129632008-10-29 Gustavo Noronha Silva <gns@gnome.org>
12964
12965 Reviewed and slightly changed by Holger Freyther.
12966
12967 Added all the files that need to be installed for the Inspector to
12968 work.
12969
12970 * GNUmakefile.am: Invoke the shell to get the files.
12971
darin@chromium.orgde675412008-10-29 21:45:02 +0000129722008-10-29 Andrew Scherkus <scherkus@chromium.org>
12973
12974 Reviewed by Darin Adler
12975
12976 Add MediaPlayerPrivateChromium to MediaPlayer
12977 https://bugs.webkit.org/show_bug.cgi?id=21930
12978
12979 * platform/graphics/MediaPlayer.cpp:
12980
justin.garcia@apple.com8cba38d2008-10-29 21:43:47 +0000129812008-10-29 Justin Garcia <justin.garcia@apple.com>
12982
12983 Reviewed by Darin Adler.
12984
12985 Some preparation for:
12986 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
12987
12988 Added an early return to avoid a level of if-nesting. No other changes. We probably don't
12989 need to rebalance whitespace before the early return but for now don't risk any change in behavior
12990 I'll revisit that later.
12991
12992 * editing/BreakBlockquoteCommand.cpp:
12993 (WebCore::BreakBlockquoteCommand::doApply):
12994
kevino@webkit.orgce2e48a2008-10-29 20:13:27 +0000129952008-10-29 Kevin Ollivier <kevino@theolliviers.com>
12996
12997 wx build fixes after addition of runtime and ImageBuffer changes.
12998
12999 * platform/graphics/wx/ImageBufferData.h: Added.
13000 * platform/graphics/wx/ImageBufferWx.cpp:
13001 (WebCore::ImageBufferData::ImageBufferData):
13002 (WebCore::ImageBuffer::ImageBuffer):
13003 (WebCore::ImageBuffer::context):
13004 * webcore-base.bkl:
13005
brettw@chromium.org95ee6812008-10-29 16:38:52 +0000130062008-10-29 Brett Wilson <brettw@chromium.org>
13007
13008 Reviewed by Darin Adler
13009 https://bugs.webkit.org/attachment.cgi?id=24745
13010
13011 Allow Skia implementations to get text style changed notifications.
13012
13013 * platform/graphics/GraphicsContext.cpp:
13014
timothy@apple.comdbc138a2008-10-29 15:02:31 +0000130152008-10-29 Timothy Hatcher <timothy@apple.com>
13016
13017 Add a manual test that checks breakpoints on a blockless body of
13018 an "else" statement.
13019
13020 https://bugs.webkit.org/show_bug.cgi?id=21944
13021
13022 Reviewed by Maciej Stachowiak.
13023
13024 * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
13025
ap@webkit.orgc78a2072008-10-29 10:35:26 +0000130262008-10-29 Alexey Proskuryakov <ap@webkit.org>
13027
ap@webkit.org7c52f882008-10-29 10:44:22 +000013028 Reviewed by Darin Adler.
13029
13030 https://bugs.webkit.org/show_bug.cgi?id=21921
13031 MessagePort messages are dispatched to documents that are not fully active
13032
13033 Covered by corrected fast/events/message-port-inactive-document.html
13034
13035 * bindings/js/JSEventListener.cpp:
13036 (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
13037 that are not fully active.
13038
130392008-10-29 Alexey Proskuryakov <ap@webkit.org>
13040
ap@webkit.org6b4b6872008-10-29 10:37:26 +000013041 Reviewed by Sam Weinig.
13042
13043 https://bugs.webkit.org/show_bug.cgi?id=21922
13044 Expose MessagePort global constructor
13045
13046 Covered by existing dumper tests.
13047
13048 * dom/MessagePort.idl:
13049 * page/DOMWindow.idl:
13050
130512008-10-29 Alexey Proskuryakov <ap@webkit.org>
13052
ap@webkit.orgc78a2072008-10-29 10:35:26 +000013053 Reviewed by Darin Adler.
13054
13055 https://bugs.webkit.org/show_bug.cgi?id=21924
13056 HashTable internal index is not always deleted
13057
13058 * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
13059 Call deleteTable for HashTables that are being deleted.
13060
ap@webkit.org3c120a82008-10-29 10:26:58 +0000130612008-10-28 Alexey Proskuryakov <ap@webkit.org>
13062
13063 Reviewed by Darin Adler.
13064
13065 https://bugs.webkit.org/show_bug.cgi?id=21923
13066 Create an abstraction for script execution context
13067
13068 * GNUmakefile.am:
13069 * WebCore.pro:
13070 * WebCore.vcproj/WebCore.vcproj:
13071 * WebCore.xcodeproj/project.pbxproj:
13072 * WebCoreSources.bkl:
13073 Added ScriptExecutionContext.{h,cpp}.
13074
13075 * bindings/js/JSAudioConstructor.cpp:
13076 (WebCore::JSAudioConstructor::JSAudioConstructor):
13077 * bindings/js/JSAudioConstructor.h:
13078 * bindings/js/JSImageConstructor.cpp:
13079 (WebCore::JSImageConstructor::JSImageConstructor):
13080 * bindings/js/JSImageConstructor.h:
13081 * bindings/js/JSOptionConstructor.cpp:
13082 (WebCore::JSOptionConstructor::JSOptionConstructor):
13083 * bindings/js/JSOptionConstructor.h:
13084 * bindings/js/JSXMLHttpRequestConstructor.cpp:
13085 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
13086 * bindings/js/JSXMLHttpRequestConstructor.h:
13087 Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
13088 Since these objects can only work within documents now, it is immediately converted back
13089 to Document.
13090
13091 * bindings/js/JSMessageChannelConstructor.cpp:
13092 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
13093 (WebCore::JSMessageChannelConstructor::construct):
13094 * bindings/js/JSMessageChannelConstructor.h:
13095 (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
13096 MessageChannel needs to be supported in workers right away, so the constructor operates with
13097 it directly.
13098
13099 * dom/ActiveDOMObject.cpp:
13100 (WebCore::ActiveDOMObject::ActiveDOMObject):
13101 (WebCore::ActiveDOMObject::~ActiveDOMObject):
13102 (WebCore::ActiveDOMObject::contextDestroyed):
13103 * dom/ActiveDOMObject.h:
13104 (WebCore::ActiveDOMObject::scriptExecutionContext):
13105 * bindings/js/JSDOMBinding.cpp:
13106 (WebCore::markActiveObjectsForContext):
13107 (WebCore::markCrossHeapDependentObjectsForContext):
13108 Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
13109 tracking is handled by ScriptExecutionContext.
13110
13111 * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
13112
13113 * bindings/js/JSDOMGlobalObject.h:
13114 (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
13115 Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
13116 to worker context implementation.
13117 (WebCore::scriptExecutionContext): Added a pure virtual method to access
13118 ScriptExecutionContext, implemented by subclasses.
13119
13120 * bindings/js/JSDOMWindowBase.h:
13121 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
13122 Implement by returning the associated document. Note that this method currently gives bogus
13123 results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
13124 that is currently in the frame, not the one associated with this window.
13125
13126 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
13127
13128 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
13129 Call markActiveObjectsForContext() by its new name.
13130
13131 * dom/DedicatedWorker.cpp:
13132 (WebCore::DedicatedWorker::DedicatedWorker):
13133 (WebCore::DedicatedWorker::document):
13134 * dom/DedicatedWorker.h:
13135 * xml/XMLHttpRequest.cpp:
13136 (WebCore::XMLHttpRequest::document):
13137 * xml/XMLHttpRequest.h:
13138 Added a document() function that upcasts ScriptExecutionContext, as these objects only work
13139 within documents currently (at least for XMLHttpRequest, this will change soon though).
13140
13141 * dom/Document.cpp:
13142 (WebCore::Document::Document):
13143 (WebCore::Document::~Document):
13144 Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
13145 with workers.
13146
13147 * dom/Document.h:
13148 (WebCore::Document::isDocument):
13149 (WebCore::Document::refScriptExecutionContext):
13150 (WebCore::Document::derefScriptExecutionContext):
13151 Inherit from ScriptExecutionContext.
13152
13153 * dom/MessageChannel.cpp:
13154 (WebCore::MessageChannel::MessageChannel):
13155 * dom/MessageChannel.h:
13156 (WebCore::MessageChannel::create):
13157 Use ScriptExecutionContext instead of Document.
13158
13159 * dom/MessagePort.cpp:
13160 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
13161 MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
13162 unrelated issue that was causing random crashes in layout tests).
13163 (WebCore::MessagePort::MessagePort):
13164 (WebCore::MessagePort::~MessagePort):
13165 (WebCore::MessagePort::associatedFrame):
13166 (WebCore::MessagePort::clone):
13167 (WebCore::MessagePort::postMessage):
13168 (WebCore::MessagePort::startConversation):
13169 (WebCore::MessagePort::start):
13170 (WebCore::MessagePort::contextDestroyed):
13171 (WebCore::MessagePort::dispatchMessages):
13172 * dom/MessagePort.h:
13173 (WebCore::MessagePort::create):
13174 (WebCore::MessagePort::scriptExecutionContext):
13175 Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
13176 work in worker contexts - we need to also make some its method thread safe for cross-thread
13177 messaging, and make event dispatching thread safe.
13178
13179 * dom/ScriptExecutionContext.cpp: Added.
13180 * dom/ScriptExecutionContext.h: Added.
13181 ActiveDOMObject and MessagePort tracking is moved from Document.
13182 It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
13183 but as I'm just moving Document code, and it is Document that is the main context object
13184 in our implementation currently.
13185 Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
13186 seem non-trivial to fix, and isn't really a part of this task.
13187
alp@webkit.orge27cab82008-10-29 03:20:15 +0000131882008-10-28 Alp Toker <alp@nuanti.com>
13189
alp@webkit.orgb206e942008-10-29 05:22:20 +000013190 List newly-added ImageBufferData.h in build system.
13191
13192 * GNUmakefile.am:
13193
131942008-10-28 Alp Toker <alp@nuanti.com>
13195
alp@webkit.orge27cab82008-10-29 03:20:15 +000013196 Reviewed by Cameron Zwarich.
13197
13198 De-list unused WebCore ForwardingHeaders to fix the dist target.
13199
13200 * GNUmakefile.am:
13201
cwzwarich@webkit.org7eb0cf92008-10-29 02:41:47 +0000132022008-10-28 Cameron Zwarich <zwarich@apple.com>
13203
13204 Not reviewed.
13205
13206 Attempt to fix the Windows build by generating Forwardingheaders for the
13207 runtime directory in JavaScriptCore.
13208
13209 * WebCore.vcproj/WebCore.vcproj:
13210
justin.garcia@apple.com28768642008-10-29 02:07:18 +0000132112008-10-28 Justin Garcia <justin.garcia@apple.com>
13212
13213 Reviewed by Darin Adler.
13214
13215 <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
13216
13217 * editing/Editor.cpp:
13218 (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
13219 (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which
13220 will probably require a change more complicated than just marking the learned word as
13221 misspelled. I'll address it with a separate patch.
13222 * editing/EditorCommand.cpp:
13223 (WebCore::executeIgnoreSpelling): Added.
13224 (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
13225
cwzwarich@webkit.orgba054bb2008-10-29 01:54:00 +0000132262008-10-28 Cameron Zwarich <zwarich@apple.com>
13227
13228 Reviewed by Mark Rowe.
13229
13230 Move ForwardingHeaders to their correct location after the creation of
13231 the runtime directory in JavaScriptCore.
13232
13233 * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
13234 * ForwardingHeaders/kjs/BooleanObject.h: Removed.
13235 * ForwardingHeaders/kjs/CallData.h: Removed.
13236 * ForwardingHeaders/kjs/ConstructData.h: Removed.
13237 * ForwardingHeaders/kjs/DateInstance.h: Removed.
13238 * ForwardingHeaders/kjs/Error.h: Removed.
13239 * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
13240 * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
13241 * ForwardingHeaders/kjs/InternalFunction.h: Removed.
13242 * ForwardingHeaders/kjs/JSArray.h: Removed.
13243 * ForwardingHeaders/kjs/JSFunction.h: Removed.
13244 * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
13245 * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
13246 * ForwardingHeaders/kjs/JSObject.h: Removed.
13247 * ForwardingHeaders/kjs/JSString.h: Removed.
13248 * ForwardingHeaders/kjs/JSValue.h: Removed.
13249 * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
13250 * ForwardingHeaders/kjs/PropertyMap.h: Removed.
13251 * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
13252 * ForwardingHeaders/kjs/StringObject.h: Removed.
13253 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
13254 * ForwardingHeaders/kjs/StringPrototype.h: Removed.
13255 * ForwardingHeaders/kjs/StructureID.h: Removed.
13256 * ForwardingHeaders/runtime: Added.
13257 * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
13258 * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
13259 * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
13260 * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
13261 * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
13262 * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
13263 * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
13264 * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
13265 * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
13266 * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
13267 * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
13268 * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
13269 * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
13270 * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
13271 * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
13272 * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
13273 * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
13274 * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
13275 * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
13276 * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
13277 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
13278 * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
13279 * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
13280 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
13281 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
13282 * bindings/js/JSClipboardCustom.cpp:
13283 * bindings/js/JSConsoleCustom.cpp:
13284 * bindings/js/JSCustomPositionCallback.h:
13285 * bindings/js/JSCustomPositionErrorCallback.h:
13286 * bindings/js/JSCustomSQLStatementCallback.h:
13287 * bindings/js/JSCustomSQLStatementErrorCallback.h:
13288 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
13289 * bindings/js/JSCustomVoidCallback.h:
13290 * bindings/js/JSCustomXPathNSResolver.h:
13291 * bindings/js/JSDOMBinding.cpp:
13292 * bindings/js/JSDOMBinding.h:
13293 * bindings/js/JSDOMGlobalObject.h:
13294 * bindings/js/JSDOMWindowBase.cpp:
13295 * bindings/js/JSDOMWindowCustom.cpp:
13296 * bindings/js/JSDOMWindowShell.cpp:
13297 * bindings/js/JSDatabaseCustom.cpp:
13298 * bindings/js/JSEventListener.cpp:
13299 * bindings/js/JSEventTarget.h:
13300 * bindings/js/JSHTMLDocumentCustom.cpp:
13301 * bindings/js/JSHistoryCustom.cpp:
13302 * bindings/js/JSInspectedObjectWrapper.cpp:
13303 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13304 * bindings/js/JSLocationCustom.cpp:
13305 * bindings/js/JSNodeFilterCondition.h:
13306 * bindings/js/JSQuarantinedObjectWrapper.cpp:
13307 * bindings/js/JSQuarantinedObjectWrapper.h:
13308 * bindings/js/JSXMLHttpRequestCustom.cpp:
13309 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
13310 * bindings/objc/WebScriptObject.mm:
13311 * bindings/objc/WebScriptObjectPrivate.h:
13312 * bindings/scripts/CodeGeneratorJS.pm:
13313 * bridge/NP_jsobject.cpp:
13314 * bridge/c/c_instance.cpp:
13315 * bridge/c/c_utility.cpp:
13316 * bridge/c/c_utility.h:
13317 * bridge/jni/jni_instance.cpp:
13318 * bridge/jni/jni_jsobject.h:
13319 * bridge/jni/jni_jsobject.mm:
13320 * bridge/jni/jni_runtime.cpp:
13321 * bridge/jni/jni_utility.cpp:
13322 * bridge/jni/jni_utility.h:
13323 * bridge/objc/objc_instance.mm:
13324 * bridge/objc/objc_runtime.h:
13325 * bridge/objc/objc_runtime.mm:
13326 * bridge/objc/objc_utility.h:
13327 * bridge/objc/objc_utility.mm:
13328 * bridge/runtime.h:
13329 * bridge/runtime_array.cpp:
13330 * bridge/runtime_array.h:
13331 * bridge/runtime_method.cpp:
13332 * bridge/runtime_method.h:
13333 * bridge/runtime_object.cpp:
13334 * bridge/runtime_object.h:
13335 * bridge/runtime_root.cpp:
13336 * inspector/JavaScriptCallFrame.cpp:
13337 * inspector/JavaScriptProfile.cpp:
13338 * inspector/JavaScriptProfile.h:
13339 * inspector/JavaScriptProfileNode.cpp:
13340 * inspector/JavaScriptProfileNode.h:
13341 * loader/FrameLoader.cpp:
13342 * page/Console.cpp:
13343 * plugins/PluginView.cpp:
13344 * plugins/gtk/PluginViewGtk.cpp:
13345 * plugins/qt/PluginViewQt.cpp:
13346 * plugins/win/PluginViewWin.cpp:
13347
adele@apple.com66ae4f52008-10-29 00:20:48 +0000133482008-10-28 Adele Peterson <adele@apple.com>
13349
adele@apple.com39b601d2008-10-29 00:37:36 +000013350 Windows build fix. This removes Cairo include directories from non-Cairbo build configurations.
13351
13352 * WebCore.vcproj/WebCore.vcproj:
13353
133542008-10-28 Adele Peterson <adele@apple.com>
13355
13356 Windows build fix.
adele@apple.com66ae4f52008-10-29 00:20:48 +000013357
13358 * platform/graphics/ImageBuffer.h:
13359 (WebCore::ImageBuffer::create):
13360
cwzwarich@webkit.orgcf5b4bf2008-10-29 00:12:35 +0000133612008-10-28 Cameron Zwarich <zwarich@apple.com>
13362
13363 Not reviewed.
13364
13365 Roll out a mistaken attempt at fixing the GTK build in r37947.
13366
13367 * GNUmakefile.am:
13368
adele@apple.comdfda2f42008-10-28 23:36:33 +0000133692008-10-28 Adele Peterson <adele@apple.com>
13370
13371 Reviewed by John Sullivan.
13372
13373 Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
13374 "files" string for multifile uploads needs to be localized
13375
13376 * page/mac/WebCoreViewFactory.h:
13377 * platform/LocalizedStrings.h:
13378 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
13379 * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
13380 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
13381 * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
13382 * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
13383 * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
13384
brettw@chromium.org6eee5b02008-10-28 23:10:42 +0000133852008-10-28 Brett Wilson <brettw@chromium.org>
13386
13387 Reviewed by Darin Adler.
13388
13389 https://bugs.webkit.org/show_bug.cgi?id=21816
13390
13391 Remove platform ifdefs in ImageBuffer.h by moving platform specific code
13392 into a new PlatformImageBuffer class. Move the static create function
13393 into the header because it can be cross-platform. Initialization now
13394 happens in the cunstructor which sets a flag that create uses to know
13395 whether it should return null or not. I also made passing of IntSize
13396 more consistent (always by reference).
13397
13398 This change also changes the ifdefs in GraphicsContext to allow Skia
13399 ports to implement text drawing modes.
13400
13401 * platform/graphics/ImageBuffer.h:
13402 (WebCore::ImageBuffer::create):
13403 (WebCore::ImageBuffer::size):
13404 * platform/graphics/cairo/ImageBufferCairo.cpp:
13405 (WebCore::ImageBufferData::ImageBufferData):
13406 (WebCore::ImageBuffer::ImageBuffer):
13407 (WebCore::ImageBuffer::~ImageBuffer):
13408 (WebCore::ImageBuffer::image):
13409 (WebCore::ImageBuffer::getImageData):
13410 (WebCore::ImageBuffer::putImageData):
13411 * platform/graphics/cairo/ImageBufferData.h:
13412 * platform/graphics/cg/ImageBufferCG.cpp:
13413 (WebCore::ImageBufferData::ImageBufferData):
13414 (WebCore::ImageBuffer::ImageBuffer):
13415 (WebCore::ImageBuffer::~ImageBuffer):
13416 (WebCore::ImageBuffer::getImageData):
13417 (WebCore::ImageBuffer::putImageData):
13418 * platform/graphics/cg/ImageBufferData.h:
13419 * platform/graphics/qt/ImageBufferData.h:
13420 * platform/graphics/qt/ImageBufferQt.cpp:
13421 (WebCore::ImageBufferData::ImageBufferData):
13422 (WebCore::ImageBuffer::ImageBuffer):
13423 (WebCore::ImageBuffer::~ImageBuffer):
13424
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +0000134252008-10-28 Cameron Zwarich <zwarich@apple.com>
13426
13427 Not reviewed.
13428
cwzwarich@webkit.org38fa5d22008-10-28 22:22:30 +000013429 Fix the GTK build.
13430
13431 * GNUmakefile.am:
13432
134332008-10-28 Cameron Zwarich <zwarich@apple.com>
13434
13435 Not reviewed.
13436
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +000013437 Another Qt build fix.
13438
13439 * WebCore.pro:
13440
ddkilzer@apple.com983f9392008-10-28 21:01:40 +0000134412008-10-28 Greg Bolsinga <bolsinga@apple.com>
13442
13443 Reviewed by David Kilzer.
13444
ddkilzer@apple.com0f55da32008-10-28 21:42:26 +000013445 https://bugs.webkit.org/show_bug.cgi?id=21932
13446 Add non-pointer constant lookups to SoftLinking.h
13447
13448 * platform/mac/SoftLinking.h:
13449
134502008-10-28 Greg Bolsinga <bolsinga@apple.com>
13451
13452 Reviewed by David Kilzer.
13453
ddkilzer@apple.com983f9392008-10-28 21:01:40 +000013454 https://bugs.webkit.org/show_bug.cgi?id=2192
13455 Missing semi-colons in Geoposition.idl
13456
13457 * page/Geoposition.idl: Add missing semi-colons
13458
timothy@apple.comecd08c12008-10-28 20:41:59 +0000134592008-10-28 Timothy Hatcher <timothy@apple.com>
13460
timothy@apple.com7dec1b92008-10-28 20:42:34 +000013461 Make the Profiles panel in the Web Inspector have an enable screen.
13462 Profiling now needs to be enabled before console.profile() works.
13463
13464 <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
13465 not slow down JavaScript all the time
13466
13467 Reviewed by Darin Adler and Kevin McCullough.
13468
13469 * English.lproj/localizedStrings.js: New strings.
13470 * WebCore.base.exp: New and changed exports.
13471 * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
13472 * bindings/js/JSDOMWindowBase.cpp:
13473 (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
13474 * inspector/InspectorController.cpp:
13475 (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
13476 Timer to call InspectorController::startUserInitiatedProfiling.
13477 (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
13478 that calls InspectorController::startUserInitiatedProfiling.
13479 (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
13480 and enable the profiler if the profiler was not enabled.
13481 (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
13482 (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
13483 if the skipRecompile argument is false. Call the profilerWasEnabled script function.
13484 (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
13485 Call the profilerWasEnabled script function.
13486 (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
13487 so it won't be started later.
13488 * inspector/InspectorController.h:
13489 (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
13490 * inspector/front-end/Images/debuggingButtons.png: Remove.
13491 * inspector/front-end/Images/enableButtons.png: Added.
13492 * inspector/front-end/Images/profilesSilhouette.png: Added.
13493 * inspector/front-end/Images/scriptsSilhouette.png: Added.
13494 * inspector/front-end/PanelEnablerView.js: Added.
13495 (WebInspector.PanelEnablerView):
13496 (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
13497 event so listeners can do their thing.
13498 (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
13499 * inspector/front-end/ProfilesPanel.js:
13500 (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
13501 (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
13502 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
13503 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
13504 (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
13505 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
13506 (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
13507 show/hide other buttons. Also show/hide the PanelEnablerView.
13508 (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
13509 (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
13510 disableProfiler or enableProfiler.
13511 * inspector/front-end/ScriptsPanel.js:
13512 (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
13513 debuggingButton with the enableToggleButton.
13514 (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
13515 the enableToggleButton.
13516 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
13517 when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
13518 with the enableToggleButton.
13519 (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
13520 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
13521 since reset is called from debuggerWasEnabled and debuggerWasDisabled.
13522 * inspector/front-end/View.js: Inherit from WebInspector.Object.
13523 * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
13524 * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
13525 * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
13526 * inspector/front-end/inspector.js:
13527 (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
13528 (WebInspector.profilerWasDisabled): Ditto.
13529 * page/Console.cpp:
13530 (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
13531 (WebCore::Console::info): Ditto.
13532 (WebCore::Console::log): Ditto.
13533 (WebCore::Console::assertCondition): Ditto.
13534 (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
13535 (WebCore::Console::count): Ditto.
13536 (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
13537 (WebCore::Console::profileEnd): Ditto.
13538 (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
13539 * page/Settings.cpp:
13540 (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
13541 (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
13542 Now just sets the member boolean.
13543 * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
13544
135452008-10-28 Timothy Hatcher <timothy@apple.com>
13546
timothy@apple.com0a8972d2008-10-28 20:42:11 +000013547 Rename a few methods related to attaching and detaching the debugger. Also
13548 adds stub methods for enabling and disabling the profiler.
13549
13550 * Rename attachDebugger to enableDebugger.
13551 * Rename detachDebugger to disableDebugger.
13552 * Rename the debuggerAttached getter to debuggerEnabled.
13553 * Rename the debuggerAttached callback to debuggerWasEnabled.
13554 * Rename the debuggerDetached callback to debuggerWasDisabled.
13555
13556 Reviewed by Darin Adler.
13557
13558 * WebCore.base.exp:
13559 * inspector/InspectorController.cpp:
13560 (WebCore::InspectorController::InspectorController):
13561 (WebCore::InspectorController::setWindowVisible):
13562 (WebCore::InspectorController::windowScriptObjectAvailable):
13563 (WebCore::InspectorController::close):
13564 (WebCore::InspectorController::enableProfiler):
13565 (WebCore::InspectorController::disableProfiler):
13566 (WebCore::InspectorController::enableDebugger):
13567 (WebCore::InspectorController::disableDebugger):
13568 (WebCore::InspectorController::pauseInDebugger):
13569 (WebCore::InspectorController::resumeDebugger):
13570 (WebCore::InspectorController::stepOverStatementInDebugger):
13571 (WebCore::InspectorController::stepIntoStatementInDebugger):
13572 (WebCore::InspectorController::stepOutOfFunctionInDebugger):
13573 * inspector/InspectorController.h:
13574 (WebCore::InspectorController::profilerEnabled):
13575 (WebCore::InspectorController::debuggerEnabled):
13576 * inspector/front-end/BreakpointsSidebarPane.js:
13577 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
13578 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
13579 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
13580 * inspector/front-end/Object.js:
13581 * inspector/front-end/ProfilesPanel.js:
13582 (WebInspector.ProfilesPanel):
13583 * inspector/front-end/ScriptsPanel.js:
13584 (WebInspector.ScriptsPanel):
13585 (WebInspector.ScriptsPanel.prototype.get statusBarItems):
13586 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
13587 (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
13588 (WebInspector.ScriptsPanel.prototype.reset):
13589 (WebInspector.ScriptsPanel.prototype.canShowResource):
13590 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
13591 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
13592 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
13593 * inspector/front-end/View.js:
13594 * inspector/front-end/inspector.css:
13595 * inspector/front-end/inspector.html:
13596 * inspector/front-end/inspector.js:
13597 (WebInspector.addResource):
13598 (WebInspector.debuggerWasEnabled):
13599 (WebInspector.debuggerWasDisabled):
13600
136012008-10-28 Timothy Hatcher <timothy@apple.com>
13602
timothy@apple.comecd08c12008-10-28 20:41:59 +000013603 Fix an exception when searching the Resources panel while there
13604 and resources queued to be added to the list.
13605
13606 Reviewed by Kevin McCullough.
13607
13608 * inspector/front-end/ResourcesPanel.js:
13609 (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
13610 the _resourcesTreeElement property.
13611 (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
13612
alp@webkit.orgd5cc6262008-10-28 16:18:00 +0000136132008-10-28 Alp Toker <alp@nuanti.com>
13614
13615 GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
13616 isn't defined.
13617
13618 * platform/graphics/gtk/FontGtk.cpp:
13619 (WebCore::getDefaultPangoLayout):
13620 * platform/graphics/gtk/FontPlatformDataPango.cpp:
13621
ap@webkit.orgbed87e92008-10-28 13:42:34 +0000136222008-10-28 Alexey Proskuryakov <ap@webkit.org>
13623
13624 Reviewed by Darin Adler.
13625
13626 https://bugs.webkit.org/show_bug.cgi?id=21893
13627 Character set is incorrect for external scripts in XHTML pages
13628
13629 <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
13630
13631 Test: fast/encoding/external-script-charset.xhtml
13632
13633 Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
13634
13635 * dom/ScriptElement.h:
13636 * dom/XMLTokenizerLibxml2.cpp:
13637 (WebCore::XMLTokenizer::endElementNs):
13638 * dom/XMLTokenizerQt.cpp:
13639 (WebCore::XMLTokenizer::parseEndElement):
13640 * html/HTMLScriptElement.h:
13641 * svg/SVGScriptElement.cpp:
13642 (WebCore::SVGScriptElement::scriptCharset):
13643 * svg/SVGScriptElement.h:
13644
alp@webkit.org2ab36952008-10-28 12:53:51 +0000136452008-10-28 Alp Toker <alp@nuanti.com>
13646
13647 Include copyright license files in the autotools dist target and
13648 exclude unused zlib headers.
13649
13650 Change suggested by Mike Hommey.
13651
13652 * GNUmakefile.am:
13653
weinig@apple.com57022612008-10-28 05:24:13 +0000136542008-10-27 Sam Weinig <sam@webkit.org>
13655
13656 Reviewed by Maciej Stachowiak.
13657
13658 Clear the window shell when destroying a page to allow documents
13659 which have no way of being reached anymore, to be torn down.
13660
13661 * page/Frame.cpp:
13662 (WebCore::Frame::pageDestroyed):
13663
kevino@webkit.orgcdfc5ff2008-10-27 22:15:11 +0000136642008-10-27 Kevin Watters <kevinwatters@gmail.com>
13665
13666 Reviewed by Kevin Ollivier.
13667
13668 Update the active state as well as the focused state as both need to be true
13669 for the caret to be drawn.
13670
13671 https://bugs.webkit.org/show_bug.cgi?id=21900
13672
13673 * WebView.cpp:
13674 (wxWebView::OnSetFocus):
13675 (wxWebView::OnKillFocus):
13676
kevino@webkit.orgc10dd0c2008-10-27 22:07:30 +0000136772008-10-27 Kevin Ollivier <kevino@theolliviers.com>
13678
13679 wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
13680
13681 * webcore-wx.bkl:
13682
darin@apple.com3ab3cf62008-10-27 21:20:13 +0000136832008-10-27 Michael Knaup <michael.knaup@mac.com>
13684
13685 Reviewed and tweaked by Darin Adler.
13686
13687 - https://bugs.webkit.org/show_bug.cgi?id=8988
13688
13689 Bug 8988: Add support for Mozilla CSS custom cursors.
13690 Added -webkit-grab and -webkit-grabbing cursor suppport
13691 for the Mac, dummy implementations for other platforms.
13692
13693 * css/CSSParser.cpp:
13694 (WebCore::CSSParser::parseValue): Updated since the
13695 -webkit-grabbing cursor is now the last one.
13696
13697 * css/CSSPrimitiveValueMappings.h:
13698 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
13699 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
13700
13701 * css/CSSValueKeywords.in: Added -webkit-grab and
13702 -webkit-grabbing.
13703
13704 * manual-tests/cursor.html: Added -webkit-zoom-in,
13705 webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
13706
13707 * page/EventHandler.cpp:
13708 (WebCore::EventHandler::selectCursor): Added
13709 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
13710
13711 * platform/Cursor.h: Added grabCursor and grabbingCursor.
13712
13713 * platform/gtk/CursorGtk.cpp:
13714 (WebCore::grabCursor): Added.
13715 (WebCore::grabbingCursor): Added.
13716 * platform/mac/CursorMac.mm:
13717 (WebCore::grabCursor): Added.
13718 (WebCore::grabbingCursor): Added.
13719 * platform/qt/CursorQt.cpp:
13720 (WebCore::grabCursor): Added.
13721 (WebCore::grabbingCursor): Added.
13722 * platform/win/CursorWin.cpp:
13723 (WebCore::grabCursor): Added.
13724 (WebCore::grabbingCursor): Added.
13725 * platform/wx/CursorWx.cpp:
13726 (WebCore::grabCursor): Added.
13727 (WebCore::grabbingCursor): Added.
13728
13729 * rendering/style/RenderStyleConstants.h:
13730 Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
13731 Also broke ECursor out into a single constant per line.
13732 Also added a couple of comments.
13733
eric@webkit.orgb1115002008-10-27 20:07:49 +0000137342008-10-27 Dimitri Glazkov <dglazkov@chromium.org>
13735
13736 Reviewed by Darin Adler.
13737
13738 * svg/SVGAnimatedTemplate.h: needed a HashMap define
13739
eric@webkit.orgb2e05732008-10-27 19:49:58 +0000137402008-10-21 Eric Seidel <eric@webkit.org>
13741
13742 Reviewed by Dave Hyatt.
13743
13744 Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
13745 https://bugs.webkit.org/show_bug.cgi?id=20400
13746
13747 Test: svg/custom/stop-crash.svg
13748
13749 * WebCore.xcodeproj/project.pbxproj:
13750 * rendering/RenderSVGGradientStop.h:
13751 (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
13752
andersca@apple.com0021f002008-10-27 18:52:49 +0000137532008-10-27 Anders Carlsson <andersca@apple.com>
13754
andersca@apple.comd693d602008-10-27 18:55:12 +000013755 Reviewed by Sam Weinig.
13756
13757 No need to call release if the connection is null.
13758
13759 * platform/network/mac/ResourceHandleMac.mm:
13760 (WebCore::ResourceHandle::start):
13761
137622008-10-27 Anders Carlsson <andersca@apple.com>
13763
andersca@apple.com0021f002008-10-27 18:52:49 +000013764 Reviewed by Kevin Decker.
13765
13766 <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
13767
13768 Make sure to null check the NSURLConnection object.
13769
13770 * platform/network/mac/ResourceHandleMac.mm:
13771 (WebCore::ResourceHandle::start):
13772 (WebCore::ResourceHandle::setDefersLoading):
13773
ap@webkit.org6bc2b852008-10-27 08:53:48 +0000137742008-10-27 Alexey Proskuryakov <ap@webkit.org>
13775
13776 Fix non-Mac builds.
13777
13778 * GNUmakefile.am:
13779 * WebCore.pro:
13780 * WebCore.vcproj/WebCore.vcproj:
13781 * WebCoreSources.bkl:
13782 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
13783
ap@webkit.orgb133b5c2008-10-27 07:59:16 +0000137842008-10-26 Alexey Proskuryakov <ap@webkit.org>
13785
13786 Reviewed by Sam Weinig.
13787
13788 https://bugs.webkit.org/show_bug.cgi?id=21886
13789 window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
13790
13791 Test: fast/dom/HTMLOptionElement/option-prototype.html
13792
13793 We now have separate objects for window.Option and window.HTMLOptionElement - the latter
13794 "constructor" cannot be used to construct anything. This matches Firefox behavior.
13795
13796 * WebCore.xcodeproj/project.pbxproj:
13797 * bindings/js/JSDOMWindowBase.cpp:
13798 (jsDOMWindowBaseOption):
13799 * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
13800 * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
13801 * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
13802 * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
13803 * html/HTMLOptionElement.idl:
13804 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
13805
13806 * html/HTMLOptionElement.idl: Generate a constructor.
13807
ggaren@apple.combdfb2b52008-10-25 20:03:06 +0000138082008-10-25 Geoffrey Garen <ggaren@apple.com>
13809
13810 Not reviewed.
13811
13812 Try to fix Mac debug build on the buildbot.
13813
13814 * platform/FileChooser.cpp:
13815 (WebCore::FileChooserClient::~FileChooserClient):
13816 * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
13817 weak exported symbol.
13818
vestbo@webkit.org4e516942008-10-25 15:22:24 +0000138192008-10-25 Jade Han <jade.han@nokia.com>
13820
13821 Reviewed by Anders.
13822
13823 Enable custom properties for Qt runtime objects in QtWebKit
13824
13825 https://bugs.webkit.org/show_bug.cgi?id=21813
13826
13827 * bridge/runtime_object.cpp:
13828 (JSC::RuntimeObjectImp::getOwnPropertySlot):
13829 (JSC::RuntimeObjectImp::put):
13830
weinig@apple.comd75fed72008-10-25 06:02:05 +0000138312008-10-24 Sam Weinig <sam@webkit.org>
13832
weinig@apple.com6c48aa12008-10-25 06:36:21 +000013833 Fix windows build.
13834
13835 * page/Chrome.cpp:
13836 * page/Chrome.h:
13837
138382008-10-24 Sam Weinig <sam@webkit.org>
13839
weinig@apple.com32ded9f2008-10-25 06:29:06 +000013840 Fix Qt build.
13841
13842 * platform/qt/FileChooserQt.cpp:
13843
138442008-10-24 Sam Weinig <sam@webkit.org>
13845
weinig@apple.comd75fed72008-10-25 06:02:05 +000013846 Reviewed by Dan Bernstein.
13847
13848 Fix https://bugs.webkit.org/show_bug.cgi?id=21759
13849 Layering violation: FileChooser should not depend on Document/Frame/Page
13850
13851 Move file choosing into WebKit ChromeClient.
13852
13853 * loader/EmptyClients.h:
13854 (WebCore::EmptyChromeClient::runOpenPanel):
13855 * page/Chrome.cpp:
13856 (WebCore::Chrome::runOpenPanel):
13857 * page/Chrome.h:
13858 * page/ChromeClient.h:
13859 * page/mac/ChromeMac.mm:
13860 * platform/FileChooser.h:
13861 * platform/mac/FileChooserMac.mm:
13862 * platform/qt/FileChooserQt.cpp:
13863 * platform/win/FileChooserWin.cpp:
13864 * platform/wx/TemporaryLinkStubs.cpp:
13865 * rendering/RenderFileUploadControl.cpp:
13866 (WebCore::RenderFileUploadControl::click):
13867
kevino@webkit.org4629ecf2008-10-25 01:34:12 +0000138682008-10-24 Kevin Ollivier <kevino@theolliviers.com>
13869
13870 wx build fix - add newIconForFiles stub.
13871
13872 * platform/wx/TemporaryLinkStubs.cpp:
13873 (Icon::newIconForFiles):
13874
kevino@webkit.org64c5aeb2008-10-25 01:15:05 +0000138752008-10-24 Kevin Watters <kevinwatters@gmail.com>
13876
13877 Reviewed by Kevin Ollivier.
13878
13879 Use the CGFont metrics APIs for more accurate measurements, and tweak the y
13880 value the text is drawn at (it was a couple pixels off before because wx
13881 internally adds to the y value.
13882
13883 https://bugs.webkit.org/show_bug.cgi?id=21853
13884
13885 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
13886 (wxFontProperties::wxFontProperties):
13887 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
13888 (WebCore::drawTextWithSpacing):
13889
eric@webkit.orgeb5cef42008-10-24 23:46:30 +0000138902008-10-24 Eric Seidel <eric@webkit.org>
13891
13892 Reviewed by Sam Weinig.
13893
13894 Generate missing constructors and add test to prevent missing ones in the future
13895 https://bugs.webkit.org/show_bug.cgi?id=21846
13896
13897 Test: fast/js/global-constructors.html
13898
13899 * css/CSSStyleSheet.idl:
13900 * css/RGBColor.idl:
13901 * dom/NodeIterator.idl:
13902 * dom/TreeWalker.idl:
13903 * xml/XPathExpression.idl:
13904
ap@webkit.org1ae2de22008-10-24 23:39:17 +0000139052008-10-24 Alexey Proskuryakov <ap@webkit.org>
13906
13907 Reviewed by Darin Adler.
13908
13909 https://bugs.webkit.org/show_bug.cgi?id=21836
13910 REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
13911
13912 Test: http/tests/xmlhttprequest/detaching-frame.html
13913
13914 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
13915 even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
13916 when dispatching the same callback that results in this function being called.
13917
ddkilzer@apple.come2f6f5c2008-10-24 23:04:55 +0000139182008-10-24 David Kilzer <ddkilzer@apple.com>
13919
13920 Gtk build fix.
13921
13922 * platform/gtk/TemporaryLinkStubs.cpp:
13923 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
13924
mrowe@apple.com60f38472008-10-24 22:20:10 +0000139252008-10-24 Mark Rowe <mrowe@apple.com>
13926
13927 Reviewed by Sam Weinig.
13928
13929 <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
13930
13931 * platform/graphics/cg/GraphicsContextCG.cpp:
13932 (WebCore::GraphicsContext::setImageInterpolationQuality):
13933 (WebCore::GraphicsContext::imageInterpolationQuality):
13934
andersca@apple.com4348c6a2008-10-24 22:16:18 +0000139352008-10-24 Anders Carlsson <andersca@apple.com>
13936
13937 Reviewed by Sam Weinig.
13938
13939 <rdar://problem/5440917> Support NPN_Construct
13940
13941 * WebCore.NPAPI.exp:
13942 Export _NPN_Construct.
13943
13944 * bridge/NP_jsobject.cpp:
13945 (_NPN_Construct):
13946 Implement this.
13947
13948 * bridge/c/c_instance.cpp:
13949 (JSC::Bindings::CInstance::supportsConstruct):
13950 (JSC::Bindings::CInstance::invokeConstruct):
13951 Have this call the appropriate NPClass method.
13952
13953 * bridge/npruntime.h:
13954 Add NPN_Construct.
13955
13956 * bridge/npruntime_impl.h:
13957 Add _NPN_Construct.
13958
13959 * bridge/runtime.h:
13960 (JSC::Bindings::Instance::supportsConstruct):
13961 (JSC::Bindings::Instance::invokeConstruct):
13962 New methods.
13963
13964 * bridge/runtime_object.cpp:
13965 (JSC::callRuntimeConstructor):
13966 Call the native instance.
13967
13968 (JSC::RuntimeObjectImp::getConstructData):
13969 Implement this.
13970
13971 * bridge/runtime_object.h:
13972 Add new method declarations.
13973
13974 * plugins/gtk/PluginPackageGtk.cpp:
13975 (WebCore::PluginPackage::load):
13976 * plugins/qt/PluginPackageQt.cpp:
13977 (WebCore::PluginPackage::load):
13978 * plugins/win/PluginPackageWin.cpp:
13979 (WebCore::PluginPackage::load):
13980 Initialize m_pluginFuncs.construct.
13981
adele@apple.com8d6189b2008-10-24 22:09:35 +0000139822008-10-24 Adele Peterson <adele@apple.com>
13983
13984 Build fix.
13985
13986 * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
13987 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
13988
ddkilzer@apple.combff12fe2008-10-24 21:51:58 +0000139892008-10-24 Greg Bolsinga <bolsinga@apple.com>
13990
13991 Fix GTK build break.
13992
13993 Reviewed by David Kilzer.
13994
13995 * GNUmakefile.am: Do not include .idl files whose generated files should not be
13996 compiled.
13997
ddkilzer@apple.comec6a0d12008-10-24 21:46:12 +0000139982008-10-24 David Kilzer <ddkilzer@apple.com>
13999
14000 Wx build fix.
14001
14002 * platform/wx/TemporaryLinkStubs.cpp:
14003 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
14004
adele@apple.com497541b2008-10-24 21:12:45 +0000140052008-10-24 Adele Peterson <adele@apple.com>
14006
14007 Reviewed by Sam Weinig.
14008
14009 WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
14010
14011 This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
14012 This is consistent with the direction HTML5 will be going in the future.
14013
14014 The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view
14015 the individual files in a tooltip for now. Improvements to this control will come later.
14016
14017 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.
14018 These FileList Files can also be sent in an XMLHTTPRequest.
14019
14020 * manual-tests/post-multi-file-upload.html: Added.
14021 * manual-tests/resources/multiFileResources: Added.
14022 * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
14023 * manual-tests/resources/multiFileResources/testFile1.html: Added.
14024 * manual-tests/resources/multiFileResources/testFile2.html: Added.
14025 * manual-tests/resources/multiFileResources/testFile3.html: Added.
14026
14027 * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
14028
14029 * html/HTMLInputElement.cpp:
14030 (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
14031 (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control,
14032 but we don't want to break the behavior for existing websites that may rely on this.
14033 (WebCore::HTMLInputElement::setValue): ditto.
14034 (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
14035 (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
14036 * html/HTMLInputElement.h:
14037
14038 * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
14039
14040 * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
14041
14042 * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
14043 (WebCore::FileChooser::FileChooser):
14044 (WebCore::FileChooser::create):
14045 (WebCore::FileChooser::clear):
14046 (WebCore::FileChooser::chooseFile):
14047 (WebCore::FileChooser::chooseFiles):
14048 (WebCore::FileChooser::chooseIcon):
14049 * platform/FileChooser.h:
14050 (WebCore::FileChooser::filePaths):
14051 (WebCore::FileChooser::allowsMultipleFiles):
14052
14053 * platform/graphics/Icon.h:
14054 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
14055 * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
14056 * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
14057 * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
14058
14059 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector.
14060 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
14061 * platform/qt/FileChooserQt.cpp:
14062 (WebCore::FileChooser::openFileChooser):
14063 (WebCore::FileChooser::basenameForWidth):
14064 * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
14065
14066 * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
14067 Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel
14068 both get called for the same ResourceHandle. This getting called twice has no negative effect.
14069
14070 * rendering/RenderFileUploadControl.cpp:
14071 (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer.
14072 (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added.
14073 (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser.
14074 (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files.
14075 * rendering/RenderFileUploadControl.h:
14076
pkasting@chromium.orga8304c02008-10-24 20:43:02 +0000140772008-10-23 Peter Kasting <pkasting@google.com>
14078
14079 Reviewed by David Hyatt.
14080
14081 https://bugs.webkit.org/show_bug.cgi?id=21844
14082 Remove setFocusRingColorChangeFunction.
14083
14084 * page/Page.cpp:
14085 (WebCore::Page::Page):
14086 * platform/graphics/Color.h:
14087 * platform/graphics/mac/ColorMac.mm:
14088 (WebCore::focusRingColor):
14089 * platform/graphics/qt/GraphicsContextQt.cpp:
14090 * platform/graphics/win/ColorSafari.cpp:
14091
ddkilzer@apple.com853ea9f2008-10-24 20:32:46 +0000140922008-10-24 David Kilzer <ddkilzer@apple.com>
14093
14094 Build fix for Qt.
14095
14096 Reviewed by Greg.
14097
14098 * WebCore.pro: Added missing *.idl files.
14099
ddkilzer@apple.comf930faf2008-10-24 20:10:40 +0000141002008-10-24 Greg Bolsinga <bolsinga@apple.com>
14101
14102 Reviewed by Sam Weinig.
14103
14104 https://bugs.webkit.org/show_bug.cgi?id=21475
14105
14106 Provide support for the Geolocation API
14107
14108 http://dev.w3.org/geo/api/spec-source.html
14109
14110 Test: geolocation/geolocation-not-implemented.html
14111
14112 * DerivedSources.make:
14113 * GNUmakefile.am: Added Geolocation support
14114 * WebCore.pro: Added Geolocation support
14115 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
14116 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
14117 * WebCoreSources.bkl: Added Geolocation support
14118 * bindings/js/JSCustomPositionCallback.cpp: Added.
14119 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
14120 (WebCore::JSCustomPositionCallback::handleEvent):
14121 * bindings/js/JSCustomPositionCallback.h: Added.
14122 (WebCore::JSCustomPositionCallback::create):
14123 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
14124 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
14125 (WebCore::JSCustomPositionErrorCallback::handleEvent):
14126 * bindings/js/JSCustomPositionErrorCallback.h: Added.
14127 (WebCore::JSCustomPositionErrorCallback::create):
14128 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
14129 (WebCore::markDOMObjectWrapper):
14130 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
14131 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
14132 * bindings/js/JSGeolocationCustom.cpp: Added.
14133 (WebCore::JSGeolocation::getCurrentPosition):
14134 (WebCore::JSGeolocation::watchPosition):
14135 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
14136 (WebCore::JSNavigator::mark):
14137 * dom/Document.cpp:
14138 (WebCore::Document::Document):
14139 * dom/Document.h:
14140 (WebCore::Document::setUsingGeolocation):
14141 (WebCore::Document::usingGeolocation):
14142 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
14143 (WebCore::FrameLoader::canCachePage):
14144 * page/Geolocation.cpp: Added.
14145 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
14146 (WebCore::Geolocation::GeoNotifier::timerFired):
14147 (WebCore::Geolocation::Geolocation):
14148 (WebCore::Geolocation::disconnectFrame):
14149 (WebCore::Geolocation::getCurrentPosition):
14150 (WebCore::Geolocation::watchPosition):
14151 (WebCore::Geolocation::clearWatch):
14152 (WebCore::Geolocation::stopUpdatingIfEmpty):
14153 (WebCore::Geolocation::sendErrorToOneShots):
14154 (WebCore::Geolocation::sendErrorToWatchers):
14155 (WebCore::Geolocation::sendPositionToOneShots):
14156 (WebCore::Geolocation::sendPositionToWatchers):
14157 (WebCore::Geolocation::handleError):
14158 (WebCore::Geolocation::geolocationServicePositionChanged):
14159 (WebCore::Geolocation::geolocationServiceErrorOccurred):
14160 * page/Geolocation.h: Added.
14161 (WebCore::Geolocation::create):
14162 (WebCore::Geolocation::~Geolocation):
14163 (WebCore::Geolocation::lastPosition):
14164 (WebCore::Geolocation::GeoNotifier::create):
14165 * page/Geolocation.idl: Added.
14166 * page/Geoposition.cpp: Added.
14167 (WebCore::Geoposition::toString):
14168 * page/Geoposition.h: Added.
14169 (WebCore::Geoposition::create):
14170 (WebCore::Geoposition::latitude):
14171 (WebCore::Geoposition::longitude):
14172 (WebCore::Geoposition::altitude):
14173 (WebCore::Geoposition::accuracy):
14174 (WebCore::Geoposition::altitudeAccuracy):
14175 (WebCore::Geoposition::heading):
14176 (WebCore::Geoposition::velocity):
14177 (WebCore::Geoposition::timestamp):
14178 (WebCore::Geoposition::Geoposition):
14179 * page/Geoposition.idl: Added.
14180 * page/Navigator.cpp:
14181 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
14182 (WebCore::Navigator::geolocation): accessor for Geolocation
14183 * page/Navigator.h:
14184 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
14185 * page/Navigator.idl: accessor for Geolocation
14186 * page/PositionCallback.h: Added.
14187 (WebCore::PositionCallback::~PositionCallback):
14188 * page/PositionCallback.idl: Added.
14189 * page/PositionError.h: Added.
14190 (WebCore::PositionError::):
14191 (WebCore::PositionError::create):
14192 (WebCore::PositionError::code):
14193 (WebCore::PositionError::message):
14194 (WebCore::PositionError::PositionError):
14195 * page/PositionError.idl: Added.
14196 * page/PositionErrorCallback.h: Added.
14197 (WebCore::PositionErrorCallback::~PositionErrorCallback):
14198 * page/PositionErrorCallback.idl: Added.
14199 * page/PositionOptions.h: Added.
14200 (WebCore::PositionOptions::create):
14201 (WebCore::PositionOptions::enableHighAccuracy):
14202 (WebCore::PositionOptions::setEnableHighAccuracy):
14203 (WebCore::PositionOptions::timeout):
14204 (WebCore::PositionOptions::setTimeout):
14205 (WebCore::PositionOptions::PositionOptions):
14206 * page/PositionOptions.idl: Added.
14207 * platform/GeolocationService.cpp: Added.
14208 (WebCore::GeolocationService::GeolocationService):
14209 (WebCore::GeolocationService::positionChanged):
14210 (WebCore::GeolocationService::errorOccurred):
14211 * platform/GeolocationService.h: Added.
14212 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
14213 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
14214 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
14215 (WebCore::GeolocationService::~GeolocationService):
14216
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +0000142172008-10-24 Simon Fraser <simon.fraser@apple.com>
14218
simon.fraser@apple.com912ac412008-10-24 19:32:51 +000014219 Reviewed by Darin Adler
14220
14221 https://bugs.webkit.org/show_bug.cgi?id=21818
14222
14223 Add HashTraits for AtomicString so that AtomicString can be used as
14224 the key for a HashMap or HashSet.
14225
14226 * GNUmakefile.am: add AtomicStringHash.h
14227 * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
14228 * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
14229 * platform/text/AtomicString.h:
14230 (WebCore::AtomicString::AtomicString):
14231 (WebCore::AtomicString::isHashTableDeletedValue):
14232 specialize DefaultHash for AtomicString to use AtomicStringHash
14233 * platform/text/AtomicStringHash.h: Added.
14234 * platform/text/StringImpl.cpp:
14235 (WebCore::StringImpl::StringImpl):
14236 compute the hash up-front for the empty string
14237 * platform/text/StringImpl.h:
14238 (WebCore::StringImpl::existingHash):
14239 method to get the hash without a test and branch, for callers like
14240 AtomicStringHash who can guarantee that the hash has already been computed.
14241
142422008-10-24 Simon Fraser <simon.fraser@apple.com>
14243
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +000014244 Reviewed by Sam Weinig
14245
14246 https://bugs.webkit.org/show_bug.cgi?id=21857
14247
14248 Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
14249 switch in _wrapCSSRule.
14250
14251 * bindings/objc/DOMCSS.mm:
14252 (+[DOMCSSRule _wrapCSSRule:WebCore::]):
14253
aroben@apple.comb3ba69262008-10-24 19:14:17 +0000142542008-10-24 Adam Roben <aroben@apple.com>
14255
14256 Windows build fix
14257
14258 * plugins/PluginView.cpp:
14259
mitz@apple.com258a2a32008-10-24 19:10:51 +0000142602008-10-24 Dan Bernstein <mitz@apple.com>
14261
14262 Reviewed by Sam Weinig.
14263
14264 - fix https://bugs.webkit.org/show_bug.cgi?id=21851
14265 <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
14266
14267 Test: fast/replaced/percent-height-in-anonymous-block-widget.html
14268
14269 * rendering/RenderWidget.cpp:
14270 (WebCore::RenderWidget::destroy): Copied code added to
14271 RenderBox::destroy() in r36513 into this function.
14272
timothy@apple.comf4540012008-10-24 18:49:39 +0000142732008-10-24 Timothy Hatcher <timothy@apple.com>
14274
14275 Add a mechanism to ask the InspectorClient for key/value setting pairs.
14276 These settings can be strings, numbers, booleans or string vectors. The
14277 settings are also bridged to and from JavaScript.
14278
14279 https://bugs.webkit.org/show_bug.cgi?id=21856
14280
14281 Reviewed by Darin Adler.
14282
14283 * WebCore.base.exp: Expose the String CFStringRef constructor.
14284 * inspector/InspectorClient.h:
14285 (WebCore::InspectorClient::populateSetting): Added, pure virtual.
14286 (WebCore::InspectorClient::storeSetting): Ditto.
14287 (WebCore::InspectorClient::removeSetting): Ditto.
14288 * inspector/InspectorController.cpp:
14289 (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
14290 (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
14291 (WebCore::InspectorController::InspectorController): Increment a global static
14292 to track the number of live InspectorControllers.
14293 (WebCore::InspectorController::~InspectorController): Decrement the global static
14294 that tracks the number of live InspectorControllers. Delete the setting cache if there
14295 are no more live controllers.
14296 (WebCore::InspectorController::setting): Check the cache and return the setting from there,
14297 otherwise make a new Setting and ask the client to populate it.
14298 (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
14299 (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
14300 to the InspectorController script class.
14301 * inspector/InspectorController.h:
14302 (WebCore::InspectorController::Setting::Setting):
14303 (WebCore::InspectorController::Setting::operator=):
14304 (WebCore::InspectorController::Setting::type): Return m_type.
14305 (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
14306 (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
14307 Assert the type is correct.
14308 (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
14309 Assert the type is correct.
14310 (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
14311 Assert the type is correct.
14312 (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
14313 Assert the type is correct.
14314 (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
14315 field and the type.
14316 * loader/EmptyClients.h:
14317 (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
14318 (WebCore::EmptyInspectorClient::storeSetting): Ditto.
14319 (WebCore::EmptyInspectorClient::removeSetting): Ditto.
14320
cwzwarich@webkit.org22ade9b2008-10-24 18:10:17 +0000143212008-10-24 Cameron Zwarich <zwarich@apple.com>
14322
14323 Reviewed by Sam Weinig.
14324
14325 Remove some C-style casts.
14326
14327 * html/HTMLViewSourceDocument.cpp:
14328 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
14329
darin@apple.com44331f82008-10-24 16:22:51 +0000143302008-10-24 Darin Adler <darin@apple.com>
14331
14332 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
14333
14334 * bindings/js/JSAttrCustom.cpp:
14335 * bindings/js/JSCSSRuleCustom.cpp:
14336 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14337 * bindings/js/JSCSSValueCustom.cpp:
14338 * bindings/js/JSCanvasPixelArrayCustom.h:
14339 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
14340 * bindings/js/JSClipboardCustom.cpp:
14341 * bindings/js/JSConsoleCustom.cpp:
14342 * bindings/js/JSCustomSQLStatementCallback.cpp:
14343 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
14344 * bindings/js/JSCustomSQLTransactionCallback.cpp:
14345 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
14346 * bindings/js/JSCustomVoidCallback.cpp:
14347 * bindings/js/JSCustomVoidCallback.h:
14348 * bindings/js/JSCustomXPathNSResolver.cpp:
14349 * bindings/js/JSCustomXPathNSResolver.h:
14350 * bindings/js/JSDOMApplicationCacheCustom.cpp:
14351 * bindings/js/JSDOMBinding.cpp:
14352 * bindings/js/JSDOMBinding.h:
14353 * bindings/js/JSDOMWindowBase.cpp:
14354 * bindings/js/JSDOMWindowBase.h:
14355 * bindings/js/JSDOMWindowCustom.cpp:
14356 * bindings/js/JSDOMWindowCustom.h:
14357 * bindings/js/JSDOMWindowShell.cpp:
14358 * bindings/js/JSDOMWindowShell.h:
14359 * bindings/js/JSDatabaseCustom.cpp:
14360 * bindings/js/JSDedicatedWorkerCustom.cpp:
14361 * bindings/js/JSDocumentCustom.cpp:
14362 * bindings/js/JSElementCustom.cpp:
14363 * bindings/js/JSEventCustom.cpp:
14364 * bindings/js/JSEventListener.cpp:
14365 * bindings/js/JSEventTarget.cpp:
14366 * bindings/js/JSEventTarget.h:
14367 * bindings/js/JSEventTargetBase.h:
14368 * bindings/js/JSEventTargetNodeCustom.cpp:
14369 * bindings/js/JSHTMLAllCollection.h:
14370 * bindings/js/JSHTMLAppletElementCustom.cpp:
14371 * bindings/js/JSHTMLCollectionCustom.cpp:
14372 * bindings/js/JSHTMLDocumentCustom.cpp:
14373 * bindings/js/JSHTMLEmbedElementCustom.cpp:
14374 * bindings/js/JSHTMLFormElementCustom.cpp:
14375 * bindings/js/JSHTMLFrameElementCustom.cpp:
14376 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
14377 * bindings/js/JSHTMLIFrameElementCustom.cpp:
14378 * bindings/js/JSHTMLInputElementCustom.cpp:
14379 * bindings/js/JSHTMLObjectElementCustom.cpp:
14380 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
14381 * bindings/js/JSHTMLSelectElementCustom.cpp:
14382 * bindings/js/JSHTMLSelectElementCustom.h:
14383 * bindings/js/JSHistoryCustom.cpp:
14384 * bindings/js/JSImageDataCustom.cpp:
14385 * bindings/js/JSInspectedObjectWrapper.cpp:
14386 * bindings/js/JSInspectedObjectWrapper.h:
14387 * bindings/js/JSInspectorCallbackWrapper.cpp:
14388 * bindings/js/JSInspectorCallbackWrapper.h:
14389 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
14390 * bindings/js/JSLocationCustom.cpp:
14391 * bindings/js/JSMessagePortCustom.cpp:
14392 * bindings/js/JSMimeTypeArrayCustom.cpp:
14393 * bindings/js/JSNamedNodeMapCustom.cpp:
14394 * bindings/js/JSNamedNodesCollection.cpp:
14395 * bindings/js/JSNamedNodesCollection.h:
14396 * bindings/js/JSNavigatorCustom.cpp:
14397 * bindings/js/JSNodeCustom.cpp:
14398 * bindings/js/JSNodeFilterCondition.cpp:
14399 * bindings/js/JSNodeFilterCondition.h:
14400 * bindings/js/JSNodeFilterCustom.cpp:
14401 * bindings/js/JSNodeIteratorCustom.cpp:
14402 * bindings/js/JSNodeListCustom.cpp:
14403 * bindings/js/JSPluginArrayCustom.cpp:
14404 * bindings/js/JSPluginCustom.cpp:
14405 * bindings/js/JSPluginElementFunctions.cpp:
14406 * bindings/js/JSPluginElementFunctions.h:
14407 * bindings/js/JSQuarantinedObjectWrapper.cpp:
14408 * bindings/js/JSQuarantinedObjectWrapper.h:
14409 * bindings/js/JSRGBColor.cpp:
14410 * bindings/js/JSRGBColor.h:
14411 * bindings/js/JSSQLResultSetRowListCustom.cpp:
14412 * bindings/js/JSSQLTransactionCustom.cpp:
14413 * bindings/js/JSSVGElementInstanceCustom.cpp:
14414 * bindings/js/JSSVGLengthCustom.cpp:
14415 * bindings/js/JSSVGMatrixCustom.cpp:
14416 * bindings/js/JSSVGPathSegCustom.cpp:
14417 * bindings/js/JSSVGPathSegListCustom.cpp:
14418 * bindings/js/JSSVGPointListCustom.cpp:
14419 * bindings/js/JSSVGTransformListCustom.cpp:
14420 * bindings/js/JSStorageCustom.cpp:
14421 * bindings/js/JSStyleSheetCustom.cpp:
14422 * bindings/js/JSStyleSheetListCustom.cpp:
14423 * bindings/js/JSTextCustom.cpp:
14424 * bindings/js/JSTreeWalkerCustom.cpp:
14425 * bindings/js/JSXMLHttpRequestCustom.cpp:
14426 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
14427 * bindings/js/JSXSLTProcessorCustom.cpp:
14428 * bindings/js/ScheduledAction.cpp:
14429 * bindings/js/ScheduledAction.h:
14430 * bindings/js/ScriptController.cpp:
14431 * bindings/js/ScriptController.h:
14432 * bindings/objc/WebScriptObject.mm:
14433 * bindings/objc/WebScriptObjectPrivate.h:
14434 * bindings/scripts/CodeGeneratorJS.pm:
14435 * bridge/NP_jsobject.cpp:
14436 * bridge/c/c_instance.cpp:
14437 * bridge/c/c_instance.h:
14438 * bridge/c/c_runtime.cpp:
14439 * bridge/c/c_runtime.h:
14440 * bridge/c/c_utility.cpp:
14441 * bridge/c/c_utility.h:
14442 * bridge/jni/jni_instance.cpp:
14443 * bridge/jni/jni_instance.h:
14444 * bridge/jni/jni_jsobject.h:
14445 * bridge/jni/jni_jsobject.mm:
14446 * bridge/jni/jni_objc.mm:
14447 * bridge/jni/jni_runtime.cpp:
14448 * bridge/jni/jni_runtime.h:
14449 * bridge/jni/jni_utility.cpp:
14450 * bridge/jni/jni_utility.h:
14451 * bridge/objc/WebScriptObject.h:
14452 * bridge/objc/objc_class.h:
14453 * bridge/objc/objc_class.mm:
14454 * bridge/objc/objc_instance.h:
14455 * bridge/objc/objc_instance.mm:
14456 * bridge/objc/objc_runtime.h:
14457 * bridge/objc/objc_runtime.mm:
14458 * bridge/objc/objc_utility.h:
14459 * bridge/objc/objc_utility.mm:
14460 * bridge/qt/qt_class.cpp:
14461 * bridge/qt/qt_class.h:
14462 * bridge/qt/qt_instance.cpp:
14463 * bridge/qt/qt_instance.h:
14464 * bridge/qt/qt_runtime.cpp:
14465 * bridge/qt/qt_runtime.h:
14466 * bridge/runtime.cpp:
14467 * bridge/runtime.h:
14468 * bridge/runtime_array.cpp:
14469 * bridge/runtime_array.h:
14470 * bridge/runtime_method.cpp:
14471 * bridge/runtime_method.h:
14472 * bridge/runtime_object.cpp:
14473 * bridge/runtime_object.h:
14474 * bridge/testqtbindings.cpp:
14475 * inspector/JavaScriptCallFrame.cpp:
14476 * inspector/JavaScriptCallFrame.h:
14477 * inspector/JavaScriptProfile.cpp:
14478 * inspector/JavaScriptProfile.h:
14479 * inspector/JavaScriptProfileNode.cpp:
14480 * inspector/JavaScriptProfileNode.h:
14481 * loader/FrameLoader.cpp:
14482 * loader/FrameLoader.h:
14483 * page/Console.cpp:
14484 * page/Console.h:
14485 * plugins/MimeTypeArray.h:
14486 * plugins/Plugin.h:
14487 * plugins/PluginArray.h:
14488 * plugins/PluginView.cpp:
14489 * xml/XMLHttpRequest.cpp:
14490 Use JSValue* instead of JSValuePtr.
14491
hausmann@webkit.orgcffb4f42008-10-24 14:43:29 +0000144922008-10-24 Simon Hausmann <hausmann@webkit.org>
14493
14494 Fix the Qt build.
14495
14496 * bridge/qt/qt_instance.cpp:
14497 (JSC::Bindings::QtField::valueFromInstance):
14498
ddkilzer@apple.com4f3c9aa2008-10-24 07:39:15 +0000144992008-10-24 David Kilzer <ddkilzer@apple.com>
14500
14501 Rolled out r37840 and r37841.
14502
14503 * DerivedSources.make:
14504 * GNUmakefile.am:
14505 * WebCore.pro:
14506 * WebCore.vcproj/WebCore.vcproj:
14507 * WebCore.xcodeproj/project.pbxproj:
14508 * WebCoreSources.bkl:
14509 * bindings/js/JSCustomPositionCallback.cpp: Removed.
14510 * bindings/js/JSCustomPositionCallback.h: Removed.
14511 * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
14512 * bindings/js/JSCustomPositionErrorCallback.h: Removed.
14513 * bindings/js/JSDOMBinding.cpp:
14514 * bindings/js/JSDOMBinding.h:
14515 * bindings/js/JSDOMWindowCustom.cpp:
14516 (WebCore::markDOMObjectWrapper):
14517 * bindings/js/JSGeolocationCustom.cpp: Removed.
14518 * bindings/js/JSNavigatorCustom.cpp:
14519 * dom/Document.cpp:
14520 (WebCore::Document::Document):
14521 * dom/Document.h:
14522 * loader/FrameLoader.cpp:
14523 (WebCore::FrameLoader::canCachePage):
14524 * page/Geolocation.cpp: Removed.
14525 * page/Geolocation.h: Removed.
14526 * page/Geolocation.idl: Removed.
14527 * page/Geoposition.cpp: Removed.
14528 * page/Geoposition.h: Removed.
14529 * page/Geoposition.idl: Removed.
14530 * page/Navigator.cpp:
14531 (WebCore::Navigator::disconnectFrame):
14532 * page/Navigator.h:
14533 * page/Navigator.idl:
14534 * page/PositionCallback.h: Removed.
14535 * page/PositionCallback.idl: Removed.
14536 * page/PositionError.h: Removed.
14537 * page/PositionError.idl: Removed.
14538 * page/PositionErrorCallback.h: Removed.
14539 * page/PositionErrorCallback.idl: Removed.
14540 * page/PositionOptions.h: Removed.
14541 * page/PositionOptions.idl: Removed.
14542 * platform/GeolocationService.cpp: Removed.
14543 * platform/GeolocationService.h: Removed.
14544
ddkilzer@apple.com4a4be182008-10-24 05:39:28 +0000145452008-10-23 David Kilzer <ddkilzer@apple.com>
14546
14547 Attempt to fix GTK build.
14548
14549 * GNUmakefile.am: Added new *.idl files that were missing.
14550
ddkilzer@apple.comc9e37fd2008-10-24 05:05:47 +0000145512008-10-23 Greg Bolsinga <bolsinga@apple.com>
14552
14553 Reviewed by Sam Weinig.
14554
14555 https://bugs.webkit.org/show_bug.cgi?id=21475
14556
14557 Provide support for the Geolocation API
14558
14559 http://dev.w3.org/geo/api/spec-source.html
14560
14561 Test: geolocation/geolocation-not-implemented.html
14562
14563 * DerivedSources.make:
14564 * GNUmakefile.am: Added Geolocation support
14565 * WebCore.pro: Added Geolocation support
14566 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
14567 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
14568 * WebCoreSources.bkl: Added Geolocation support
14569 * bindings/js/JSCustomPositionCallback.cpp: Added.
14570 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
14571 (WebCore::JSCustomPositionCallback::handleEvent):
14572 * bindings/js/JSCustomPositionCallback.h: Added.
14573 (WebCore::JSCustomPositionCallback::create):
14574 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
14575 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
14576 (WebCore::JSCustomPositionErrorCallback::handleEvent):
14577 * bindings/js/JSCustomPositionErrorCallback.h: Added.
14578 (WebCore::JSCustomPositionErrorCallback::create):
14579 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
14580 (WebCore::markDOMObjectWrapper):
14581 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
14582 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
14583 * bindings/js/JSGeolocationCustom.cpp: Added.
14584 (WebCore::JSGeolocation::getCurrentPosition):
14585 (WebCore::JSGeolocation::watchPosition):
14586 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
14587 (WebCore::JSNavigator::mark):
14588 * dom/Document.cpp:
14589 (WebCore::Document::Document):
14590 * dom/Document.h:
14591 (WebCore::Document::setUsingGeolocation):
14592 (WebCore::Document::usingGeolocation):
14593 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
14594 (WebCore::FrameLoader::canCachePage):
14595 * page/Geolocation.cpp: Added.
14596 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
14597 (WebCore::Geolocation::GeoNotifier::timerFired):
14598 (WebCore::Geolocation::Geolocation):
14599 (WebCore::Geolocation::disconnectFrame):
14600 (WebCore::Geolocation::getCurrentPosition):
14601 (WebCore::Geolocation::watchPosition):
14602 (WebCore::Geolocation::clearWatch):
14603 (WebCore::Geolocation::stopUpdatingIfEmpty):
14604 (WebCore::Geolocation::sendErrorToOneShots):
14605 (WebCore::Geolocation::sendErrorToWatchers):
14606 (WebCore::Geolocation::sendPositionToOneShots):
14607 (WebCore::Geolocation::sendPositionToWatchers):
14608 (WebCore::Geolocation::handleError):
14609 (WebCore::Geolocation::geolocationServicePositionChanged):
14610 (WebCore::Geolocation::geolocationServiceErrorOccurred):
14611 * page/Geolocation.h: Added.
14612 (WebCore::Geolocation::create):
14613 (WebCore::Geolocation::~Geolocation):
14614 (WebCore::Geolocation::lastPosition):
14615 (WebCore::Geolocation::GeoNotifier::create):
14616 * page/Geolocation.idl: Added.
14617 * page/Geoposition.cpp: Added.
14618 (WebCore::Geoposition::toString):
14619 * page/Geoposition.h: Added.
14620 (WebCore::Geoposition::create):
14621 (WebCore::Geoposition::latitude):
14622 (WebCore::Geoposition::longitude):
14623 (WebCore::Geoposition::altitude):
14624 (WebCore::Geoposition::accuracy):
14625 (WebCore::Geoposition::altitudeAccuracy):
14626 (WebCore::Geoposition::heading):
14627 (WebCore::Geoposition::velocity):
14628 (WebCore::Geoposition::timestamp):
14629 (WebCore::Geoposition::Geoposition):
14630 * page/Geoposition.idl: Added.
14631 * page/Navigator.cpp:
14632 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
14633 (WebCore::Navigator::geolocation): accessor for Geolocation
14634 * page/Navigator.h:
14635 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
14636 * page/Navigator.idl: accessor for Geolocation
14637 * page/PositionCallback.h: Added.
14638 (WebCore::PositionCallback::~PositionCallback):
14639 * page/PositionCallback.idl: Added.
14640 * page/PositionError.h: Added.
14641 (WebCore::PositionError::):
14642 (WebCore::PositionError::create):
14643 (WebCore::PositionError::code):
14644 (WebCore::PositionError::message):
14645 (WebCore::PositionError::PositionError):
14646 * page/PositionError.idl: Added.
14647 * page/PositionErrorCallback.h: Added.
14648 (WebCore::PositionErrorCallback::~PositionErrorCallback):
14649 * page/PositionErrorCallback.idl: Added.
14650 * page/PositionOptions.h: Added.
14651 (WebCore::PositionOptions::create):
14652 (WebCore::PositionOptions::enableHighAccuracy):
14653 (WebCore::PositionOptions::setEnableHighAccuracy):
14654 (WebCore::PositionOptions::timeout):
14655 (WebCore::PositionOptions::setTimeout):
14656 (WebCore::PositionOptions::PositionOptions):
14657 * page/PositionOptions.idl: Added.
14658 * platform/GeolocationService.cpp: Added.
14659 (WebCore::GeolocationService::GeolocationService):
14660 (WebCore::GeolocationService::positionChanged):
14661 (WebCore::GeolocationService::errorOccurred):
14662 * platform/GeolocationService.h: Added.
14663 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
14664 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
14665 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
14666 (WebCore::GeolocationService::~GeolocationService):
14667
alp@webkit.org4e4aac32008-10-24 04:52:50 +0000146682008-10-23 Alp Toker <alp@nuanti.com>
14669
14670 Fix typo in comment in previous commit. GTK -> GLIB
14671
14672 * platform/gtk/guriescape.c:
14673
alp@webkit.org274a3a12008-10-24 04:32:51 +0000146742008-10-23 Kalle Vahlman <kalle.vahlman@movial.com>
14675
14676 Reviewed by Alp Toker.
14677
14678 https://bugs.webkit.org/show_bug.cgi?id=21824
14679 [GTK] FileSystem abstraction uses features from Glib 2.16
14680
14681 Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
14682
14683 * platform/gtk/guriescape.c:
14684 (unescape_character):
14685 (_webcore_g_uri_unescape_segment):
14686 (_webcore_g_uri_unescape_string):
14687 * platform/gtk/guriescape.h:
14688
jmalonzo@webkit.orga721ed52008-10-24 03:44:10 +0000146892008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
14690
14691 Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
14692
14693 * GNUmakefile.am:
14694
darin@chromium.org65ff24c2008-10-24 01:04:33 +0000146952008-10-23 Darin Fisher <darin@chromium.org>
14696
14697 Reviewed by Eric Seidel.
14698
14699 m_frame null checked but then dereferenced
14700 https://bugs.webkit.org/show_bug.cgi?id=21845
14701
14702 This error was found using a static analysis tool, and so I do not know
14703 how to produce a null m_frame on entry to this method. Hence, I have
14704 not included a regression test.
14705
14706 * page/EventHandler.cpp:
14707 (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
14708
mitz@apple.com83d2e872008-10-23 21:56:03 +0000147092008-10-23 Dan Bernstein <mitz@apple.com>
14710
14711 Reviewed by Sam Weinig with no hesitation.
14712
14713 - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
14714 <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
14715
14716 Test: fast/text/bidi-embedding-pop-and-push-same.html
14717
14718 * platform/text/BidiResolver.h:
14719 (WebCore::BidiResolver::embed): Changed to only add the embedding
14720 operation to a vector of pending operations.
14721
14722 (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
14723 code that used to be in the PDF case of embed() here, except the part
14724 that sets the context.
14725
14726 (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
14727 code that used to be in the non-PDF case of embed() here, except the
14728 part the sets the context.
14729
14730 (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
14731 explicit embedding operations in the vector by creating an updated
14732 context and determining the old and new embedding levels. If the levels
14733 are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
14734 sets the context to the new one.
14735
14736 (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
14737 commitExplicitEmbedding() after calling embed() and after calling
14738 increment().
14739
14740 * rendering/bidi.cpp:
14741 (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
14742 this function increments the resolver.
14743
14744 (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
14745
jmalonzo@webkit.org2af1d5f2008-10-23 21:24:14 +0000147462008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
14747
14748 Gtk build fix. Not reviewed.
14749
14750 Add DNSCurl and DNSSoup to the Gtk build
14751
14752 * GNUmakefile.am:
14753 * platform/gtk/TemporaryLinkStubs.cpp:
14754 * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
14755 (WebCore::prefetchDNS):
14756
eric@webkit.org378afbe2008-10-23 21:17:27 +0000147572008-10-23 Eric Seidel <eric@webkit.org>
14758
14759 Reviewed by Sam Weinig.
14760
14761 Un-break the Darwin build.
14762
14763 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
14764 * platform/graphics/cg/ImageCG.cpp:
14765
darin@chromium.org9573fd42008-10-23 21:13:50 +0000147662008-10-23 Darin Fisher <darin@chromium.org>
14767
14768 Reviewed by Eric Seidel.
14769
14770 Fix forward decls to be struct instead of class.
14771 https://bugs.webkit.org/show_bug.cgi?id=21838
14772
14773 * rendering/style/StyleRareInheritedData.h:
14774 * rendering/style/StyleRareNonInheritedData.h:
14775
weinig@apple.combb96c632008-10-23 20:36:25 +0000147762008-10-23 Brent Fulgham <bfulgham@gmail.com>
14777
14778 Reviewed by Oliver Hunt.
14779
14780 * platform/network/curl/ResourceRequest.h: A better implementation
14781 of CFURLRequest, rather than void*. This gives better compatibility
14782 with the WebKit.idl interface.
14783 (WebCore::ResourceRequest::cfURLRequest):
14784
eric@webkit.orgb7074c02008-10-23 19:59:42 +0000147852008-10-23 Mike Pinkerton <pinkerton@chromium.org>
14786
14787 Reviewed by Eric Seidel.
14788
14789 PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
14790 ifdefs to reflect that.
14791
14792 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
14793 * platform/graphics/cg/ImageCG.cpp:
14794
pkasting@chromium.org586415d2008-10-23 19:37:35 +0000147952008-10-23 Peter Kasting <pkasting@google.com>
14796
14797 Reviewed by Adam Roben.
14798
14799 https://bugs.webkit.org/show_bug.cgi?id=21833
14800 Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
14801
14802 * inspector/InspectorController.cpp:
14803 (WebCore::InspectorController::InspectorController):
14804 (WebCore::InspectorController::setWindowVisible):
14805 (WebCore::InspectorController::windowScriptObjectAvailable):
14806 (WebCore::InspectorController::close):
14807 * inspector/InspectorController.h:
14808 * page/Page.cpp:
14809 (WebCore::Page::Page):
14810
kmccullough@apple.comd7e4bf72008-10-23 18:33:46 +0000148112008-10-23 Kevin McCullough <kmccullough@apple.com>
14812
14813 Reviewed by Tim Hatcher.
14814
14815 https://bugs.webkit.org/show_bug.cgi?id=21817
14816 Bug 21817: Manual profiler tests should be made into layout tests
14817
14818 -Moving the tests before diffing so that it's clear what changed.
14819
14820 * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
14821 * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
14822 * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
14823 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
14824 * manual-tests/inspector/profiler-test-apply.html: Removed.
14825 * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
14826 * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
14827 * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
14828 * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
14829 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
14830 * manual-tests/inspector/profiler-test-constructor.html: Removed.
14831 * manual-tests/inspector/profiler-test-dead-time.html: Removed.
14832 * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
14833 * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
14834 * manual-tests/inspector/profiler-test-event-handler.html: Removed.
14835 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
14836 * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
14837 * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
14838 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
14839 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
14840 * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
14841 * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
14842 * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
14843 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
14844 * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
14845 * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
14846 * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
14847 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
14848 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
14849 * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
14850 * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
14851 * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
14852 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
14853 * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
14854 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
14855 * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
14856 * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
14857 * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
14858 * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
14859 * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
14860 * manual-tests/inspector/resources/other-frame.html: Removed.
14861 * manual-tests/inspector/resources/other-window.html: Removed.
14862 * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
14863
abarth@webkit.org31873302008-10-23 17:07:24 +0000148642008-10-23 Adam Barth <abarth@webkit.org>
14865
14866 Reviewed by Sam Weinig.
14867
14868 https://bugs.webkit.org/show_bug.cgi?id=21826
14869
14870 Add accessor for SecurityOrigin::m_domainWasSetInDOM.
14871
14872 * page/SecurityOrigin.h:
14873 (WebCore::SecurityOrigin::domainWasSetInDOM):
14874
darin@apple.com3f537b92008-10-23 15:55:41 +0000148752008-10-23 Darin Adler <darin@apple.com>
14876
14877 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
14878
14879 * bindings/js/ScheduledAction.h:
14880 * inspector/InspectorController.cpp:
14881 ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
14882
hausmann@webkit.org7ff09a42008-10-23 12:27:41 +0000148832008-10-23 Simon Hausmann <hausmann@webkit.org>
14884
14885 Fix the Qt build.
14886
14887 * bridge/qt/qt_runtime.cpp:
14888 (JSC::Bindings::QtConnectionObject::execute):
14889 * bridge/qt/qt_runtime.h:
14890 (JSC::Bindings::QtRuntimeMethod::createStructureID):
14891
ap@webkit.org76544c12008-10-23 10:15:55 +0000148922008-10-23 Alexey Proskuryakov <ap@webkit.org>
14893
14894 Reviewed by Maciej Stachowiak.
14895
14896 https://bugs.webkit.org/show_bug.cgi?id=21825
14897 JSDOMBinding should not blindly cast the global object to JSDOMWindow
14898
14899 * bindings/js/JSDOMGlobalObject.cpp:
14900 * bindings/js/JSDOMGlobalObject.h:
14901 * GNUmakefile.am:
14902 * WebCore.pro:
14903 * WebCore.vcproj/WebCore.vcproj:
14904 * WebCore.xcodeproj/project.pbxproj:
14905 * WebCoreSources.bkl:
14906 Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
14907
14908 * bindings/js/JSDOMBinding.cpp:
14909 (WebCore::getCachedDOMStructure):
14910 (WebCore::cacheDOMStructure):
14911 (WebCore::getCachedDOMConstructor):
14912 (WebCore::cacheDOMConstructor):
14913 Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
14914
14915 * bindings/js/JSDOMWindowBase.cpp:
14916 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
14917 * bindings/js/JSDOMWindowBase.h:
14918 * bindings/js/JSDOMWindowCustom.cpp:
14919 (WebCore::JSDOMWindow::mark):
14920 Moved constructor and structure tracking to JSDOMGlobalObject.
14921
abarth@webkit.org48cade32008-10-23 09:43:34 +0000149222008-10-23 Adam Barth <abarth@webkit.org>
14923
14924 Reviewed by Sam Weinig.
14925
14926 https://bugs.webkit.org/show_bug.cgi?id=21787
14927
14928 Update postMessage to send origin = "null" for non-serializable
14929 origins to match latest spec. Merge SecurityOrigin::toString and
14930 SecurityOrigin::toHTTPOrigin because they are now the same.
14931
14932 Test: http/tests/security/postMessage/data-url-sends-null-origin.html
14933
14934 * loader/FrameLoader.cpp:
14935 (WebCore::FrameLoader::outgoingOrigin):
14936 (WebCore::FrameLoader::loadURL):
14937 (WebCore::FrameLoader::addHTTPOriginIfNeeded):
14938 (WebCore::FrameLoader::loadItem):
14939 * loader/loader.cpp:
14940 (WebCore::Loader::Host::servePendingRequests):
14941 * page/SecurityOrigin.cpp:
14942 (WebCore::SecurityOrigin::toString):
14943 * page/SecurityOrigin.h:
14944 * xml/XMLHttpRequest.cpp:
14945 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
14946 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
14947 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
14948 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
14949
ddkilzer@apple.com5c2a8892008-10-23 02:53:02 +0000149502008-10-22 David Kilzer <ddkilzer@apple.com>
14951
14952 Bug 21781: WebCore::Settings should have a maximum decoded image size setting
14953
14954 <https://bugs.webkit.org/show_bug.cgi?id=21781>
14955
14956 Reviewed by Antti.
14957
14958 No tests since there is no change in behavior.
14959
14960 * loader/CachedImage.cpp:
14961 (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns
14962 WebCore::Settings::maximumDecodedImageSize() or 0 on error.
14963 (WebCore::CachedImage::data): Flag an error if the image being
14964 loaded is too big.
14965 * loader/CachedImage.h:
14966 (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
14967 * page/Settings.cpp:
14968 (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
14969 to the maximum value of size_t.
14970 * page/Settings.h:
14971 (WebCore::Settings::setMaximumDecodedImageSize): Added method.
14972 (WebCore::Settings::maximumDecodedImageSize): Ditto.
14973
darin@apple.com3fb46e42008-10-23 01:43:37 +0000149742008-10-22 Mike Pinkerton <pinkerton@chromium.org>
14975
14976 Reviewed by Dan Bernstein.
14977 Landed and tweaked a bit by Darin Adler.
14978
14979 - fix https://bugs.webkit.org/show_bug.cgi?id=21809
14980
14981 Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
14982 its use for PLATFORM(CHROMIUM) in the future.
14983
14984 * platform/graphics/SimpleFontData.h:
14985
dsmith@webkit.org102296e2008-10-23 00:49:27 +0000149862008-10-22 David Smith <catfish.man@gmail.com>
14987
darin@apple.com3fb46e42008-10-23 01:43:37 +000014988 Reviewed by Anders Carlsson.
dsmith@webkit.org102296e2008-10-23 00:49:27 +000014989
14990 https://bugs.webkit.org/show_bug.cgi?id=19974
14991 getElementsByClassName not live enough
14992
14993 Test: fast/dom/getElementsByClassName/015.html
14994
14995 * dom/StyledElement.cpp:
14996 (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
14997
darin@apple.com74e6ed62008-10-23 00:11:11 +0000149982008-10-22 Darin Adler <darin@apple.com>
14999
15000 Reviewed by Sam Weinig.
15001
15002 - fix https://bugs.webkit.org/show_bug.cgi?id=21294
15003 Bug 21294: Devirtualize getOwnPropertySlot()
15004
15005 * bindings/js/JSDOMWindowShell.h:
15006 (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
15007 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
15008
15009 * bindings/js/JSInspectorCallbackWrapper.cpp:
15010 (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
15011 for this class rather than sharing nullProtoStructureID, which no longer exists.
15012
15013 * bindings/js/JSNamedNodesCollection.h:
15014 (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
15015 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
15016 * bindings/js/JSRGBColor.h:
15017 (WebCore::JSRGBColor::createStructureID): Ditto.
15018
15019 * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
15020 constructors, and prototypes in any case where they override getOwnPropertySlot, without
15021 HasStandardGetOwnPropertySlot.
15022
15023 * bridge/objc/objc_runtime.h:
15024 (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
15025 without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
15026 * bridge/qt/qt_runtime.h:
15027 (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
15028 * bridge/runtime_array.h:
15029 (JSC::RuntimeArray::createStructureID): Ditto.
15030 * bridge/runtime_method.h:
15031 (JSC::RuntimeMethod::createStructureID): Ditto.
15032 * bridge/runtime_object.h:
15033 (JSC::RuntimeObjectImp::createStructureID): Ditto.
15034
aroben@apple.comf4c75612008-10-22 23:33:58 +0000150352008-10-22 Brent Fulgham <bfulgham@gmail.com>
15036
aroben@apple.com21fec102008-10-22 23:34:22 +000015037 Bring Windows Cairo Port's font handling in line with CG.
15038 http://bugs.webkit.org/show_bug.cgi?id=21812.
15039
15040 Reviewed by Adam Roben.
15041
15042 * platform/graphics/win/FontCacheWin.cpp:
15043 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
15044 TrueType font search. It should match CG in all font selections.
15045
150462008-10-22 Brent Fulgham <bfulgham@gmail.com>
15047
aroben@apple.comf4c75612008-10-22 23:33:58 +000015048 http://bugs.webkit.org/show_bug.cgi?id=21812.
15049 Bring Windows Cairo Port's font handling in line with CG.
15050
15051 Reviewed by David Hyatt.
15052
15053 * platform/graphics/win/FontCacheWin.cpp:
15054 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections.
15055
beidson@apple.comb90e6aa2008-10-22 23:06:53 +0000150562008-10-22 Brady Eidson <beidson@apple.com>
15057
15058 Reviewed by Adam Roben
15059
15060 <rdar://6261773> - autocomplete="off" doesn't work on Windows
15061
15062 Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
15063 statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
15064 instead of the much more correct "true."
15065
15066 In the past we have worked around this by declaring the bitfield member as an unsigned instead
15067 of the enum type.
15068
15069 For more discussion, see http://trac.webkit.org/changeset/25329
15070
15071 * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh*
15072
kmccullough@apple.com0435f782008-10-22 23:04:00 +0000150732008-10-22 Kevin McCullough <kmccullough@apple.com>
15074
15075 Reviewed by Oliver Hunt and Tim Hatcher.
15076
15077 https://bugs.webkit.org/show_bug.cgi?id=19225
15078 Bug 19225: JSProfiler: Create automated profiler tests
15079 - This change exports profiles on the console object so that they can be
15080 iterated over via JavaScript, and thus can be used in automated tests.
15081
15082 * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
15083 that JS can use.
15084 (WebCore::JSConsole::profiles):
15085 * inspector/InspectorController.h: Use the new typedef.
15086 (WebCore::InspectorController::profiles):
15087 * page/Console.cpp: Keep our own array of profile objects.
15088 (WebCore::Console::profileEnd):
15089 * page/Console.h: Ditto.
15090 (WebCore::Console::profiles):
15091 * page/Console.idl: Expose the profiles to JS.
15092
hyatt@apple.comaf225eb2008-10-22 21:51:23 +0000150932008-10-22 David Hyatt <hyatt@apple.com>
15094
15095 https://bugs.webkit.org/show_bug.cgi?id=21775
15096
15097 Convert buttons over to use the new Theme API on OS X.
15098
15099 Reviewed by Adam Roben
15100
15101 * platform/LengthBox.h:
15102 (WebCore::LengthBox::LengthBox):
15103 * platform/Theme.cpp:
15104 (WebCore::Theme::controlBorder):
15105 (WebCore::Theme::controlPadding):
15106 * platform/Theme.h:
15107 (WebCore::Theme::controlFont):
15108 (WebCore::Theme::controlSize):
15109 (WebCore::Theme::minControlSize):
15110 (WebCore::Theme::controlRequiresPreWhiteSpace):
15111 * platform/mac/ThemeMac.h:
15112 (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
15113 * platform/mac/ThemeMac.mm:
15114 (WebCore::checkboxSize):
15115 (WebCore::radioSize):
15116 (WebCore::buttonSizes):
15117 (WebCore::buttonMargins):
15118 (WebCore::button):
15119 (WebCore::paintButton):
15120 (WebCore::ThemeMac::controlFont):
15121 (WebCore::ThemeMac::controlSize):
15122 (WebCore::ThemeMac::minControlSize):
15123 (WebCore::ThemeMac::controlBorder):
15124 (WebCore::ThemeMac::controlPadding):
15125 (WebCore::ThemeMac::inflateControlPaintRect):
15126 (WebCore::ThemeMac::paint):
15127 * rendering/RenderTheme.cpp:
15128 (WebCore::RenderTheme::adjustStyle):
15129 (WebCore::RenderTheme::paint):
15130 (WebCore::RenderTheme::controlStatesForRenderer):
15131 (WebCore::RenderTheme::isDefault):
15132 (WebCore::RenderTheme::adjustRadioStyle):
15133 * rendering/RenderTheme.h:
15134 (WebCore::RenderTheme::setRadioSize):
15135 * rendering/RenderThemeMac.h:
15136 * rendering/RenderThemeMac.mm:
15137 (WebCore::RenderThemeMac::adjustRepaintRect):
15138 (WebCore::menuListButtonSizes):
15139 (WebCore::RenderThemeMac::adjustMenuListStyle):
15140 * rendering/style/RenderStyle.h:
15141 (WebCore::InheritedFlags::paddingBox):
15142 (WebCore::InheritedFlags::setPaddingBox):
15143
simon.fraser@apple.coma2a27b52008-10-22 19:35:52 +0000151442008-10-22 Chris Marrin <cmarrin@apple.com>
15145
15146 Reviewed by Dave Hyatt
15147
15148 Make sure that the AtomicString that identifies a set of animation keyframes
15149 stays live by keeping a copy in the WebKitCSSKeyframesRule.
15150
15151 Also call styleSheetChanged() when the keyframes name changes, but
15152 add an internal method that doesn't call styleSheetChanged() for use
15153 during normal stylesheet parsing.
15154
15155 Test: animations/change-keyframes-name.html
15156
15157 * css/CSSGrammar.y:
15158 * css/WebKitCSSKeyframesRule.cpp:
15159 (WebCore::WebKitCSSKeyframesRule::setName):
15160 * css/WebKitCSSKeyframesRule.h:
15161 (WebCore::WebKitCSSKeyframesRule::setNameInternal):
15162
ap@webkit.org6ed149d2008-10-22 17:43:26 +0000151632008-10-22 Alexey Proskuryakov <ap@webkit.org>
15164
15165 Reviewed by Sam Weinig.
15166
15167 https://bugs.webkit.org/show_bug.cgi?id=21791
15168 WebCore JS bindings should be able to use non-static hash tables for properties
15169
15170 Add a map for HashTables to WebCore JS client data.
15171
15172 This makes property access noticeably slower, so it is an opt-in. For classes that need to be
15173 supported in workers in forseeable future this is not critical.
15174
15175 * bindings/js/JSDOMBinding.cpp:
15176 (WebCore::DOMObjectHashTableMap::get):
15177 (WebCore::DOMObjectHashTableMap::mapFor):
15178 (WebCore::getHashTableForGlobalData):
15179 (WebCore::DOMObjectWrapperMap::mapFor):
15180 WebCore client data is now a class that contains both a DOM wrapper map and a property hash
15181 table one.
15182
15183 * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
15184
15185 * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
15186 JSDOMBinding map to access its property hash tables.
15187
15188 * dom/MessageChannel.idl:
15189 * dom/MessagePort.idl:
15190 Added NoStaticTables attribute.
15191
alp@webkit.org8d1d4c92008-10-22 13:55:06 +0000151922008-10-22 Gustavo Noronha Silva <gns@gnome.org>
15193
15194 Reviewed by Timothy Hatcher.
15195
15196 Build failure because of missing include
15197 https://bugs.webkit.org/show_bug.cgi?id=21765
15198
15199 Build failure fix for WebKit/GTK+; added missing
15200 include (GOwnPtr.h)
15201
15202 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
15203
alp@webkit.orgee7dc252008-10-22 10:38:23 +0000152042008-10-22 Alp Toker <alp@nuanti.com>
15205
alp@webkit.org197960d2008-10-22 13:51:16 +000015206 Reviewed by Adam Roben.
15207
15208 Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
15209 doesn't initialize values if the requested property doesn't exist, so
15210 initialize the values to the documented defaults before calling it
15211 where necessary. Additionally, avoid critical warnings by not calling
15212 gtk_widget_style_get() when we know the property isn't available.
15213
15214 Note that this is an imported source file which doesn't follow the
15215 WebKit coding style.
15216
15217 * platform/gtk/gtk2drawing.c:
15218 (moz_gtk_init):
15219 (moz_gtk_button_get_inner_border):
15220 (moz_gtk_combo_box_paint):
15221 (moz_gtk_toolbar_separator_paint):
15222 (moz_gtk_menu_separator_paint):
15223 (moz_gtk_get_widget_border):
15224 (moz_gtk_get_tab_scroll_arrow_size):
15225 (moz_gtk_get_toolbar_separator_width):
15226 (moz_gtk_get_menu_separator_height):
15227
152282008-10-22 Alp Toker <alp@nuanti.com>
15229
alp@webkit.orgee7dc252008-10-22 10:38:23 +000015230 Fix build for Cairo 1.2.
15231
15232 * platform/graphics/cairo/GraphicsContextCairo.cpp:
15233 (WebCore::GraphicsContext::clipOut):
15234 * platform/gtk/RenderThemeGtk.cpp:
15235 (WebCore::paintMozWidget):
15236
darin@chromium.orga740bfe2008-10-22 07:56:41 +0000152372008-10-22 Darin Fisher <darin@chromium.org>
15238
15239 Reviewed by Eric Seidel.
15240
15241 A little more PLATFORM(CHROMIUM) in WebCore
15242 https://bugs.webkit.org/show_bug.cgi?id=21758
15243
15244 * page/AccessibilityObject.h:
15245 * platform/graphics/Icon.h:
15246
ap@webkit.org4c610c02008-10-22 06:07:32 +0000152472008-10-21 Alexey Proskuryakov <ap@webkit.org>
15248
15249 Reviewed by Darin Adler.
15250
15251 Test: fast/events/message-channel-gc-3.html
15252
15253 https://bugs.webkit.org/show_bug.cgi?id=21769
15254 MessagePort should be GC protected if there are messages to be delivered
15255
15256 * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
15257 pending, and check if the queue is non-empty.
15258 (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
15259 fix (below).
15260
15261 * dom/MessagePort.cpp:
15262 (WebCore::CloseMessagePortTimer::fired):
15263 (WebCore::MessagePort::MessagePort):
15264 (WebCore::MessagePort::queueCloseEvent):
15265 (WebCore::MessagePort::dispatchCloseEvent):
15266 (WebCore::MessagePort::hasPendingActivity):
15267 Track message and close event activity separately.
15268
15269 * bindings/js/JSDOMBinding.cpp:
15270 (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
15271 causing same-heap ports to never be deleted.
15272
mitz@apple.com90a34532008-10-22 03:10:23 +0000152732008-10-21 Dan Bernstein <mitz@apple.com>
15274
15275 Reviewed by Sam Weinig.
15276
15277 - remove unreachable code
15278
15279 * platform/text/BidiResolver.h:
15280 (WebCore::::embed):
15281
bdakin@apple.comc144ec52008-10-22 00:22:55 +0000152822008-10-21 Beth Dakin <bdakin@apple.com>
15283
15284 Reviewed by Darin Adler.
15285
15286 Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
15287 REGRESSION(r31030-31055): Choosing "Print window" from frame set
15288 prints blank page
15289 and corresponding: <rdar://problem/6142398>
15290
15291 viewHeight() and viewWidth() only return valuable information if we
15292 are not printing. Everywhere else in the code, we make sure we are
15293 not printing before we call these functions. Adding a check for
15294 printing here fixes this bug, and framesets print again.
15295
15296 * rendering/RenderFrameSet.cpp:
15297 (WebCore::RenderFrameSet::layout):
15298
hausmann@webkit.orgfde4e2e2008-10-21 12:57:35 +0000152992008-10-21 Yael Aharon <yael.aharon@nokia.com>
15300
15301 Reviewed by Simon.
15302
15303 Pixmap in canvas tag was not getting initialized.
15304
15305 See https://bugs.webkit.org/show_bug.cgi?id=21771
15306
15307 * platform/graphics/qt/ImageBufferQt.cpp:
15308 (WebCore::ImageBuffer::create):
15309
simon.fraser@apple.com1f2bbf32008-10-21 06:01:03 +0000153102008-10-20 Simon Fraser <simon.fraser@apple.com>
15311
15312 Reviewed by Dan Bernstein
15313
15314 Add a comment explaining layoutDelta(), and an assertion
15315 that checks that delta changes were correctly paired during layout.
15316
15317 * rendering/RenderView.cpp:
15318 (WebCore::RenderView::layout):
15319 * rendering/RenderView.h:
15320
timothy@apple.com6b535d52008-10-21 04:50:24 +0000153212008-10-20 Timothy Hatcher <timothy@apple.com>
15322
timothy@apple.com1c922772008-10-21 04:50:34 +000015323 Make auto-complete only suggest properties that are valid syntax
15324 when using dot-notation. Also when completing numeric properties,
15325 the quotes are omitted inside the brackets.
15326
15327 https://bugs.webkit.org/show_bug.cgi?id=21760
15328 https://bugs.webkit.org/show_bug.cgi?id=21761
15329
15330 Reviewed by Oliver Hunt.
15331
15332 * inspector/front-end/Console.js:
15333 (WebInspector.Console.prototype.completions): Skip properties that
15334 are not valid identifies when using dot-notation. And omit the quotes
15335 when completing numbers in bracket-notation.
15336
153372008-10-20 Timothy Hatcher <timothy@apple.com>
15338
timothy@apple.com6b535d52008-10-21 04:50:24 +000015339 Fixes the Profiles panel in the Web Inspector, which was broken by
15340 the JSValue base-class changes. Also renames some functions and
15341 variables in JavaScriptProfileNode.cpp that where title case.
15342
15343 https://bugs.webkit.org/show_bug.cgi?id=21764
15344
15345 Reviewed by Oliver Hunt.
15346
15347 * inspector/JavaScriptProfile.cpp:
15348 (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
15349 returned JSValuePtr will be treated as an object and not a value.
15350 * inspector/JavaScriptProfileNode.cpp:
15351 (WebCore::toJS): Ditto.
15352
weinig@apple.com5ed91732008-10-21 02:14:45 +0000153532008-10-20 Sam Weinig <sam@webkit.org>
15354
15355 Reviewed by Anders Carlsson.
15356
15357 Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
15358
15359 * loader/EmptyClients.h:
15360 (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
15361 * loader/FrameLoader.cpp:
15362 (WebCore::FrameLoader::detachFromParent):
15363 * loader/FrameLoaderClient.h:
15364
antti@apple.com6068cf42008-10-21 01:22:51 +0000153652008-10-20 Antti Koivisto <antti@apple.com>
15366
15367 Reviewed by Adele Peterson.
15368
15369 Fix https://bugs.webkit.org/show_bug.cgi?id=21763
15370 REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
15371 <rdar://problem/6285025
15372
15373 If we get 304 response we need to explicitly check if that completes the frame load.
15374
15375 No test case, simulating the condition is pretty difficult.
15376
15377 * loader/loader.cpp:
15378 (WebCore::Loader::Host::didReceiveResponse):
15379
andersca@apple.com74021572008-10-21 01:05:19 +0000153802008-10-20 Anders Carlsson <andersca@apple.com>
15381
15382 Reviewed by Mark Rowe.
15383
15384 Work around <rdar://problem/6301728>.
15385
15386 Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
15387
15388 * loader/MainResourceLoader.cpp:
15389 (WebCore::MainResourceLoader::didReceiveResponse):
15390 (WebCore::MainResourceLoader::didReceiveData):
15391 (WebCore::MainResourceLoader::didFinishLoading):
15392 (WebCore::MainResourceLoader::didFail):
15393
bdakin@apple.com05f9b6b2008-10-20 22:47:19 +0000153942008-10-20 Beth Dakin <bdakin@apple.com>
15395
15396 Reviewed by Adele Peterson.
15397
15398 Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
15399 crashes in Safari at com.apple.WebCore
15400 WebCore::ScrollView::visibleContentRect const + 153
15401
15402 d->m_view can be null and is null-checked at other points in the
15403 code. The logs indicate that this crash occurs when closing a
15404 window containing a PDF, so in case where we crash, the PDF's view
15405 is probably already null. So the fix is to simply add a null-check.
15406
15407 * page/Frame.cpp:
15408 (WebCore::Frame::selectionRect):
15409
adele@apple.com79cd4612008-10-20 21:31:08 +0000154102008-10-20 Adele Peterson <adele@apple.com>
15411
15412 Reviewed by Darin Adler.
15413
15414 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
15415 Removed stray increment that would screw up any form with multiple files in it.
15416
weinig@apple.com5f550542008-10-20 20:42:46 +0000154172008-10-20 Sam Weinig <sam@webkit.org>
15418
15419 Rubber-stamped by David Hyatt.
15420
15421 Split LengthBox and LengthSize into their own files.
15422
15423 * GNUmakefile.am:
15424 * WebCore.vcproj/WebCore.vcproj:
15425 * WebCore.xcodeproj/project.pbxproj:
15426 * platform/Length.h:
15427 (WebCore::Length::blend):
15428 * platform/LengthBox.h: Copied from platform/Length.h.
15429 (WebCore::LengthBox::LengthBox):
15430 (WebCore::LengthBox::nonZero):
15431 * platform/LengthSize.h: Copied from platform/Length.h.
15432 (WebCore::LengthSize::LengthSize):
15433 (WebCore::LengthSize::setWidth):
15434 (WebCore::LengthSize::setHeight):
15435 (WebCore::LengthSize::height):
15436 * platform/Theme.h:
15437 * rendering/style/FillLayer.h:
15438 * rendering/style/NinePieceImage.h:
15439 (WebCore::NinePieceImage::NinePieceImage):
15440 * rendering/style/RenderStyle.h:
15441 * rendering/style/StyleDashboardRegion.h:
15442 * rendering/style/StyleSurroundData.h:
15443 * rendering/style/StyleVisualData.h:
15444
mitz@apple.com105c3c02008-10-20 20:15:27 +0000154452008-10-20 Dan Bernstein <mitz@apple.com>
15446
15447 - Mac build fix
15448
15449 * WebCore.xcodeproj/project.pbxproj:
15450
alp@webkit.org4a81ed22008-10-20 19:30:26 +0000154512008-10-20 Alp Toker <alp@nuanti.com>
15452
15453 Fix autotools dist build target by listing recently added header
15454 files only. Not reviewed.
15455
15456 * GNUmakefile.am:
15457
hyatt@apple.com8f754742008-10-20 19:18:38 +0000154582008-10-20 David Hyatt <hyatt@apple.com>
15459
hyatt@apple.comccda9a12008-10-20 19:27:58 +000015460 Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also
15461 refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
15462 originally.
15463
15464 ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
15465
15466 Reviewed by Adam Roben
15467
15468 * WebCore.xcodeproj/project.pbxproj:
15469 * platform/Theme.cpp: Added.
15470 (WebCore::Theme::controlSupportsBorder):
15471 (WebCore::Theme::controlSupportsPadding):
15472 * platform/Theme.h:
15473 * platform/mac/ThemeMac.h:
15474 * platform/mac/ThemeMac.mm:
15475 * rendering/RenderTheme.cpp:
15476 (WebCore::RenderTheme::adjustStyle):
15477 * rendering/RenderTheme.h:
15478
154792008-10-20 David Hyatt <hyatt@apple.com>
15480
hyatt@apple.com8f754742008-10-20 19:18:38 +000015481 Rename LengthBox's members to have m_ in front of them.
15482
15483 Reviewed by Sam Weinig
15484
15485 * css/CSSComputedStyleDeclaration.cpp:
15486 (WebCore::valueForNinePieceImage):
15487 (WebCore::getPositionOffsetValue):
15488 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15489 * css/CSSStyleSelector.cpp:
15490 (WebCore::CSSStyleSelector::mapNinePieceImage):
15491 * platform/Length.h:
15492 (WebCore::LengthBox::LengthBox):
15493 (WebCore::LengthBox::left):
15494 (WebCore::LengthBox::right):
15495 (WebCore::LengthBox::top):
15496 (WebCore::LengthBox::bottom):
15497 (WebCore::LengthBox::operator==):
15498 (WebCore::LengthBox::nonZero):
15499 * rendering/RenderObject.cpp:
15500 (WebCore::RenderObject::paintNinePieceImage):
15501 (WebCore::RenderObject::addDashboardRegions):
15502 * rendering/style/RenderStyle.cpp:
15503 (WebCore::positionedObjectMoved):
15504 (WebCore::RenderStyle::setClip):
15505 (WebCore::RenderStyle::noneDashboardRegions):
15506 * rendering/style/RenderStyle.h:
15507 (WebCore::InheritedFlags::left):
15508 (WebCore::InheritedFlags::right):
15509 (WebCore::InheritedFlags::top):
15510 (WebCore::InheritedFlags::bottom):
15511 (WebCore::InheritedFlags::clipLeft):
15512 (WebCore::InheritedFlags::clipRight):
15513 (WebCore::InheritedFlags::clipTop):
15514 (WebCore::InheritedFlags::clipBottom):
15515 (WebCore::InheritedFlags::marginTop):
15516 (WebCore::InheritedFlags::marginBottom):
15517 (WebCore::InheritedFlags::marginLeft):
15518 (WebCore::InheritedFlags::marginRight):
15519 (WebCore::InheritedFlags::paddingTop):
15520 (WebCore::InheritedFlags::paddingBottom):
15521 (WebCore::InheritedFlags::paddingLeft):
15522 (WebCore::InheritedFlags::paddingRight):
15523 (WebCore::InheritedFlags::setLeft):
15524 (WebCore::InheritedFlags::setRight):
15525 (WebCore::InheritedFlags::setTop):
15526 (WebCore::InheritedFlags::setBottom):
15527 (WebCore::InheritedFlags::setDashboardRegion):
15528 (WebCore::InheritedFlags::setClipLeft):
15529 (WebCore::InheritedFlags::setClipRight):
15530 (WebCore::InheritedFlags::setClipTop):
15531 (WebCore::InheritedFlags::setClipBottom):
15532 (WebCore::InheritedFlags::setMarginTop):
15533 (WebCore::InheritedFlags::setMarginBottom):
15534 (WebCore::InheritedFlags::setMarginLeft):
15535 (WebCore::InheritedFlags::setMarginRight):
15536 (WebCore::InheritedFlags::setPaddingTop):
15537 (WebCore::InheritedFlags::setPaddingBottom):
15538 (WebCore::InheritedFlags::setPaddingLeft):
15539 (WebCore::InheritedFlags::setPaddingRight):
15540
timothy@apple.com77523c52008-10-20 19:03:15 +0000155412008-10-20 Timothy Hatcher <timothy@apple.com>
15542
15543 Make the Resource panel perform graph updates atomically, so when resources
15544 are added the graph and summary graph update at the same time.
15545
15546 https://bugs.webkit.org/show_bug.cgi?id=21755
15547
15548 Reviewed by Kevin McCullough.
15549
15550 * inspector/front-end/Resource.js:
15551 (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
15552 property is undefined, null or 0. This allows callers to check for -1 and not
15553 the other values when there is no startTime yet.
15554 (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
15555 (WebInspector.Resource.prototype.get endTime): Ditto.
15556 (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
15557 (WebInspector.Resource.prototype.get latency): Ditto.
15558 (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
15559 property is undefined or null. This allows callers to always assume a number.
15560 (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
15561 (WebInspector.Resource.prototype.get errors): Simplify the case where there is
15562 no _errors property yet.
15563 (WebInspector.Resource.prototype.set errors): Remove the check if the new value
15564 if the same as the previous value, since there is no work to guard.
15565 (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
15566 no _warnings property yet.
15567 (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
15568 if the same as the previous value, since there is no work to guard.
15569 (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
15570 responseReceivedTime is -1.
15571 (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
15572 * inspector/front-end/ResourcesPanel.js:
15573 (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
15574 have a _resourcesTreeElement yet, exclude it from the searchable views.
15575 (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
15576 and call refresh to refresh the entire graph.
15577 (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
15578 is visible that calls refresh.
15579 (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
15580 graph for a resource if it hasn't been created yet. If the boundaries changed during
15581 the first stale resource pass, do a full pass of all resources when updating the graphs.
15582 (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
15583 (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
15584 graph, these are now created during the first refresh.
15585 (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
15586 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
15587 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
15588 (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
15589 add the resource to the _staleResources and set needsRefresh.
15590 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
15591 _resourcesTreeElement.
15592 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
15593 the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
15594 since the insertBefore call will do it if needed.
15595 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
15596 clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
15597 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
15598 timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
15599 since all the legend items are removed in one pass right before.
15600 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
15601 before the calculator so the correct sortingFunction is there when a refresh happens.
15602 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
15603 when the startTime is -1, since that looks best visually. Also set middle and end
15604 to the start and middle (respectfully) when startAtZero. This looks best visually.
15605 (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
15606 (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
15607
hyatt@apple.coma16cfd32008-10-20 18:45:17 +0000156082008-10-20 David Hyatt <hyatt@apple.com>
15609
15610 https://bugs.webkit.org/show_bug.cgi?id=21733
15611
15612 Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
15613 no attempt is made to re-cache the frame from a non-existent image source.
15614
15615 Reviewed by Sam Weinig
15616
15617 * platform/graphics/cairo/ImageCairo.cpp:
15618 (WebCore::BitmapImage::BitmapImage):
15619 * platform/graphics/cg/ImageCG.cpp:
15620 (WebCore::BitmapImage::BitmapImage):
15621
mitz@apple.comdffa6702008-10-20 18:23:29 +0000156222008-10-20 Dan Bernstein <mitz@apple.com>
15623
15624 Reviewed by John Sullivan.
15625
15626 - make hasARenderedDescendant() have internal linkage
15627
15628 * editing/CompositeEditCommand.cpp:
15629 (WebCore::hasARenderedDescendant):
15630
cfleizach@apple.com2826b442008-10-20 17:57:12 +0000156312008-10-20 Chris Fleizach <cfleizach@apple.com>
15632
15633 Reviewed by Jon Honeycutt
15634
15635 Fix a crash in Accessibility where a table section was being
15636 referenced without first checking if it was null
15637
15638 https://bugs.webkit.org/show_bug.cgi?id=21721
15639
15640 Test: accessibility/table-nofirstbody.html
15641
15642 * page/AccessibilityTable.cpp:
15643 (WebCore::AccessibilityTable::addChildren):
15644
hyatt@apple.com95f62812008-10-20 17:40:52 +0000156452008-10-20 David Hyatt <hyatt@apple.com>
15646
15647 Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
15648
15649 Reviewed by Darin Adler
15650
15651 * platform/graphics/cg/ImageSourceCG.cpp:
15652 (WebCore::ImageSource::repetitionCount):
15653 (WebCore::ImageSource::frameDurationAtIndex):
15654
alp@webkit.org1b2d1fd2008-10-20 17:06:10 +0000156552008-10-20 Alp Toker <alp@nuanti.com>
15656
15657 Reviewed by Mark Rowe.
15658
15659 Fix the pthread conditionals in the FTP code to correctly define
15660 threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
15661 build.
15662
15663 * loader/FTPDirectoryDocument.cpp:
15664 * loader/FTPDirectoryParser.cpp:
15665
hyatt@apple.com74aa2f22008-10-20 16:50:20 +0000156662008-10-20 David Hyatt <hyatt@apple.com>
15667
15668 https://bugs.webkit.org/show_bug.cgi?id=21751
15669
15670 Convert checkboxes and radio buttons on OS X over to the new Theme API.
15671
15672 Reviewed by Adam Roben
15673
15674 * css/CSSComputedStyleDeclaration.cpp:
15675 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15676 * css/CSSStyleSelector.cpp:
15677 (WebCore::CSSStyleSelector::mapFillSize):
15678 * platform/Length.h:
15679 (WebCore::LengthSize::LengthSize):
15680 (WebCore::LengthSize::operator==):
15681 (WebCore::LengthSize::width):
15682 (WebCore::LengthSize::height):
15683 (WebCore::LengthSize::setWidth):
15684 (WebCore::LengthSize::setHeight):
15685 * platform/Theme.h:
15686 (WebCore::Theme::controlSize):
15687 (WebCore::Theme::controlSupportsBorder):
15688 (WebCore::Theme::controlSupportsPadding):
15689 (WebCore::Theme::paint):
15690 (WebCore::Theme::inflateControlPaintRect):
15691 * platform/ThemeTypes.h:
15692 (WebCore::):
15693 * platform/mac/ThemeMac.h:
15694 * platform/mac/ThemeMac.mm:
15695 (WebCore::):
15696 (WebCore::controlSizeForFont):
15697 (WebCore::sizeFromFont):
15698 (WebCore::setControlSize):
15699 (WebCore::updateStates):
15700 (WebCore::inflateRect):
15701 (WebCore::checkboxSizes):
15702 (WebCore::checkboxMargins):
15703 (WebCore::checkboxSize):
15704 (WebCore::checkbox):
15705 (WebCore::paintCheckbox):
15706 (WebCore::radioSizes):
15707 (WebCore::radioMargins):
15708 (WebCore::radioSize):
15709 (WebCore::radio):
15710 (WebCore::paintRadio):
15711 (WebCore::ThemeMac::baselinePositionAdjustment):
15712 (WebCore::ThemeMac::controlSize):
15713 (WebCore::ThemeMac::controlSupportsBorder):
15714 (WebCore::ThemeMac::controlSupportsPadding):
15715 (WebCore::ThemeMac::inflateControlPaintRect):
15716 (WebCore::ThemeMac::paint):
15717 * rendering/RenderBox.cpp:
15718 (WebCore::RenderBox::calculateBackgroundSize):
15719 * rendering/RenderObject.cpp:
15720 (WebCore::mustRepaintFillLayers):
15721 * rendering/RenderTheme.cpp:
15722 (WebCore::RenderTheme::adjustStyle):
15723 (WebCore::RenderTheme::paint):
15724 (WebCore::RenderTheme::baselinePosition):
15725 (WebCore::RenderTheme::adjustRepaintRect):
15726 (WebCore::RenderTheme::controlStatesForRenderer):
15727 (WebCore::RenderTheme::isFocused):
15728 * rendering/RenderTheme.h:
15729 * rendering/RenderThemeMac.h:
15730 * rendering/RenderThemeMac.mm:
15731 (WebCore::RenderThemeMac::adjustRepaintRect):
15732 * rendering/style/FillLayer.cpp:
15733 (WebCore::FillLayer::operator==):
15734
ggaren@apple.com4b8c0fb2008-10-20 16:48:30 +0000157352008-10-18 Geoffrey Garen <ggaren@apple.com>
15736
15737 Reviewed by Darin Adler.
15738
15739 Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
15740 Emit profiling instrumentation only if the Web Inspector's profiling
15741 feature is enabled
15742
15743 * bindings/js/JSDOMWindowBase.cpp:
15744 (WebCore::JSDOMWindowBase::supportsProfiling):
15745 * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
15746 whether a target global object has the Web Inspector's profiling feature
15747 enabled.
15748
15749 * inspector/JavaScriptDebugServer.cpp:
15750 (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
15751 (WebCore::JavaScriptDebugServer::didAddListener):
15752 (WebCore::JavaScriptDebugServer::didRemoveListener):
15753 * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
15754 used by the Settings object.
15755
15756 * page/Settings.cpp:
15757 (WebCore::Settings::Settings):
15758 (WebCore::Settings::setDeveloperExtrasEnabled):
15759 * page/Settings.h: Recompile when the developer menu is enabled/disabled
15760 for the first time, to add/remove profiling hooks. In the future, with
15761 better Web Inspector UI, we can do this on a page-by-page basis,
15762 instead of a global basis.
15763
hyatt@apple.com6b537eb2008-10-20 15:54:55 +0000157642008-10-20 David Hyatt <hyatt@apple.com>
15765
15766 Move Length to platform/.
15767
15768 Reviewed by Adam Roben
15769
15770 * GNUmakefile.am:
15771 * WebCore.pro:
15772 * WebCore.vcproj/WebCore.vcproj:
15773 * WebCore.xcodeproj/project.pbxproj:
15774 * WebCoreSources.bkl:
15775 * platform/Length.cpp: Copied from rendering/Length.cpp.
15776 * platform/Length.h: Copied from rendering/Length.h.
15777
darin@apple.com29bf98b2008-10-20 15:16:29 +0000157782008-10-20 Darin Adler <darin@apple.com>
15779
darin@apple.come90aa812008-10-20 15:28:14 +000015780 - try to fix Qt build
15781
darin@apple.com1f5b8ac2008-10-20 15:29:04 +000015782 * bridge/qt/qt_runtime.cpp:
15783 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
15784 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
15785
157862008-10-20 Darin Adler <darin@apple.com>
15787
15788 - try to fix Qt build
15789
darin@apple.come90aa812008-10-20 15:28:14 +000015790 * bridge/qt/qt_instance.cpp:
15791 (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
15792 (JSC::Bindings::QtField::valueFromInstance): Ditto.
15793 * bridge/qt/qt_instance.h: Ditto.
15794
157952008-10-20 Darin Adler <darin@apple.com>
15796
darin@apple.com29bf98b2008-10-20 15:16:29 +000015797 - try to fix Tiger build
15798
15799 * bridge/objc/objc_instance.mm:
15800 (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
15801 volatile qualifier.
15802 (ObjcInstance::invokeDefaultMethod): Ditto.
15803 (ObjcInstance::getValueOfUndefinedField): Ditto.
15804 * bridge/objc/objc_runtime.mm:
15805 (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
15806
ap@webkit.org0d0f77352008-10-20 15:13:11 +0000158072008-10-20 Alexey Proskuryakov <ap@webkit.org>
15808
15809 Reviewed by Darin Adler.
15810
15811 https://bugs.webkit.org/show_bug.cgi?id=21750
15812 Eliminate the notion of "temporary events"
15813
15814 We mark some events as temporary when dispatching, for the sole reason of
15815 manually calling forgetDOMObject when done dispatching.
15816
15817 There doesn't seem to be any reason to call it manually, as JSEvent destructor
15818 will do this automatically right away.
15819
15820 * bindings/js/ScriptController.cpp:
15821 * bindings/js/ScriptController.h:
15822 Removed ScriptController::finishedWithEvent(), which was called after dispatching
15823 a temporary event.
15824
15825 * dom/ContainerNode.cpp:
15826 (WebCore::dispatchChildInsertionEvents):
15827 (WebCore::dispatchChildRemovalEvents):
15828 * dom/EventTarget.h:
15829 * dom/EventTargetNode.cpp:
15830 (WebCore::EventTargetNode::dispatchEvent):
15831 (WebCore::EventTargetNode::dispatchGenericEvent):
15832 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
15833 (WebCore::EventTargetNode::dispatchWindowEvent):
15834 (WebCore::EventTargetNode::dispatchUIEvent):
15835 (WebCore::EventTargetNode::dispatchKeyEvent):
15836 (WebCore::EventTargetNode::dispatchMouseEvent):
15837 (WebCore::EventTargetNode::dispatchWheelEvent):
15838 (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
15839 (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
15840 (WebCore::EventTargetNode::dispatchEventForType):
15841 (WebCore::EventTargetNode::dispatchProgressEvent):
15842 (WebCore::EventTargetNode::dispatchStorageEvent):
15843 * dom/EventTargetNode.h:
15844 * dom/MessagePort.cpp:
15845 (WebCore::MessagePort::dispatchMessages):
15846 (WebCore::MessagePort::dispatchCloseEvent):
15847 (WebCore::MessagePort::dispatchEvent):
15848 * dom/MessagePort.h:
15849 * editing/Editor.cpp:
15850 (WebCore::Editor::dispatchCPPEvent):
15851 (WebCore::dispatchEditableContentChangedEvents):
15852 * editing/ReplaceSelectionCommand.cpp:
15853 (WebCore::ReplacementFragment::ReplacementFragment):
15854 * editing/TypingCommand.cpp:
15855 (WebCore::TypingCommand::insertText):
15856 * loader/appcache/DOMApplicationCache.cpp:
15857 (WebCore::DOMApplicationCache::dispatchEvent):
15858 (WebCore::DOMApplicationCache::callListener):
15859 * loader/appcache/DOMApplicationCache.h:
15860 * page/EventHandler.cpp:
15861 (WebCore::EventHandler::dispatchDragEvent):
15862 (WebCore::EventHandler::keyEvent):
15863 (WebCore::EventHandler::handleTextInputEvent):
15864 * page/FrameView.cpp:
15865 (WebCore::FrameView::scheduleEvent):
15866 (WebCore::FrameView::updateOverflowStatus):
15867 (WebCore::FrameView::dispatchScheduledEvents):
15868 * page/FrameView.h:
15869 * rendering/RenderLayer.cpp:
15870 (WebCore::RenderLayer::scrollToOffset):
15871 (WebCore::RenderLayer::updateOverflowStatus):
15872 * svg/SVGElement.cpp:
15873 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
15874 * svg/SVGElementInstance.cpp:
15875 (WebCore::SVGElementInstance::dispatchEvent):
15876 * svg/SVGElementInstance.h:
15877 * xml/XMLHttpRequest.cpp:
15878 (WebCore::XMLHttpRequest::dispatchEvent):
15879 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
15880 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
15881 * xml/XMLHttpRequest.h:
15882 * xml/XMLHttpRequestUpload.cpp:
15883 (WebCore::XMLHttpRequestUpload::dispatchEvent):
15884 (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
15885 * xml/XMLHttpRequestUpload.h:
15886 Don't pass the tempEvent boolean around.
15887
alp@webkit.org64c083f2008-10-20 11:32:36 +0000158882008-10-20 Alp Toker <alp@nuanti.com>
15889
15890 Remove unused includes only. Partial GTK+/Win build fix.
15891
15892 * platform/graphics/gtk/SimpleFontDataPango.cpp:
15893
ap@webkit.org00a9b882008-10-20 09:24:30 +0000158942008-10-20 Alexey Proskuryakov <ap@webkit.org>
15895
15896 Reviewed by Oliver Hunt.
15897
15898 https://bugs.webkit.org/show_bug.cgi?id=21705
15899 Implement Web Workers client-side API
15900
15901 The implementation is experimental, and disabled by default. It doesn't quite match the
15902 published draft, being influenced by further WHATWG discussions.
15903
15904 This only implements the client-side API, and does not actually create any threads or
15905 global contexts yet.
15906
15907 * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
15908 still not sure if having separate classes for these helps at all.
15909
15910 * WebCore.xcodeproj/project.pbxproj: Added new files.
15911
15912 * bindings/js/JSDOMWindowBase.cpp:
15913 (jsDOMWindowBaseWorker):
15914 (WebCore::JSDOMWindowBase::put):
15915 (setJSDOMWindowBaseWorker):
15916 Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
15917 to match prevailing style.
15918
15919 * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
15920 * bindings/js/JSDedicatedWorkerConstructor.h: Added.
15921 * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
15922 The implementation of event listeners are left custom intentionally, for easier implementation
15923 of listeners that are not tied to any Document in the future.
15924
15925 * dom/DedicatedWorker.cpp: Added.
15926 * dom/DedicatedWorker.h: Added.
15927 * dom/DedicatedWorker.idl: Added.
15928 Added an implementation that can only load requested scripts for now.
15929
darin@apple.comcd9e55b2008-10-20 06:29:32 +0000159302008-10-19 Darin Adler <darin@apple.com>
15931
15932 Reviewed by Dan Bernstein.
15933
15934 - fix assertion seen when opening inspector
15935
15936 * bindings/js/JSQuarantinedObjectWrapper.cpp:
15937 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
15938 Removed unneeded asObject cast.
15939
mitz@apple.com2cce4672008-10-20 03:49:58 +0000159402008-10-19 Dan Bernstein <mitz@apple.com>
15941
15942 Rubber-stamped by Timothy Hatcher.
15943
15944 - remove empty directories and correct the MIME type of inspector images
15945
15946 * page/inspector: Removed.
15947 * page/inspector/Images: Removed.
15948
timothy@apple.com2b1a4132008-10-20 03:43:19 +0000159492008-10-19 Timothy Hatcher <timothy@apple.com>
15950
timothy@apple.com389d6642008-10-20 03:43:57 +000015951 Make the Web Inspector Resources panel open quicker and change graphs
15952 faster. There was some accidental n^2 logic at fault when updating the
15953 graph boundaries.
15954
15955 https://bugs.webkit.org/show_bug.cgi?id=21742
15956
15957 Reviewed by Darin Adler.
15958
15959 * inspector/front-end/ResourcesPanel.js:
15960 (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
15961 a null calculator. Remove the second argument passed to _refreshAllResources.
15962 (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
15963 the calculator for all the stale resources before calling refreshResource.
15964 Pass true for the first argument of refreshResource to skip the boundary update.
15965 (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
15966 the second argument passed to _refreshAllResources.
15967 (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
15968 skipSort argument since every passed true, and it would be bad to pass false.
15969 (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
15970 skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
15971 the resources before calling refreshResource. Pass true for the first argument
15972 of refreshResource to skip the boundary update.
15973
159742008-10-19 Timothy Hatcher <timothy@apple.com>
15975
timothy@apple.coma68e10d2008-10-20 03:43:45 +000015976 Visually distinguish resources that loaded from the memory cache.
15977
15978 https://bugs.webkit.org/show_bug.cgi?id=14279
15979
15980 Reviewed by Dan Bernstein.
15981
15982 * English.lproj/localizedStrings.js: New string.
15983 * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
15984 * inspector/front-end/Images/timelineHollowPillGray.png: Added.
15985 * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
15986 * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
15987 * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
15988 * inspector/front-end/Images/timelineHollowPillRed.png: Added.
15989 * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
15990 * inspector/front-end/ResourcesPanel.js:
15991 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
15992 Add the "(from cache)" suffix to the tooltip.
15993 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
15994 Add the "(from cache)" suffix to the tooltip.
15995 (WebInspector.ResourceGraph): Add the "resource-cached" class.
15996 * inspector/front-end/inspector.css: New styles to make the timeline
15997 bars use the hollow pill images.
15998
159992008-10-19 Timothy Hatcher <timothy@apple.com>
16000
timothy@apple.comc4c00ec2008-10-20 03:43:29 +000016001 Update the scroll position in the Resources panel when loading
16002 a new page or toggling on small resource rows.
16003
16004 https://bugs.webkit.org/show_bug.cgi?id=20114
16005
16006 Reviewed by Darin Adler.
16007
16008 * inspector/front-end/ResourcesPanel.js:
16009 (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
16010 since all the resource are being removed.
16011 (WebInspector.ResourcesPanel.prototype.removeResource): Call
16012 _adjustScrollPosition in case the view is shorter and needs scrolled.
16013 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
16014 (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
16015 the height of the sidebar against the scrollTop and height of the
16016 resourcesContainerElement. If the sidebar is shorter, scroll up
16017 so the last resource is at the bottom again.
16018
160192008-10-19 Timothy Hatcher <timothy@apple.com>
16020
timothy@apple.com2b1a4132008-10-20 03:43:19 +000016021 Show per resource times and sizes when hovering over the bar graph for a resource.
16022
16023 https://bugs.webkit.org/show_bug.cgi?id=14300
16024 rdar://problem/5712802
16025
16026 Reviewed by Cameron Zwarich.
16027
16028 * English.lproj/localizedStrings.js: Add new strings.
16029 * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
16030 * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
16031 * inspector/front-end/ResourcesPanel.js:
16032 (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
16033 ResourceGraph.refresh function.
16034 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
16035 returns the formatted value.
16036 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
16037 for the latency and download times. Also generate a custom tooltip.
16038 (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
16039 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
16040 in case the bar has changed size.
16041 (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
16042 * inspector/front-end/inspector.css: New styles for the labels.
16043
darin@apple.com989a6f82008-10-20 00:28:51 +0000160442008-10-19 Darin Adler <darin@apple.com>
16045
16046 Reviewed by Oliver Hunt.
16047
16048 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
16049 improve performance by eliminating JSValue as a base class for JSCell
16050
16051 Remove most uses of JSValue, which will be removed in a future patch.
16052
16053 * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
16054 and used JSValuePtr instead.
16055 * bindings/js/JSEventTarget.h: Ditto.
16056 * bindings/js/JSNodeFilterCondition.h: Ditto.
16057 * bindings/js/ScheduledAction.h: Ditto.
16058 * bindings/js/ScriptController.h: Ditto.
16059 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
16060 * bridge/c/c_utility.h: Ditto.
16061 * bridge/jni/jni_jsobject.h: Ditto.
16062 * bridge/jni/jni_utility.h: Ditto.
16063 * bridge/objc/WebScriptObject.h: Ditto.
16064 * dom/Traversal.h: Ditto.
16065 * inspector/InspectorController.cpp: Ditto.
16066 * inspector/JavaScriptProfile.h: Ditto.
16067 * inspector/JavaScriptProfileNode.h: Ditto.
16068 * loader/FrameLoader.h: Ditto.
16069 * page/Console.h: Ditto.
16070 * plugins/MimeTypeArray.h: Ditto.
16071 * plugins/Plugin.h: Ditto.
16072 * plugins/PluginArray.h: Ditto.
16073 * plugins/PluginView.cpp:
16074 (WebCore::getString): Ditto.
16075 (WebCore::PluginView::performRequest): Ditto.
16076 * plugins/gtk/PluginViewGtk.cpp: Ditto.
16077 * plugins/qt/PluginViewQt.cpp: Ditto.
16078 * plugins/win/PluginViewWin.cpp: Ditto.
16079
16080 * bridge/qt/qt_class.cpp:
16081 (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
16082 instead of JSValue*.
16083 * bridge/qt/qt_class.h: Ditto.
16084 * bridge/qt/qt_instance.cpp:
16085 (JSC::Bindings::QtInstance::mark): Ditto.
16086 (JSC::Bindings::QtInstance::invokeMethod): Ditto.
16087 (JSC::Bindings::QtInstance::defaultValue): Ditto.
16088 (JSC::Bindings::QtInstance::stringValue): Ditto.
16089 (JSC::Bindings::QtInstance::numberValue): Ditto.
16090 (JSC::Bindings::QtInstance::booleanValue): Ditto.
16091 (JSC::Bindings::QtInstance::valueOf): Ditto.
16092 (JSC::Bindings::QtField::valueFromInstance): Ditto.
16093 (JSC::Bindings::QtField::setValueToInstance): Ditto.
16094 * bridge/qt/qt_instance.h: Ditto.
16095 * bridge/qt/qt_runtime.cpp: Ditto.
16096 (JSC::Bindings::valueRealType): Ditto.
16097 (JSC::Bindings::convertValueToQVariant): Ditto.
16098 (JSC::Bindings::convertQVariantToValue): Ditto.
16099 (JSC::Bindings::findMethodIndex): Ditto.
16100 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
16101 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
16102 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
16103 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
16104 (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
16105 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
16106 (JSC::Bindings::QtArray::setValueAt): Ditto.
16107 (JSC::Bindings::QtArray::valueAt): Ditto.
16108 * bridge/qt/qt_runtime.h: Ditto.
16109
16110 * bridge/testqtbindings.cpp:
16111 (main): Use JSValuePtr.
16112
darin@apple.com5c465b02008-10-19 16:58:58 +0000161132008-10-18 Darin Adler <darin@apple.com>
16114
16115 Reviewed by Oliver Hunt.
16116
16117 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
16118 improve performance by eliminating JSValue as a base class for JSCell
16119
16120 Tweak a little more to get closer to where we can make JSValuePtr a class.
16121
16122 * bindings/js/JSAudioConstructor.cpp:
16123 (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
16124 (WebCore::constructAudio): Ditto.
16125 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
16126 (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
16127
16128 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
16129 (WebCore::toHTMLCanvasStyle): Use asString and asObject.
16130 (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
16131 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
16132 (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
16133 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
16134 (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
16135 (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
16136
16137 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
16138 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
16139
16140 * bindings/js/JSDOMBinding.cpp:
16141 (WebCore::setDOMException): Use noValue.
16142
16143 * bindings/js/JSDOMBinding.h:
16144 (WebCore::getDOMPrototype): Use asObject.
16145
16146 * bindings/js/JSDOMWindowBase.cpp:
16147 (WebCore::showModalDialog): Use noValue.
16148 (jsDOMWindowBaseEvent): Use asObject.
16149 (jsDOMWindowBaseImage): Ditto.
16150 (jsDOMWindowBaseMessageChannel): Ditto.
16151 (jsDOMWindowBaseOption): Ditto.
16152 (jsDOMWindowBaseXMLHttpRequest): Ditto.
16153 (jsDOMWindowBaseAudio): Ditto.
16154 (jsDOMWindowBaseXSLTProcessor): Ditto.
16155 (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
16156 (WebCore::JSDOMWindowBase::indexGetter): Ditto.
16157 (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
16158 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
16159 (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
16160 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
16161 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
16162 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
16163 (windowProtoFuncOpen): Use noValue.
16164 (WebCore::toJSDOMWindow): Use asObject.
16165
16166 * bindings/js/JSDOMWindowCustom.cpp:
16167 (WebCore::setTimeoutOrInterval): Use asString.
16168 (WebCore::toDOMWindow): Use asObject.
16169
16170 * bindings/js/JSEventListener.cpp:
16171 (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
16172 (WebCore::JSLazyEventListener::parseCode): Use asObject.
16173
16174 * bindings/js/JSHTMLCollectionCustom.cpp:
16175 (WebCore::JSHTMLCollection::nameGetter): Use asObject.
16176 * bindings/js/JSHTMLDocumentCustom.cpp:
16177 (WebCore::JSHTMLDocument::nameGetter): Ditto.
16178 * bindings/js/JSHTMLElementCustom.cpp:
16179 (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
16180 * bindings/js/JSHTMLFormElementCustom.cpp:
16181 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
16182 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
16183 (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
16184 * bindings/js/JSHTMLOptionElementConstructor.cpp:
16185 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
16186 (WebCore::constructHTMLOptionElement): Ditto.
16187 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
16188 (WebCore::JSHTMLOptionsCollection::remove): Ditto.
16189 * bindings/js/JSImageConstructor.cpp:
16190 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
16191 (WebCore::constructImage): Ditto.
16192 * bindings/js/JSInspectedObjectWrapper.cpp:
16193 (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
16194 * bindings/js/JSInspectorCallbackWrapper.cpp:
16195 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
16196
16197 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
16198 (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
16199
16200 * bindings/js/JSMessageChannelConstructor.cpp:
16201 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
16202 (WebCore::JSMessageChannelConstructor::construct): Ditto.
16203 * bindings/js/JSMimeTypeArrayCustom.cpp:
16204 (WebCore::JSMimeTypeArray::nameGetter): Ditto.
16205 * bindings/js/JSNamedNodeMapCustom.cpp:
16206 (WebCore::JSNamedNodeMap::nameGetter): Ditto.
16207 * bindings/js/JSNamedNodesCollection.cpp:
16208 (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
16209 (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
16210 * bindings/js/JSNodeFilterCustom.cpp:
16211 (WebCore::toNodeFilter): Ditto.
16212 * bindings/js/JSNodeListCustom.cpp:
16213 (WebCore::JSNodeList::nameGetter): Ditto.
16214 * bindings/js/JSPluginArrayCustom.cpp:
16215 (WebCore::JSPluginArray::nameGetter): Ditto.
16216 * bindings/js/JSPluginCustom.cpp:
16217 (WebCore::JSPlugin::nameGetter): Ditto.
16218 * bindings/js/JSPluginElementFunctions.cpp:
16219 (WebCore::runtimeObjectGetter): Ditto.
16220 (WebCore::runtimeObjectPropertyGetter): Ditto.
16221 * bindings/js/JSQuarantinedObjectWrapper.cpp:
16222 (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
16223 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
16224 (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
16225 * bindings/js/JSRGBColor.cpp:
16226 (jsRGBColorRed): Ditto.
16227 (jsRGBColorGreen): Ditto.
16228 (jsRGBColorBlue): Ditto.
16229
16230 * bindings/js/JSSQLResultSetRowListCustom.cpp:
16231 (WebCore::JSSQLResultSetRowList::item): Use noValue.
16232
16233 * bindings/js/JSStorageCustom.cpp:
16234 (WebCore::JSStorage::nameGetter): Use asObject.
16235 (WebCore::JSStorage::deleteProperty): Ditto.
16236 (WebCore::JSStorage::customPut): Ditto.
16237 * bindings/js/JSStyleSheetListCustom.cpp:
16238 (WebCore::JSStyleSheetList::nameGetter): Ditto.
16239 * bindings/js/JSXMLHttpRequestConstructor.cpp:
16240 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
16241 * bindings/js/JSXSLTProcessorCustom.cpp:
16242 (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
16243 (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
16244 (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
16245
16246 * bindings/js/ScriptController.cpp:
16247 (WebCore::ScriptController::evaluate): Use noValue.
16248 * bindings/objc/DOMInternal.mm:
16249 (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
16250
16251 * bindings/objc/WebScriptObject.mm:
16252 (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
16253 (-[WebScriptObject valueForKey:]): Ditto.
16254 (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
16255 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
16256 Use asObject and asString.
16257
16258 * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
16259
16260 * bridge/c/c_instance.h: Use JSValuePtr.
16261 * bridge/c/c_runtime.cpp:
16262 (JSC::Bindings::CField::setValueToInstance): Ditto.
16263
16264 * bridge/c/c_utility.cpp:
16265 (JSC::Bindings::convertValueToNPVariant): Use asObject.
16266
16267 * bridge/jni/jni_instance.cpp:
16268 (JavaInstance::booleanValue): Use JSValuePtr.
16269 (JavaInstance::invokeMethod): Ditto. And noValue.
16270 * bridge/jni/jni_jsobject.mm:
16271 (JavaJSObject::getSlot): Ditto.
16272 (JavaJSObject::convertValueToJObject): Ditto.
16273 * bridge/jni/jni_runtime.cpp:
16274 (JavaField::dispatchValueFromInstance): Ditto.
16275 (JavaField::valueFromInstance): Ditto.
16276 (JavaField::dispatchSetValueToInstance): Ditto.
16277 (JavaField::setValueToInstance): Ditto.
16278 (JavaArray::setValueAt): Ditto.
16279 (JavaArray::valueAt): Ditto.
16280 * bridge/jni/jni_runtime.h: Ditto.
16281
16282 * bridge/jni/jni_utility.cpp:
16283 (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
16284 instead of a JSValue*.
16285 (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
16286
16287 * bridge/objc/objc_class.h: Use JSValuePtr.
16288 * bridge/objc/objc_instance.h: Ditto.
16289 * bridge/objc/objc_runtime.h: Ditto.
16290
16291 * bridge/objc/objc_runtime.mm:
16292 (JSC::Bindings::callObjCFallbackObject): Use asObject.
16293
16294 * bridge/objc/objc_utility.h: Use JSValuePtr.
16295 * bridge/objc/objc_utility.mm:
16296 (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
16297 (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
16298
16299 * bridge/runtime.cpp:
16300 (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
16301 (JSC::Bindings::Instance::setValueOfField): Ditto.
16302
16303 * bridge/runtime_array.cpp:
16304 (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
16305 (JSC::RuntimeArray::indexGetter): Ditto.
16306 * bridge/runtime_array.h: Ditto.
16307 * bridge/runtime_method.cpp:
16308 (JSC::RuntimeMethod::lengthGetter): Ditto.
16309 (JSC::callRuntimeMethod): Ditto.
16310 * bridge/runtime_object.cpp:
16311 (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
16312 (JSC::RuntimeObjectImp::fieldGetter): Ditto.
16313 (JSC::RuntimeObjectImp::methodGetter): Ditto.
16314
16315 * loader/FrameLoader.cpp:
16316 (WebCore::FrameLoader::executeScript): Use noValue.
16317
16318 * page/Console.cpp:
16319 (WebCore::Console::trace): Use asInternalFunction.
16320
mitz@apple.com50ba3892008-10-19 16:41:50 +0000163212008-10-19 Dan Bernstein <mitz@apple.com>
16322
16323 Reviewed by Timothy Hatcher.
16324
16325 - lower the default button repaint frequency
16326
16327 * rendering/RenderButton.cpp:
16328 (WebCore::RenderButton::styleDidChange): Changed the timer interval from
16329 0.01 to 0.03.
16330
mitz@apple.com3076b4b2008-10-19 02:53:39 +0000163312008-10-18 Dan Bernstein <mitz@apple.com>
16332
mitz@apple.comfc465242008-10-19 06:26:15 +000016333 Reviewed by Mark Rowe.
16334
16335 - Windows build fix
16336
16337 * rendering/RenderThemeSafari.cpp:
16338 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
16339 (WebCore::RenderThemeSafari::paintMediaMuteButton):
16340 (WebCore::RenderThemeSafari::paintMediaPlayButton):
16341 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
16342 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
16343 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
16344
163452008-10-18 Dan Bernstein <mitz@apple.com>
16346
mitz@apple.com3076b4b2008-10-19 02:53:39 +000016347 Reviewed by Sam Weinig.
16348
16349 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
16350 Long-dead decoded image data make up for most of the object cache's memory use over time
16351
16352 Add a cache setting for how long decoded image data should be allowed to
16353 persist in memory after the image has died. By default, this is set to
16354 0, which means "forever".
16355
16356 * loader/Cache.cpp:
16357 (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
16358 * loader/Cache.h:
16359 (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
16360 (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
16361 * loader/CachedImage.cpp:
16362 (WebCore::CachedImage::CachedImage): Initialize the decoded data
16363 deletion timer.
16364 (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
16365 the decoded image data.
16366 (WebCore::CachedImage::addClient): Stop the timer if it is active.
16367 (WebCore::CachedImage::allClientsRemoved): Start the decoded data
16368 deletion timer.
16369 * loader/CachedImage.h:
16370
darin@apple.com9c9096f2008-10-18 21:54:01 +0000163712008-10-18 Darin Adler <darin@apple.com>
16372
darin@apple.com05b30262008-10-19 02:12:26 +000016373 Reviewed by Dan Bernstein.
16374
16375 - fix https://bugs.webkit.org/show_bug.cgi?id=21645
16376 REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
16377
16378 * html/HTMLFormElement.cpp:
16379 (WebCore::HTMLFormElement::formData):
16380 Fix loop that goes through the FormDataList to go two at a time in a clearer
16381 way. My last patch screwed up the way it got form content from the items.
darin@apple.comf20ce3332008-10-19 02:14:16 +000016382 This "two at a time" approach is a confusing way to do things, which explains
16383 why I got it wrong last time through, but I decided to just fix it locally for
16384 now rather than changing the design of FormDataList.
darin@apple.com05b30262008-10-19 02:12:26 +000016385
163862008-10-18 Darin Adler <darin@apple.com>
16387
darin@apple.com67c6c012008-10-19 01:52:42 +000016388 Reviewed by Cameron Zwarich.
16389
16390 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
16391 improve performance by eliminating JSValue as a base class for JSCell
16392
16393 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
16394 changing JSValuePtr to be a class, and then eventually renaming it
16395 to JSValue once that's done.
16396
16397 * bindings/js/JSAttrCustom.cpp:
16398 * bindings/js/JSCSSRuleCustom.cpp:
16399 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
16400 * bindings/js/JSCSSValueCustom.cpp:
16401 * bindings/js/JSCanvasPixelArrayCustom.h:
16402 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
16403 * bindings/js/JSClipboardCustom.cpp:
16404 * bindings/js/JSConsoleCustom.cpp:
16405 * bindings/js/JSCustomSQLStatementCallback.cpp:
16406 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
16407 * bindings/js/JSCustomSQLTransactionCallback.cpp:
16408 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
16409 * bindings/js/JSCustomVoidCallback.cpp:
16410 * bindings/js/JSCustomVoidCallback.h:
16411 * bindings/js/JSCustomXPathNSResolver.cpp:
16412 * bindings/js/JSDOMApplicationCacheCustom.cpp:
16413 * bindings/js/JSDOMBinding.cpp:
16414 * bindings/js/JSDOMBinding.h:
16415 * bindings/js/JSDOMWindowBase.cpp:
16416 * bindings/js/JSDOMWindowBase.h:
16417 * bindings/js/JSDOMWindowCustom.cpp:
16418 * bindings/js/JSDOMWindowCustom.h:
16419 * bindings/js/JSDOMWindowShell.cpp:
16420 * bindings/js/JSDOMWindowShell.h:
16421 * bindings/js/JSDatabaseCustom.cpp:
16422 * bindings/js/JSDocumentCustom.cpp:
16423 * bindings/js/JSElementCustom.cpp:
16424 * bindings/js/JSEventCustom.cpp:
16425 * bindings/js/JSEventListener.cpp:
16426 * bindings/js/JSEventTarget.cpp:
16427 * bindings/js/JSEventTargetBase.h:
16428 * bindings/js/JSEventTargetNodeCustom.cpp:
16429 * bindings/js/JSHTMLAllCollection.h:
16430 * bindings/js/JSHTMLAppletElementCustom.cpp:
16431 * bindings/js/JSHTMLCollectionCustom.cpp:
16432 * bindings/js/JSHTMLDocumentCustom.cpp:
16433 * bindings/js/JSHTMLEmbedElementCustom.cpp:
16434 * bindings/js/JSHTMLFormElementCustom.cpp:
16435 * bindings/js/JSHTMLFrameElementCustom.cpp:
16436 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
16437 * bindings/js/JSHTMLIFrameElementCustom.cpp:
16438 * bindings/js/JSHTMLInputElementCustom.cpp:
16439 * bindings/js/JSHTMLObjectElementCustom.cpp:
16440 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
16441 * bindings/js/JSHTMLSelectElementCustom.cpp:
16442 * bindings/js/JSHTMLSelectElementCustom.h:
16443 * bindings/js/JSHistoryCustom.cpp:
16444 * bindings/js/JSImageDataCustom.cpp:
16445 * bindings/js/JSInspectedObjectWrapper.cpp:
16446 * bindings/js/JSInspectedObjectWrapper.h:
16447 * bindings/js/JSInspectorCallbackWrapper.cpp:
16448 * bindings/js/JSInspectorCallbackWrapper.h:
16449 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
16450 * bindings/js/JSLocationCustom.cpp:
16451 * bindings/js/JSMessagePortCustom.cpp:
16452 * bindings/js/JSMimeTypeArrayCustom.cpp:
16453 * bindings/js/JSNamedNodeMapCustom.cpp:
16454 * bindings/js/JSNamedNodesCollection.cpp:
16455 * bindings/js/JSNamedNodesCollection.h:
16456 * bindings/js/JSNavigatorCustom.cpp:
16457 * bindings/js/JSNodeCustom.cpp:
16458 * bindings/js/JSNodeFilterCondition.cpp:
16459 * bindings/js/JSNodeFilterCustom.cpp:
16460 * bindings/js/JSNodeIteratorCustom.cpp:
16461 * bindings/js/JSNodeListCustom.cpp:
16462 * bindings/js/JSPluginArrayCustom.cpp:
16463 * bindings/js/JSPluginCustom.cpp:
16464 * bindings/js/JSPluginElementFunctions.cpp:
16465 * bindings/js/JSPluginElementFunctions.h:
16466 * bindings/js/JSQuarantinedObjectWrapper.cpp:
16467 * bindings/js/JSQuarantinedObjectWrapper.h:
16468 * bindings/js/JSRGBColor.cpp:
16469 * bindings/js/JSRGBColor.h:
16470 * bindings/js/JSSQLResultSetRowListCustom.cpp:
16471 * bindings/js/JSSQLTransactionCustom.cpp:
16472 * bindings/js/JSSVGElementInstanceCustom.cpp:
16473 * bindings/js/JSSVGLengthCustom.cpp:
16474 * bindings/js/JSSVGMatrixCustom.cpp:
16475 * bindings/js/JSSVGPathSegCustom.cpp:
16476 * bindings/js/JSSVGPathSegListCustom.cpp:
16477 * bindings/js/JSSVGPointListCustom.cpp:
16478 * bindings/js/JSSVGTransformListCustom.cpp:
16479 * bindings/js/JSStorageCustom.cpp:
16480 * bindings/js/JSStyleSheetCustom.cpp:
16481 * bindings/js/JSStyleSheetListCustom.cpp:
16482 * bindings/js/JSTextCustom.cpp:
16483 * bindings/js/JSTreeWalkerCustom.cpp:
16484 * bindings/js/JSXMLHttpRequestCustom.cpp:
16485 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
16486 * bindings/js/JSXSLTProcessorCustom.cpp:
16487 * bindings/js/ScheduledAction.cpp:
16488 * bindings/js/ScheduledAction.h:
16489 * bindings/js/ScriptController.cpp:
16490 * bindings/js/ScriptController.h:
16491 * bindings/objc/WebScriptObject.mm:
16492 * bindings/scripts/CodeGeneratorJS.pm:
16493 * bridge/NP_jsobject.cpp:
16494 * bridge/c/c_instance.cpp:
16495 * bridge/c/c_instance.h:
16496 * bridge/c/c_runtime.cpp:
16497 * bridge/c/c_runtime.h:
16498 * bridge/c/c_utility.cpp:
16499 * bridge/jni/jni_instance.cpp:
16500 * bridge/jni/jni_instance.h:
16501 * bridge/jni/jni_jsobject.mm:
16502 * bridge/jni/jni_objc.mm:
16503 * bridge/jni/jni_runtime.cpp:
16504 * bridge/jni/jni_runtime.h:
16505 * bridge/jni/jni_utility.cpp:
16506 * bridge/objc/objc_class.mm:
16507 * bridge/objc/objc_instance.h:
16508 * bridge/objc/objc_instance.mm:
16509 * bridge/objc/objc_runtime.h:
16510 * bridge/objc/objc_runtime.mm:
16511 * bridge/objc/objc_utility.h:
16512 * bridge/objc/objc_utility.mm:
16513 * bridge/runtime.h:
16514 * bridge/runtime_array.cpp:
16515 * bridge/runtime_array.h:
16516 * bridge/runtime_method.cpp:
16517 * bridge/runtime_method.h:
16518 * bridge/runtime_object.cpp:
16519 * bridge/runtime_object.h:
16520 * inspector/JavaScriptCallFrame.cpp:
16521 * inspector/JavaScriptCallFrame.h:
16522 * inspector/JavaScriptProfile.cpp:
16523 * inspector/JavaScriptProfileNode.cpp:
16524 * loader/FrameLoader.cpp:
16525 * loader/FrameLoader.h:
16526 * page/Console.cpp:
16527 * page/Console.h:
16528 * plugins/MimeTypeArray.h:
16529 * plugins/Plugin.h:
16530 * plugins/PluginArray.h:
16531 * xml/XMLHttpRequest.cpp:
16532 Replace JSValue* with JSValuePtr.
16533
165342008-10-18 Darin Adler <darin@apple.com>
16535
darin@apple.com5a494422008-10-18 23:08:12 +000016536 Reviewed by Oliver Hunt.
16537
16538 - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
16539 improve performance by eliminating JSValue as a base class for JSCell
16540
16541 Update for change to make PreferredPrimitiveType no longer
16542 a member of JSValue.
16543
16544 * bridge/c/c_instance.cpp:
16545 (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
16546 * bridge/jni/jni_instance.cpp:
16547 (JavaInstance::defaultValue): Ditto.
16548 * bridge/objc/objc_instance.mm:
16549 (ObjcInstance::defaultValue): Ditto.
16550 * bridge/qt/qt_instance.cpp:
16551 (JSC::Bindings::QtInstance::defaultValue): Ditto.
16552 * bridge/runtime.h: Ditto. Also removed typedef.
16553
165542008-10-18 Darin Adler <darin@apple.com>
16555
darin@apple.com9c9096f2008-10-18 21:54:01 +000016556 - try to fix Windows build
16557
16558 * rendering/RenderThemeSafari.cpp:
16559 (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
16560 SafariTheme namespace, since there is now an identically named constant in
16561 the ControlPart enum.
16562 (WebCore::RenderThemeSafari::paintButton): Ditto.
16563 (WebCore::RenderThemeSafari::paintTextField): Ditto.
16564 (WebCore::RenderThemeSafari::paintTextArea): Ditto.
16565 (WebCore::RenderThemeSafari::paintSearchField): Ditto.
16566 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
16567 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
16568 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
16569
jmalonzo@webkit.orgbb77ef92008-10-18 21:23:59 +0000165702008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
16571
16572 Reviewed by Alp Toker.
16573
16574 [GTK] crash after selecting a file on an <input type=file>
16575 https://bugs.webkit.org/show_bug.cgi?id=21385
16576
16577 Follow Mac and Win's behaviors for Icon::paint
16578
16579 * platform/graphics/gtk/IconGtk.cpp:
16580 (WebCore::Icon::paint): check if painting is enabled before
16581 painting the icon
16582
oliver@apple.com154f91e2008-10-18 08:44:34 +0000165832008-10-18 Zan Dobersek <zandobersek@gmail.com>
16584
16585 Reviewed by Oliver Hunt.
16586
16587 Qt port build fix.
16588
16589 * platform/qt/RenderThemeQt.h:
16590
kevino@webkit.org75d2aee2008-10-18 00:03:58 +0000165912008-10-17 Kevin Watters <kevinwatters@gmail.com>
16592
16593 Reviewed by Kevin Ollivier
16594
16595 Fix wx port's scrollbar and drawing handling after recent changes.
16596
16597 https://bugs.webkit.org/show_bug.cgi?id=21720
16598
16599 * platform/ScrollView.h:
16600 * platform/wx/ScrollViewWx.cpp:
16601 (WebCore::ScrollView::platformVisibleContentRect):
16602 (WebCore::ScrollView::platformContentsSize):
16603 (WebCore::ScrollView::platformSetContentsSize):
16604 * platform/wx/WidgetWx.cpp:
16605 (WebCore::Widget::paint):
16606
kevino@webkit.orgc81374f2008-10-17 23:22:58 +0000166072008-10-17 Kevin Ollivier <kevino@theolliviers.com>
16608
16609 wx build fix. EAppearance -> ControlPart.
16610
16611 * platform/wx/RenderThemeWx.cpp:
16612 (WebCore::RenderThemeWx::isControlStyled):
16613 (WebCore::RenderThemeWx::adjustRepaintRect):
16614 (WebCore::RenderThemeWx::controlSupportsTints):
16615 (WebCore::RenderThemeWx::supportsFocus):
16616 (WebCore::RenderThemeWx::paintButton):
16617
hyatt@apple.com084394f2008-10-17 21:26:46 +0000166182008-10-17 David Hyatt <hyatt@apple.com>
16619
hyatt@apple.com5cdc5e042008-10-17 22:02:16 +000016620 Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
16621 values from the enum since they are handled by ScrollbarTheme instead.
16622
16623 Reviewed by Tim Hatcher
16624
16625 * css/CSSPrimitiveValueMappings.h:
16626 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
16627 (WebCore::CSSPrimitiveValue::operator ControlPart):
16628 * css/CSSStyleSelector.cpp:
16629 (WebCore::CSSStyleSelector::adjustRenderStyle):
16630 * css/CSSValueKeywords.in:
16631 * platform/gtk/RenderThemeGtk.cpp:
16632 (WebCore::supportsFocus):
16633 (WebCore::RenderThemeGtk::baselinePosition):
16634 (WebCore::setToggleSize):
16635 (WebCore::RenderThemeGtk::setCheckboxSize):
16636 (WebCore::RenderThemeGtk::setRadioSize):
16637 (WebCore::RenderThemeGtk::adjustButtonStyle):
16638 * platform/qt/RenderThemeQt.cpp:
16639 (WebCore::RenderThemeQt::baselinePosition):
16640 (WebCore::RenderThemeQt::controlSupportsTints):
16641 (WebCore::RenderThemeQt::adjustRepaintRect):
16642 (WebCore::RenderThemeQt::isControlStyled):
16643 (WebCore::computeSizeBasedOnStyle):
16644 (WebCore::RenderThemeQt::paintButton):
16645 (WebCore::RenderThemeQt::paintTextField):
16646 (WebCore::RenderThemeQt::paintMenuList):
16647 (WebCore::RenderThemeQt::supportsFocus):
16648 (WebCore::RenderThemeQt::applyTheme):
16649 (WebCore::RenderThemeQt::adjustSliderThumbSize):
16650 * platform/qt/RenderThemeQt.h:
16651 * rendering/RenderSlider.cpp:
16652 (WebCore::RenderSlider::createThumbStyle):
16653 (WebCore::RenderSlider::layout):
16654 (WebCore::RenderSlider::setValueForPosition):
16655 (WebCore::RenderSlider::setPositionFromValue):
16656 (WebCore::RenderSlider::positionForOffset):
16657 (WebCore::RenderSlider::currentPosition):
16658 (WebCore::RenderSlider::setCurrentPosition):
16659 (WebCore::RenderSlider::trackSize):
16660 * rendering/RenderTheme.cpp:
16661 (WebCore::RenderTheme::adjustStyle):
16662 (WebCore::RenderTheme::paint):
16663 (WebCore::RenderTheme::paintBorderOnly):
16664 (WebCore::RenderTheme::paintDecorations):
16665 (WebCore::RenderTheme::isControlContainer):
16666 (WebCore::RenderTheme::isControlStyled):
16667 (WebCore::RenderTheme::supportsFocusRing):
16668 (WebCore::RenderTheme::isDefault):
16669 * rendering/RenderTheme.h:
16670 * rendering/RenderThemeMac.mm:
16671 (WebCore::RenderThemeMac::isControlStyled):
16672 (WebCore::RenderThemeMac::adjustRepaintRect):
16673 (WebCore::RenderThemeMac::baselinePosition):
16674 (WebCore::RenderThemeMac::controlSupportsTints):
16675 (WebCore::RenderThemeMac::adjustButtonStyle):
16676 (WebCore::RenderThemeMac::setButtonCellState):
16677 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
16678 (WebCore::RenderThemeMac::popupInternalPaddingRight):
16679 (WebCore::RenderThemeMac::popupInternalPaddingTop):
16680 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
16681 (WebCore::RenderThemeMac::paintSliderTrack):
16682 (WebCore::RenderThemeMac::paintSliderThumb):
16683 (WebCore::RenderThemeMac::adjustSliderThumbSize):
16684 * rendering/RenderThemeSafari.cpp:
16685 (WebCore::RenderThemeSafari::isControlStyled):
16686 (WebCore::RenderThemeSafari::adjustRepaintRect):
16687 (WebCore::RenderThemeSafari::baselinePosition):
16688 (WebCore::RenderThemeSafari::controlSupportsTints):
16689 (WebCore::RenderThemeSafari::adjustButtonStyle):
16690 (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
16691 (WebCore::RenderThemeSafari::popupInternalPaddingRight):
16692 (WebCore::RenderThemeSafari::popupInternalPaddingTop):
16693 (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
16694 (WebCore::RenderThemeSafari::paintSliderTrack):
16695 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
16696 * rendering/RenderThemeWin.cpp:
16697 (WebCore::RenderThemeWin::supportsFocus):
16698 (WebCore::RenderThemeWin::determineClassicState):
16699 (WebCore::RenderThemeWin::getClassicThemeData):
16700 (WebCore::RenderThemeWin::getThemeData):
16701 (WebCore::drawControl):
16702 (WebCore::RenderThemeWin::paintSliderTrack):
16703 (WebCore::RenderThemeWin::adjustSliderThumbSize):
16704 * rendering/RenderThemeWin.h:
16705 * rendering/style/RenderStyle.h:
16706 (WebCore::InheritedFlags::hasAppearance):
16707 (WebCore::InheritedFlags::appearance):
16708 (WebCore::InheritedFlags::setAppearance):
16709 (WebCore::InheritedFlags::initialAppearance):
16710 * rendering/style/RenderStyleConstants.h:
16711
167122008-10-17 David Hyatt <hyatt@apple.com>
16713
hyatt@apple.com084394f2008-10-17 21:26:46 +000016714 Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
16715 file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.
16716
16717 Reviewed by Tim Hatcher
16718
16719 * WebCore.vcproj/WebCore.vcproj:
16720 * WebCore.xcodeproj/project.pbxproj:
16721 * config.h:
16722 * platform/Theme.h: Added.
16723 (WebCore::Theme::Theme):
16724 (WebCore::Theme::~Theme):
16725 (WebCore::Theme::baselinePositionAdjustment):
16726 (WebCore::Theme::controlHasInactiveAppearance):
16727 (WebCore::Theme::controlsCanHaveInactiveAppearance):
16728 (WebCore::Theme::controlsCanHaveHoveredAppearance):
16729 (WebCore::Theme::controlDrawsBorder):
16730 (WebCore::Theme::controlDrawsBackground):
16731 (WebCore::Theme::controlDrawsFocusOutline):
16732 (WebCore::Theme::selectionColor):
16733 (WebCore::Theme::textSearchHighlightColor):
16734 (WebCore::Theme::systemColor):
16735 (WebCore::Theme::systemFont):
16736 (WebCore::Theme::caretBlinkFrequency):
16737 (WebCore::Theme::themeChanged):
16738 (WebCore::Theme::controlSize):
16739 (WebCore::Theme::controlFont):
16740 (WebCore::Theme::controlPadding):
16741 (WebCore::Theme::controlInternalPadding):
16742 (WebCore::Theme::controlBorder):
16743 (WebCore::Theme::controlBorderRadius):
16744 (WebCore::Theme::paint):
16745 (WebCore::Theme::inflateControlPaintRect):
16746 * platform/ThemeTypes.h: Added.
16747 (WebCore::):
16748 (WebCore::ControlBox::ControlBox):
16749 (WebCore::ControlBox::top):
16750 (WebCore::ControlBox::right):
16751 (WebCore::ControlBox::bottom):
16752 (WebCore::ControlBox::left):
16753 * platform/mac/ThemeMac.h: Added.
16754 (WebCore::ThemeMac::ThemeMac):
16755 (WebCore::ThemeMac::~ThemeMac):
16756 * platform/mac/ThemeMac.mm: Added.
16757 (WebCore::platformTheme):
16758 * rendering/RenderTheme.cpp:
16759 (WebCore::RenderTheme::RenderTheme):
16760 * rendering/RenderTheme.h:
16761
jmalonzo@webkit.org38edc132008-10-17 21:16:01 +0000167622008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>
16763
16764 Reviewed by Sam Weinig. Landed by Jan Alonzo.
16765
16766 https://bugs.webkit.org/show_bug.cgi?id=21603
16767 [GTK] Minor fixes to GOwnPtr
16768
16769 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
16770 (WebCore::mediaPlayerPrivateErrorCallback):
16771
timothy@apple.com4bfc7332008-10-17 16:51:03 +0000167722008-10-17 Timothy Hatcher <timothy@apple.com>
16773
timothy@apple.com22edf572008-10-17 21:04:42 +000016774 Recompile the JavaScript functions when removing any listener, so functions that are
16775 not being debugged can resume normal speed again.
16776
16777 https://bugs.webkit.org/show_bug.cgi?id=21715
16778
16779 Reviewed by Geoffrey Garen.
16780
16781 * bindings/js/JSDOMWindowBase.cpp:
16782 (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
16783 was firing when closing the window and having the recompile fire after. This was an
16784 overzelious assert now.
16785 * inspector/JavaScriptDebugServer.cpp:
16786 (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
16787 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
16788
167892008-10-17 Timothy Hatcher <timothy@apple.com>
16790
timothy@apple.com4bfc7332008-10-17 16:51:03 +000016791 Fixes a regression where starting a debugging session in
16792 another Web Inspector window would not show any scripts.
16793 Also only attach the debugger to only the required Pages.
16794
16795 https://bugs.webkit.org/show_bug.cgi?id=21708
16796
16797 Reviewed by Darin Adler.
16798
16799 * inspector/JavaScriptDebugServer.cpp:
16800 (WebCore::JavaScriptDebugServer::addListener): Add an assert and
16801 remove the call to willAddFirstListener(). Add a call to
16802 didAddListener().
16803 (WebCore::JavaScriptDebugServer::removeListener): Add an assert
16804 and call to didRemoveListener().
16805 (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
16806 if there is a listener interested in the new Page.
16807 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
16808 Use hasGlobalListeners() instead of isEmpty().
16809 (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
16810 (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
16811 debugger to the page if non-null, or all pages if page is null.
16812 (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
16813 the debugger only if there are no interested listeners.
16814 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
16815 call to Page::setDebuggerForAllPages().
16816 * inspector/JavaScriptDebugServer.h:
16817 (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
16818
brettw@chromium.orgaf9954f2008-10-17 15:56:24 +0000168192008-10-15 Brett Wilson <brettw@chromium.org>
16820
16821 Reviewed by Timothy Hatcher.
16822
16823 Have ImageDocument generate its own filename for the title of images
16824 without relying on the suggested filename from the network layer, which
16825 may be nonexistant or not relevant.
16826 https://bugs.webkit.org/show_bug.cgi?id=21565
16827
16828 * loader/ImageDocument.cpp:
16829 (WebCore::ImageTokenizer::finish):
16830
ap@webkit.org2114abd2008-10-17 08:10:55 +0000168312008-10-17 Alexey Proskuryakov <ap@webkit.org>
16832
ap@webkit.org6959ea02008-10-17 13:35:28 +000016833 Non-Mac build fix.
16834
16835 * GNUmakefile.am:
16836 * WebCore.pro:
16837 * WebCore.vcproj/WebCore.vcproj:
16838 * WebCoreSources.bkl:
16839 Added ActiveDOMObject to the build.
16840
168412008-10-17 Alexey Proskuryakov <ap@webkit.org>
16842
ap@webkit.org2114abd2008-10-17 08:10:55 +000016843 Reviewed by Sam Weinig.
16844
16845 https://bugs.webkit.org/show_bug.cgi?id=21642
16846 Abstract out active object tracking
16847
16848 * WebCore.xcodeproj/project.pbxproj:
16849 * bindings/js/JSDOMBinding.cpp:
16850 (WebCore::markActiveObjectsForDocument):
16851 * dom/ActiveDOMObject.cpp: Added.
16852 (WebCore::ActiveDOMObject::ActiveDOMObject):
16853 (WebCore::ActiveDOMObject::~ActiveDOMObject):
16854 (WebCore::ActiveDOMObject::contextDestroyed):
16855 (WebCore::ActiveDOMObject::stop):
16856 * dom/ActiveDOMObject.h: Added.
16857 (WebCore::ActiveDOMObject::document):
16858 (WebCore::ActiveDOMObject::hasPendingActivity):
16859 (WebCore::ActiveDOMObject::setPendingActivity):
16860 (WebCore::ActiveDOMObject::unsetPendingActivity):
16861 * dom/Document.cpp:
16862 (WebCore::Document::~Document):
16863 (WebCore::Document::stopActiveDOMObjects):
16864 (WebCore::Document::createdActiveDOMObject):
16865 (WebCore::Document::destroyedActiveDOMObject):
16866 * dom/Document.h:
16867 (WebCore::Document::activeDOMObjects):
16868 * dom/MessagePort.cpp:
16869 (WebCore::MessagePort::contextDestroyed):
16870 * dom/MessagePort.h:
16871 * loader/FrameLoader.cpp:
16872 (WebCore::FrameLoader::stopLoading):
16873 * xml/XMLHttpRequest.cpp:
16874 (WebCore::XMLHttpRequest::XMLHttpRequest):
16875 (WebCore::XMLHttpRequest::~XMLHttpRequest):
16876 (WebCore::XMLHttpRequest::associatedFrame):
16877 (WebCore::XMLHttpRequest::responseXML):
16878 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
16879 (WebCore::XMLHttpRequest::initSend):
16880 (WebCore::XMLHttpRequest::send):
16881 (WebCore::XMLHttpRequest::createRequest):
16882 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
16883 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
16884 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
16885 (WebCore::XMLHttpRequest::loadRequestSynchronously):
16886 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
16887 (WebCore::XMLHttpRequest::dropProtection):
16888 (WebCore::XMLHttpRequest::setRequestHeader):
16889 (WebCore::XMLHttpRequest::processSyncLoadResults):
16890 (WebCore::XMLHttpRequest::didFinishLoading):
16891 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
16892 (WebCore::XMLHttpRequest::willSendRequest):
16893 (WebCore::XMLHttpRequest::accessControlCheck):
16894 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
16895 (WebCore::XMLHttpRequest::stop):
16896 (WebCore::XMLHttpRequest::contextDestroyed):
16897 * xml/XMLHttpRequest.h:
16898 Move activity tracking to a new ActiveDOMObject class.
16899
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +0000169002008-10-16 David Hyatt <hyatt@apple.com>
16901
hyatt@apple.comd4925582008-10-17 01:20:46 +000016902 Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
16903 they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
16904 did though. This patch removes the renderer argument and the Element subclass shadow implementation
16905 so that confusion like this can't occur again.
16906
16907 Reviewed by Oliver Hunt
16908
16909 * dom/Element.cpp:
16910 * dom/Element.h:
16911 * dom/Node.cpp:
16912 (WebCore::Node::createRendererIfNeeded):
16913 (WebCore::Node::styleForRenderer):
16914 * dom/Node.h:
16915 * html/HTMLOptGroupElement.cpp:
16916 (WebCore::HTMLOptGroupElement::attach):
16917 * html/HTMLOptionElement.cpp:
16918 (WebCore::HTMLOptionElement::attach):
16919 * svg/SVGClipPathElement.cpp:
16920 (WebCore::SVGClipPathElement::canvasResource):
16921 * svg/SVGFEDiffuseLightingElement.cpp:
16922 (WebCore::SVGFEDiffuseLightingElement::build):
16923 * svg/SVGFEFloodElement.cpp:
16924 (WebCore::SVGFEFloodElement::build):
16925 * svg/SVGFESpecularLightingElement.cpp:
16926 (WebCore::SVGFESpecularLightingElement::build):
16927 * svg/SVGGradientElement.cpp:
16928 (WebCore::SVGGradientElement::buildStops):
16929 * svg/SVGUseElement.cpp:
16930 (WebCore::SVGUseElement::attachShadowTree):
16931
169322008-10-16 David Hyatt <hyatt@apple.com>
16933
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +000016934 https://bugs.webkit.org/attachment.cgi?bugid=21647
16935
16936 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
16937 out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
16938 all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
16939 to use the arena.
16940
16941 At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
16942 as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
16943 arena also limited the usefulness.
16944
16945 Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
16946 mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
16947 manual ref/deref far outweigh keeping them in the arena.
16948
16949 Reviewed by Adam Roben
16950
16951 * css/CSSStyleSelector.cpp:
16952 (WebCore::CSSStyleSelector::CSSStyleSelector):
16953 (WebCore::CSSStyleSelector::~CSSStyleSelector):
16954 (WebCore::CSSStyleSelector::styleForElement):
16955 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
16956 (WebCore::CSSStyleSelector::pseudoStyleForElement):
16957 These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back
16958 so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
16959
16960 (WebCore::CSSStyleSelector::updateFont):
16961 (WebCore::CSSStyleSelector::checkSelector):
16962 (WebCore::CSSStyleSelector::applyProperty):
16963 (WebCore::CSSStyleSelector::mapFillSize):
16964 (WebCore::CSSStyleSelector::mapFillXPosition):
16965 (WebCore::CSSStyleSelector::mapFillYPosition):
16966 * css/CSSStyleSelector.h:
16967 (WebCore::CSSStyleSelector::style):
16968 * dom/Document.cpp:
16969 (WebCore::Document::recalcStyle):
16970 * dom/Element.cpp:
16971 (WebCore::Element::styleForRenderer):
16972 (WebCore::Element::recalcStyle):
16973 (WebCore::Element::computedStyle):
16974 * dom/Element.h:
16975 * dom/ElementRareData.h:
16976 (WebCore::ElementRareData::ElementRareData):
16977 (WebCore::ElementRareData::resetComputedStyle):
16978 * dom/Node.cpp:
16979 (WebCore::Node::diff):
16980 (WebCore::Node::createRendererIfNeeded):
16981 (WebCore::Node::styleForRenderer):
16982 (WebCore::Node::setRenderStyle):
16983 * dom/Node.h:
16984 * html/CanvasRenderingContext2D.cpp:
16985 (WebCore::CanvasRenderingContext2D::setFont):
16986 * html/HTMLOptGroupElement.cpp:
16987 (WebCore::HTMLOptGroupElement::attach):
16988 (WebCore::HTMLOptGroupElement::detach):
16989 (WebCore::HTMLOptGroupElement::setRenderStyle):
16990 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
16991 * html/HTMLOptGroupElement.h:
16992 * html/HTMLOptionElement.cpp:
16993 (WebCore::HTMLOptionElement::attach):
16994 (WebCore::HTMLOptionElement::detach):
16995 (WebCore::HTMLOptionElement::setRenderStyle):
16996 (WebCore::HTMLOptionElement::nonRendererRenderStyle):
16997 * html/HTMLOptionElement.h:
16998 * page/animation/AnimationBase.h:
16999 (WebCore::AnimationBase::animate):
17000 * page/animation/AnimationController.cpp:
17001 (WebCore::AnimationController::updateAnimations):
17002 * page/animation/AnimationController.h:
17003 * page/animation/CompositeAnimation.cpp:
17004 (WebCore::CompositeAnimationPrivate::updateTransitions):
17005 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
17006 (WebCore::CompositeAnimationPrivate::animate):
17007 (WebCore::CompositeAnimation::animate):
17008 * page/animation/CompositeAnimation.h:
17009 * page/animation/ImplicitAnimation.cpp:
17010 (WebCore::ImplicitAnimation::ImplicitAnimation):
17011 (WebCore::ImplicitAnimation::~ImplicitAnimation):
17012 (WebCore::ImplicitAnimation::animate):
17013 (WebCore::ImplicitAnimation::reset):
17014 (WebCore::ImplicitAnimation::isTargetPropertyEqual):
17015 (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
17016 * page/animation/ImplicitAnimation.h:
17017 (WebCore::ImplicitAnimation::create):
17018 * page/animation/KeyframeAnimation.cpp:
17019 (WebCore::KeyframeAnimation::KeyframeAnimation):
17020 (WebCore::KeyframeAnimation::~KeyframeAnimation):
17021 (WebCore::KeyframeAnimation::animate):
17022 (WebCore::KeyframeAnimation::validateTransformFunctionList):
17023 * page/animation/KeyframeAnimation.h:
17024 (WebCore::KeyframeAnimation::create):
17025 (WebCore::KeyframeAnimation::unanimatedStyle):
17026 * rendering/InlineTextBox.cpp:
17027 (WebCore::InlineTextBox::paint):
17028 * rendering/MediaControlElements.cpp:
17029 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
17030 (WebCore::MediaControlInputElement::MediaControlInputElement):
17031 * rendering/RenderBlock.cpp:
17032 (WebCore::RenderBlock::styleDidChange):
17033 (WebCore::RenderBlock::updateFirstLetter):
17034 * rendering/RenderContainer.cpp:
17035 (WebCore::RenderContainer::addChild):
17036 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
17037 * rendering/RenderFileUploadControl.cpp:
17038 (WebCore::RenderFileUploadControl::updateFromElement):
17039 (WebCore::RenderFileUploadControl::createButtonStyle):
17040 * rendering/RenderFileUploadControl.h:
17041 * rendering/RenderFlow.cpp:
17042 (WebCore::RenderFlow::createAnonymousFlow):
17043 * rendering/RenderFlow.h:
17044 * rendering/RenderInline.cpp:
17045 (WebCore::RenderInline::addChildToFlow):
17046 * rendering/RenderLayer.cpp:
17047 (WebCore::RenderLayer::updateScrollCornerStyle):
17048 (WebCore::RenderLayer::updateResizerStyle):
17049 (WebCore::RenderLayer::updateReflectionStyle):
17050 * rendering/RenderListItem.cpp:
17051 (WebCore::RenderListItem::styleDidChange):
17052 * rendering/RenderMedia.cpp:
17053 (WebCore::RenderMedia::createPanel):
17054 (WebCore::RenderMedia::createTimeDisplay):
17055 (WebCore::RenderMedia::changeOpacity):
17056 * rendering/RenderObject.cpp:
17057 (WebCore::RenderObject::selectionBackgroundColor):
17058 (WebCore::RenderObject::selectionForegroundColor):
17059 (WebCore::RenderObject::createAnonymousBlock):
17060 (WebCore::RenderObject::setAnimatableStyle):
17061 (WebCore::RenderObject::setStyle):
17062 (WebCore::RenderObject::setStyleInternal):
17063 (WebCore::RenderObject::arenaDelete):
17064 (WebCore::RenderObject::firstLineStyle):
17065 (WebCore::RenderObject::getPseudoStyle):
17066 * rendering/RenderObject.h:
17067 (WebCore::RenderObject::style):
17068 * rendering/RenderSVGBlock.cpp:
17069 (WebCore::RenderSVGBlock::setStyle):
17070 * rendering/RenderSVGBlock.h:
17071 * rendering/RenderScrollbar.cpp:
17072 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
17073 (WebCore::RenderScrollbar::updateScrollbarPart):
17074 * rendering/RenderScrollbar.h:
17075 * rendering/RenderSlider.cpp:
17076 (WebCore::RenderSlider::styleDidChange):
17077 (WebCore::RenderSlider::createThumbStyle):
17078 (WebCore::RenderSlider::updateFromElement):
17079 * rendering/RenderSlider.h:
17080 * rendering/RenderTable.cpp:
17081 (WebCore::RenderTable::addChild):
17082 * rendering/RenderTableRow.cpp:
17083 (WebCore::RenderTableRow::addChild):
17084 * rendering/RenderTableSection.cpp:
17085 (WebCore::RenderTableSection::addChild):
17086 * rendering/RenderTextControl.cpp:
17087 (WebCore::RenderTextControl::styleDidChange):
17088 (WebCore::RenderTextControl::createInnerBlockStyle):
17089 (WebCore::RenderTextControl::createInnerTextStyle):
17090 (WebCore::RenderTextControl::createResultsButtonStyle):
17091 (WebCore::RenderTextControl::createCancelButtonStyle):
17092 (WebCore::RenderTextControl::createSubtreeIfNeeded):
17093 (WebCore::RenderTextControl::updatePlaceholderVisibility):
17094 * rendering/RenderTextControl.h:
17095 * rendering/TextControlInnerElements.cpp:
17096 (WebCore::TextControlInnerElement::attachInnerElement):
17097 * rendering/TextControlInnerElements.h:
17098 * rendering/style/KeyframeList.cpp:
17099 (WebCore::KeyframeList::clear):
17100 (WebCore::KeyframeList::operator==):
17101 (WebCore::KeyframeList::insert):
17102 * rendering/style/KeyframeList.h:
17103 (WebCore::KeyframeValue::KeyframeValue):
17104 (WebCore::KeyframeValue::~KeyframeValue):
17105 (WebCore::KeyframeValue::key):
17106 (WebCore::KeyframeValue::style):
17107 * rendering/style/RenderStyle.cpp:
17108 (WebCore::defaultStyle):
17109 (WebCore::RenderStyle::create):
17110 (WebCore::RenderStyle::createDefaultStyle):
17111 (WebCore::RenderStyle::clone):
17112 (WebCore::RenderStyle::RenderStyle):
17113 (WebCore::RenderStyle::getCachedPseudoStyle):
17114 (WebCore::RenderStyle::addCachedPseudoStyle):
17115 * rendering/style/RenderStyle.h:
17116 (WebCore::):
17117 (WebCore::InheritedFlags::operator!=):
17118 * svg/SVGClipPathElement.cpp:
17119 (WebCore::SVGClipPathElement::canvasResource):
17120 * svg/SVGGradientElement.cpp:
17121 (WebCore::SVGGradientElement::buildStops):
17122 * svg/SVGStyledElement.cpp:
17123 (WebCore::SVGStyledElement::resolveStyle):
17124 * svg/SVGStyledElement.h:
17125 * svg/SVGUseElement.cpp:
17126 (WebCore::SVGUseElement::recalcStyle):
17127 (WebCore::SVGUseElement::attachShadowTree):
17128
andersca@apple.com2c7cec42008-10-16 19:08:19 +0000171292008-10-16 Kenneth Russell <kenneth.russell@sun.com>
17130
17131 Reviewed and landed by Anders Carlsson.
17132
17133 https://bugs.webkit.org/show_bug.cgi?id=21587
17134 NPN_PluginThreadAsyncCall does not work properly
17135
17136 * plugins/PluginMainThreadScheduler.cpp:
17137 (WebCore::PluginMainThreadScheduler::dispatchCalls):
17138 Make sure to set m_callPending to false once the queue has been cleared.
17139
ap@webkit.orga89bd1e2008-10-16 08:00:53 +0000171402008-10-15 Alexey Proskuryakov <ap@webkit.org>
17141
17142 Reviewed by Darin Adler.
17143
17144 https://bugs.webkit.org/show_bug.cgi?id=21609
17145 Make MessagePorts protect their peers across heaps
17146
17147 * dom/MessagePort.cpp:
17148 (WebCore::MessagePort::MessagePort):
17149 * dom/MessagePort.h:
17150 (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
17151 (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
17152 Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
17153 means that the implementation object knows about JS bindings - but it is not possible to
17154 access JS wrappers from another heap/thread.
17155
17156 * bindings/js/JSDOMBinding.cpp:
17157 (WebCore::markCrossHeapDependentObjectsForDocument):
17158 * bindings/js/JSDOMBinding.h:
17159 * bindings/js/JSDOMWindowBase.cpp:
17160 (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
17161 * bindings/js/JSDOMWindowBase.h:
17162 Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
17163 hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
17164 as long as its entangled port is accessible itself.
17165
jhoneycutt@apple.com2edeb802008-10-16 04:56:46 +0000171662008-10-15 Jon Honeycutt <jhoneycutt@apple.com>
17167
17168 Remove unneeded check of whether a Page defers loading before running it
17169 in a modal dialog.
17170
17171 No test possible.
17172
17173 Reviewed by Tim Hatcher.
17174
17175 * page/Chrome.cpp:
17176
ggaren@apple.com9f980342008-10-15 23:33:07 +0000171772008-10-15 Geoffrey Garen <ggaren@apple.com>
17178
17179 Reviewed by Cameron Zwarich.
17180
17181 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
17182 Start the debugger without reloading the inspected page
17183
17184 * WebCore.base.exp: New symbols.
17185
17186 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
17187 * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
17188 * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
17189
17190 * inspector/InspectorController.cpp:
17191 (WebCore::InspectorController::setWindowVisible):
17192 (WebCore::InspectorController::windowScriptObjectAvailable):
17193 (WebCore::InspectorController::startDebugging):
17194 * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
17195 to startDebugging, and changed its behavior to match.
17196
17197 * inspector/JavaScriptDebugListener.h:
17198 * inspector/JavaScriptDebugServer.cpp:
17199 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
17200 (WebCore::JavaScriptDebugServer::addListener):
17201 (WebCore::JavaScriptDebugServer::removeListener):
17202 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
17203 (WebCore::JavaScriptDebugServer::willAddFirstListener):
17204 (WebCore::JavaScriptDebugServer::didRemoveLastListener):
17205 * inspector/JavaScriptDebugServer.h: Refactored the
17206 JavaScriptDebugServer to centralize handling of adding the first listener
17207 and removing the last. Then, added a feature to recompile all JS functions
17208 in these cases. This allows us to dynamically add and remove hooks like
17209 the debugger hooks without reloading the page.
17210
17211 * inspector/front-end/ScriptsPanel.js:
17212 * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
17213 startDebugging rename. Removed all UI that claimed that starting the
17214 debugger would reload the page.
17215
adele@apple.com40c50522008-10-15 22:10:25 +0000172162008-10-15 Adele Peterson <adele@apple.com>
17217
17218 Attempt to fix the Tiger build.
17219
17220 * platform/network/mac/ResourceHandleMac.mm:
17221
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +0000172222008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
17223
zecke@webkit.orgc588fe72008-10-15 22:22:38 +000017224 Build fix attempt.
17225
17226 Try to fix static/non-static declaration of g_string_append_uri_escape
17227 by renaming that string. Another look needs to be taken.
17228
17229 * platform/gtk/guriescape.c:
17230 (_webcore_g_string_append_uri_escaped):
17231 (_webcore_g_uri_escape_string):
17232
172332008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
17234
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +000017235 Build fix.
17236
17237 m_animatingImageType is gone.
17238
17239 * platform/graphics/cairo/ImageCairo.cpp:
17240 (WebCore::BitmapImage::BitmapImage):
17241
zecke@webkit.org34a153a2008-10-15 22:01:31 +0000172422008-10-15 Jeff Cook <cookiecaper@gmail.com>
17243
17244 Reviewed by Holger Freyther.
17245
17246 Stop SIGSEGV when leaving a page with a Flash object by reordering
17247 window destruction and plugin stop.
17248
17249 See https://bugs.webkit.org/show_bug.cgi?id=20779
17250
17251 * plugins/gtk/PluginViewGtk.cpp:
17252 (WebCore::PluginView::stop):
17253
adele@apple.com555df922008-10-15 21:53:46 +0000172542008-10-15 Adele Peterson <adele@apple.com>
17255
17256 Reviewed by Sam Weinig.
17257
17258 Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
17259
17260 * platform/network/ResourceHandle.h:
17261 * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
17262 * platform/network/mac/ResourceHandleMac.mm:
17263 (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
17264 (WebCore::ResourceHandle::start):
17265 (WebCore::ResourceHandle::cancel):
17266 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
17267 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
17268 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
17269 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
17270
pkasting@chromium.orgaf85ed22008-10-15 21:11:23 +0000172712008-10-15 Peter Kasting <pkasting@google.com>
17272
17273 Reviewed by David Hyatt.
17274
17275 Qt build bustage fix.
17276
17277 * platform/graphics/qt/StillImageQt.h:
17278 (WebCore::StillImage::destroyDecodedData):
17279
hyatt@apple.com8907c882008-10-15 21:06:22 +0000172802008-10-15 David Hyatt <hyatt@apple.com>
17281
17282 Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
17283
17284 Reviewed by Mark Rowe
17285
17286 * rendering/RenderScrollbar.cpp:
17287 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
17288 (WebCore::RenderScrollbar::updateScrollbarPart):
17289
pkasting@chromium.orge8a5a6b2008-10-15 20:38:13 +0000172902008-10-15 Peter Kasting <pkasting@google.com>
17291
17292 Reviewed by David Hyatt.
17293
17294 https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
17295 Account for paint and timer lag when animating images. Also pretend
17296 that images whose animations were paused (by becoming invisible)
17297 continued to animate, by "catching up" to the correct frame when they're
17298 shown again.
17299
17300 * platform/graphics/BitmapImage.cpp:
17301 (WebCore::BitmapImage::BitmapImage):
17302 (WebCore::BitmapImage::destroyDecodedData):
17303 (WebCore::BitmapImage::cacheFrame):
17304 (WebCore::BitmapImage::frameIsCompleteAtIndex):
17305 (WebCore::BitmapImage::frameDurationAtIndex):
17306 (WebCore::BitmapImage::frameHasAlphaAtIndex):
17307 (WebCore::BitmapImage::repetitionCount):
17308 (WebCore::BitmapImage::shouldAnimate):
17309 (WebCore::BitmapImage::startAnimation):
17310 (WebCore::BitmapImage::resetAnimation):
17311 (WebCore::BitmapImage::advanceAnimation):
17312 (WebCore::BitmapImage::internalAdvanceAnimation):
17313 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
17314 * platform/graphics/BitmapImage.h:
17315 (WebCore::FrameData::FrameData):
17316 (WebCore::BitmapImage::):
17317 * platform/graphics/GeneratedImage.h:
17318 (WebCore::GeneratedImage::destroyDecodedData):
17319 * platform/graphics/Image.h:
17320 * platform/graphics/cairo/ImageCairo.cpp:
17321 (WebCore::FrameData::clear):
17322 (WebCore::BitmapImage::BitmapImage):
17323 (WebCore::BitmapImage::draw):
17324 * platform/graphics/cg/ImageCG.cpp:
17325 (WebCore::FrameData::clear):
17326 (WebCore::BitmapImage::BitmapImage):
17327 (WebCore::BitmapImage::draw):
17328 * platform/graphics/cg/PDFDocumentImage.h:
17329 (WebCore::PDFDocumentImage::destroyDecodedData):
17330 * platform/graphics/qt/ImageQt.cpp:
17331 (WebCore::FrameData::clear):
17332 (WebCore::BitmapImage::draw):
17333 * platform/graphics/wx/ImageWx.cpp:
17334 (WebCore::FrameData::clear):
17335 (WebCore::BitmapImage::draw):
17336 * svg/graphics/SVGImage.h:
17337 (WebCore::SVGImage::destroyDecodedData):
17338
bdakin@apple.comcf22dba2008-10-15 20:32:43 +0000173392008-10-14 Maxime Britto <britto@apple.com>
17340
17341 Reviewed by Darin Adler, tweaked and landed by Beth.
17342
17343 * WebCore.base.exp: Exposes two functions to be able to create a
17344 selection from a point on the screen. Also exposes the new
17345 TextIterator::currentNode function.
17346 * WebCore/editing/TextIterator.cpp:
17347 (TextIterator::currentNode) : New function that returns the current
17348 text node or NULL if there is no text node.
17349
zecke@webkit.orgc6012912008-10-15 20:18:31 +0000173502008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
17351
17352 Reviewed by Holger Freyther.
17353
zecke@webkit.orgbc692f72008-10-15 20:53:02 +000017354 http://bugs.webkit.org/show_bug.cgi?id=21211
17355 [CURL] Upload doesn't work because cancel is called
17356
17357 FormDataStream::read returns 0 when retrieving data from the form
17358 fails, but also when there is no more data to send. This means that
17359 ResourceHandleManager::cancel is always called even when the data was
17360 successfully sent.
17361
17362 Check if there are more elements in the form before calling
17363 FormDataStream::read.
17364
17365 * platform/network/curl/FormDataStreamCurl.cpp:
17366 (WebCore::FormDataStream::hasMoreElements):
17367 * platform/network/curl/FormDataStreamCurl.h:
17368 * platform/network/curl/ResourceHandleManager.cpp:
17369 (WebCore::readCallback):
17370
173712008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
17372
17373 Reviewed by Holger Freyther.
17374
zecke@webkit.orgc6012912008-10-15 20:18:31 +000017375 http://bugs.webkit.org/show_bug.cgi?id=20664
17376 [GTK] File names are not always encodable in UTF-8
17377
17378 On Linux file names are just raw data and cannot always be directly
17379 encoded in UTF-8 or in any other encodings, so we escape them before
17380 storing the file name in a String and unescape them before passing
17381 them to native functions handling files.
17382
17383 * GNUmakefile.am:
17384 * platform/FileSystem.h:
17385 * platform/gtk/FileChooserGtk.cpp:
17386 (WebCore::stringByAdoptingFileSystemRepresentation):
17387 (WebCore::FileChooser::basenameForWidth):
17388 * platform/gtk/FileSystemGtk.cpp:
17389 (WebCore::filenameToString):
17390 (WebCore::filenameFromString):
17391 (WebCore::filenameForDisplay):
17392 (WebCore::fileExists):
17393 (WebCore::deleteFile):
17394 (WebCore::deleteEmptyDirectory):
17395 (WebCore::getFileSize):
17396 (WebCore::getFileModificationTime):
17397 (WebCore::makeAllDirectories):
17398 (WebCore::homeDirectoryPath):
17399 (WebCore::pathGetFileName):
17400 (WebCore::listDirectory):
17401 * platform/gtk/KURLGtk.cpp:
17402 (WebCore::KURL::fileSystemPath):
17403 * platform/gtk/SharedBufferGtk.cpp:
17404 (WebCore::SharedBuffer::createWithContentsOfFile):
17405 * platform/gtk/guriescape.c: Added.
17406 (is_valid):
17407 (gunichar_ok):
17408 (g_string_append_uri_escaped):
17409 (_webcore_g_uri_escape_string):
17410 * platform/gtk/guriescape.h: Added.
17411
darin@apple.come0c926d2008-10-15 17:02:02 +0000174122008-10-15 Dirk Schulze <vbs85@gmx.de>
17413
17414 Reviewed by Eric Seidel.
17415
17416 - part of https://bugs.webkit.org/show_bug.cgi?id=20543
17417 Moved gradient spread method out of SVG into the GraphicsContext.
17418
17419 * platform/graphics/GraphicsContext.cpp:
17420 (WebCore::GraphicsContext::spreadMethod):
17421 (WebCore::GraphicsContext::setSpreadMethod):
17422 * platform/graphics/GraphicsContext.h:
17423 (WebCore::):
17424 * platform/graphics/GraphicsContextPrivate.h:
17425 * platform/graphics/cairo/GraphicsContextCairo.cpp:
17426 (WebCore::applySpreadMethod):
17427 (WebCore::GraphicsContext::fillPath):
17428 (WebCore::GraphicsContext::strokePath):
17429 * platform/graphics/qt/GraphicsContextQt.cpp:
17430 (WebCore::applySpreadMethod):
17431 (WebCore::GraphicsContext::fillPath):
17432 (WebCore::GraphicsContext::strokePath):
17433 * svg/GradientAttributes.h:
17434 (WebCore::GradientAttributes::GradientAttributes):
17435 (WebCore::GradientAttributes::spreadMethod):
17436 (WebCore::GradientAttributes::setSpreadMethod):
17437 * svg/SVGGradientElement.cpp:
17438 (WebCore::SVGGradientElement::parseMappedAttribute):
17439 * svg/SVGGradientElement.h:
17440 * svg/SVGLinearGradientElement.cpp:
17441 (WebCore::SVGLinearGradientElement::collectGradientProperties):
17442 * svg/SVGRadialGradientElement.cpp:
17443 (WebCore::SVGRadialGradientElement::collectGradientProperties):
17444 * svg/graphics/SVGPaintServerGradient.cpp:
17445 (WebCore::operator<<):
17446 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
17447 (WebCore::SVGPaintServerGradient::spreadMethod):
17448 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
17449 (WebCore::SVGPaintServerGradient::externalRepresentation):
17450 * svg/graphics/SVGPaintServerGradient.h:
17451 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
17452 (WebCore::SVGPaintServerGradient::setup):
17453 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
17454 (WebCore::SVGPaintServerGradient::setup):
17455
darin@chromium.org7a0c3c92008-10-15 05:22:03 +0000174562008-10-09 Darin Fisher <darin@chromium.org>
17457
17458 Reviewed by Sam Weinig.
17459
17460 Make pan scrolling a platform configurable option
17461 https://bugs.webkit.org/show_bug.cgi?id=21515
17462
17463 * page/EventHandler.cpp:
17464 (WebCore::EventHandler::handleAutoscroll):
17465 (WebCore::EventHandler::autoscrollTimerFired):
17466 (WebCore::EventHandler::stopAutoscrollTimer):
17467 (WebCore::EventHandler::handleMousePressEvent):
17468 (WebCore::EventHandler::keyEvent):
17469
darin@chromium.org5a0619c2008-10-15 05:15:47 +0000174702008-10-10 Darin Fisher <darin@chromium.org>
17471
17472 Reviewed by Darin Adler.
17473
17474 Add some PLATFORM(CHROMIUM) ifdefs to WebCore
17475 https://bugs.webkit.org/show_bug.cgi?id=21511
17476
17477 * loader/FTPDirectoryDocument.cpp:
17478 * loader/FTPDirectoryParser.cpp:
17479 * loader/FrameLoader.cpp:
17480 (WebCore::FrameLoader::finishedLoadingDocument):
17481 * platform/ContextMenuItem.h:
17482 * platform/Cursor.h:
17483 * platform/DragData.h:
17484 * platform/DragImage.h:
17485 * platform/Pasteboard.h:
17486 * platform/PlatformKeyboardEvent.h:
17487 (WebCore::PlatformKeyboardEvent::isSystemKey):
17488 * platform/PlatformMenuDescription.h:
17489 * platform/PlatformMouseEvent.h:
17490 * platform/PlatformWheelEvent.h:
17491 * platform/PopupMenu.h:
17492 * platform/ScrollView.h:
17493 * platform/Widget.h:
17494 * platform/network/NetworkStateNotifier.h:
17495
cmarrin@apple.com78e50e82008-10-14 21:31:40 +0000174962008-10-14 Chris Marrin <cmarrin@apple.com>
17497
17498 Reviewed by Darin Adler.
17499
17500 Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
17501 Optimize keyframe style sheet changes by avoiding styleSheetChanged()
17502
17503 Test: css3/change-keyframes.html
17504
17505 * css/WebKitCSSKeyframesRule.cpp:
17506 (WebCore::WebKitCSSKeyframesRule::append):
17507 (WebCore::WebKitCSSKeyframesRule::deleteRule):
17508
hyatt@apple.combf26cc02008-10-14 20:35:36 +0000175092008-10-14 David Hyatt <hyatt@apple.com>
17510
17511 https://bugs.webkit.org/show_bug.cgi?id=21595
17512
17513 Clean up background and overflow propagation from the body to the viewport. Make it match the
17514 latest CSS2.1 spec thinking.
17515
17516 Reviewed by Adam Roben
17517
17518 Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
17519 (available at http://simon.html5.org/test/css/magic-body/).
17520
17521 * dom/Document.cpp:
17522 (WebCore::Document::body):
17523 * page/FrameView.cpp:
17524 (WebCore::FrameView::layout):
17525 * rendering/RenderBox.cpp:
17526 (WebCore::RenderBox::styleDidChange):
17527 (WebCore::RenderBox::paintRootBoxDecorations):
17528 (WebCore::RenderBox::paintBoxDecorations):
17529 (WebCore::RenderBox::repaintLayerRectsForImage):
17530
weinig@apple.com91cdcd52008-10-14 19:55:12 +0000175312008-10-14 Dimitri Glazkov <dglazkov@chromium.org>
17532
17533 Reviewed and landed by Sam Weinig.
17534
17535 Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
17536 remove NSResolver code, leaving only checking for selectors that need
17537 NS resolution and throwing a coresponding error.
17538
17539 * WebCore.pro:
17540 * WebCore.vcproj/WebCore.vcproj:
17541 * WebCore.xcodeproj/project.pbxproj:
17542 * WebCoreSources.bkl:
17543 * bindings/js/JSDocumentCustom.cpp:
17544 * bindings/js/JSDocumentFragmentCustom.cpp:
17545 * bindings/js/JSElementCustom.cpp:
17546 * bindings/js/JSNSResolver.cpp: Removed.
17547 * bindings/js/JSNSResolver.h: Removed.
17548 * dom/Document.idl:
17549 * dom/DocumentFragment.idl:
17550 * dom/Element.idl:
17551 * dom/NSResolver.h: Removed.
17552 * dom/NSResolver.idl: Removed.
17553 * dom/Node.h:
17554 * dom/Node.cpp:
17555 (WebCore::forEachTagSelector):
17556 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
17557 (WebCore::selectorNeedsNamespaceResolution):
17558 (WebCore::Node::querySelector):
17559 (WebCore::Node::querySelectorAll):
17560
darin@apple.com2b4eb8f2008-10-14 19:19:33 +0000175612008-10-14 Darin Adler <darin@apple.com>
17562
17563 Reviewed by Sam Weinig (all but the FormDataListItem rename).
17564
17565 - https://bugs.webkit.org/show_bug.cgi?id=21593
17566 Bug 21593: add multiple-file support to HTMLFormElement
17567
17568 * html/FormDataList.cpp: Removed appendFile since it's now inline.
17569 Also took incorrect old copyrights off of this file that are left
17570 over from when it was split.
17571 * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
17572 made it a member of FormDataList. Changed it to hold a File object
17573 instead of a path. And made its data members private. Changed
17574 FormDataList::appendFile accordingly.
17575
17576 * html/HTMLFormElement.cpp:
17577 (WebCore::HTMLFormElement::formData): Updated for above changes.
17578 Removed the code that special-cases HTMLInputElement, because now
17579 the FormDataListItem has everything we need. And if there are
17580 multiple files, we'll get multiple list items for them.
17581
17582 * html/HTMLInputElement.cpp:
17583 (WebCore::HTMLInputElement::appendFormData): Changed the code for
17584 <input type=file> to use File objects instead of path strings and
17585 also to append multiple files if the file list has them.
17586
vestbo@webkit.org03ca7582008-10-14 08:38:41 +0000175872008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
17588
17589 Reviewed by Simon.
vestbo@webkit.org61042592008-10-14 12:50:51 +000017590
17591 Fix QtWebKit scrollbar painting errors
17592
17593 * platform/qt/ScrollbarThemeQt.cpp:
17594 (WebCore::ScrollbarThemeQt::paint):
17595 (WebCore::ScrollbarThemeQt::paintScrollCorner):
17596
175972008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
17598
17599 Reviewed by Simon.
vestbo@webkit.org03ca7582008-10-14 08:38:41 +000017600
vestbo@webkit.org084e5f62008-10-14 08:43:01 +000017601 Fix scrollbar arrows for horizontal scrollbars
17602
17603 * platform/qt/ScrollbarThemeQt.cpp:
17604 (WebCore::styleOptionSlider):
17605
176062008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
17607
17608 Reviewed by Simon.
17609
vestbo@webkit.org03ca7582008-10-14 08:38:41 +000017610 Use style-painter to draw scrollbars in ScrollbarThemeQt
17611
17612 This has the benefit of setting up the painter properly without
17613 antialiasing and saving and restoring the brush. It also ensures
17614 that we use the style of the QWebView over the QApplication style
17615 if possible.
17616
17617 * platform/qt/RenderThemeQt.cpp:
17618 (WebCore::StylePainter::StylePainter):
17619 (WebCore::StylePainter::init):
17620 * platform/qt/RenderThemeQt.h:
17621 * platform/qt/ScrollbarThemeQt.cpp:
17622 (WebCore::ScrollbarThemeQt::paint):
17623
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +0000176242008-10-13 David Hyatt <hyatt@apple.com>
17625
hyatt@apple.com2768a4b2008-10-14 06:45:52 +000017626 Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
17627 for how to add support for the rest.
17628
17629 Reviewed by Oliver Hunt
17630
17631 * page/animation/AnimationBase.cpp:
17632 (WebCore::ensurePropertyMap):
17633 * rendering/style/RenderStyle.h:
17634 (WebCore::RenderStyle::fillOpacity):
17635 (WebCore::RenderStyle::setFillOpacity):
17636 (WebCore::RenderStyle::strokeOpacity):
17637 (WebCore::RenderStyle::setStrokeOpacity):
17638 (WebCore::RenderStyle::floodOpacity):
17639 (WebCore::RenderStyle::setFloodOpacity):
17640
176412008-10-13 David Hyatt <hyatt@apple.com>
17642
hyatt@apple.comda1f6322008-10-14 06:29:36 +000017643 <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
17644
17645 Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
17646 implements paintTrackBackground so that when the thumb is not present the track still paints.
17647
17648 Reviewed by Oliver Hunt
17649
17650 * platform/ScrollbarThemeComposite.cpp:
17651 (WebCore::ScrollbarThemeComposite::paint):
17652 * platform/win/ScrollbarThemeWin.cpp:
17653 (WebCore::ScrollbarThemeWin::paintTrackBackground):
17654 * platform/win/ScrollbarThemeWin.h:
17655
176562008-10-13 David Hyatt <hyatt@apple.com>
17657
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +000017658 Fix over-invalidation of native scrollbars.
17659
17660 Reviewed by Oliver Hunt
17661
17662 * platform/Scrollbar.h:
17663 (WebCore::Scrollbar::styleChanged):
17664 * platform/mac/ScrollbarThemeMac.mm:
17665 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
17666 * rendering/RenderScrollbar.cpp:
17667 (WebCore::RenderScrollbar::styleChanged):
17668
alp@webkit.orga3417882008-10-14 04:14:38 +0000176692008-10-13 Alp Toker <alp@nuanti.com>
17670
17671 Fix autotools dist build target by listing recently added header
17672 files only. Not reviewed.
17673
17674 * GNUmakefile.am:
17675
mrowe@apple.com5c9cb4d2008-10-14 02:28:46 +0000176762008-10-13 Mark Rowe <mrowe@apple.com>
17677
17678 Reviewed by Brady Eidson.
17679
17680 Don't run a SQLite query on every iteration of the sync thread when the query
17681 will touch a large portion of the icon database while performing no useful work.
17682
17683 * loader/icon/IconDatabase.cpp:
17684 (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
17685 we modified the database.
17686 (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
17687 unless we've been asked to prune any dangling pageURLs that we find.
17688
mjs@apple.com268962e2008-10-14 01:21:43 +0000176892008-10-13 Maciej Stachowiak <mjs@apple.com>
17690
17691 Rubber stamped by Mark Rowe.
17692
17693 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
17694
17695 * Configurations/DebugRelease.xcconfig:
17696
hyatt@apple.comc3ed34a2008-10-14 00:59:46 +0000176972008-10-13 David Hyatt <hyatt@apple.com>
17698
17699 Make dropdown lists on Windows work with CSS custom scrollbars.
17700
17701 Reviewed by Adele
17702
17703 * platform/PopupMenu.h:
17704 (WebCore::PopupMenu::scrollbarCornerPresent):
17705 * platform/PopupMenuClient.h:
17706 * platform/win/PopupMenuWin.cpp:
17707 (WebCore::PopupMenu::show):
17708 * rendering/RenderMenuList.cpp:
17709 (WebCore::RenderMenuList::createScrollbar):
17710 * rendering/RenderMenuList.h:
17711 * rendering/RenderTextControl.cpp:
17712 (WebCore::RenderTextControl::createScrollbar):
17713 * rendering/RenderTextControl.h:
17714
cfleizach@apple.com12468c12008-10-13 22:48:19 +0000177152008-10-13 Chris Fleizach <cfleizach@apple.com>
17716
17717 Reviewed by Beth Dakin.
17718
17719 <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
17720
17721 Links from image maps were not being included in the web area's AXLinkUIElements attribute.
17722 The position of image map links was being reported incorrectly and the parent-chain
17723 hierarchy for image map links was incorrect because image map links did not have a reference
17724 to their parent image.
17725
17726 Test: accessibility/document-links.html
17727
17728 * page/AccessibilityImageMapLink.cpp:
17729 (WebCore::AccessibilityImageMapLink::parentObject):
17730 (WebCore::AccessibilityImageMapLink::actionElement):
17731 (WebCore::AccessibilityImageMapLink::elementRect):
17732 * page/AccessibilityImageMapLink.h:
17733 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
17734 (WebCore::AccessibilityImageMapLink::setParent):
17735 * page/AccessibilityObject.cpp:
17736 * page/AccessibilityObject.h:
17737 * page/AccessibilityRenderObject.cpp:
17738 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
17739 (WebCore::AccessibilityRenderObject::getDocumentLinks):
17740 (WebCore::AccessibilityRenderObject::addChildren):
17741 * page/AccessibilityRenderObject.h:
17742 * page/mac/AccessibilityObjectWrapper.mm:
17743 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
17744
hyatt@apple.com59696ac2008-10-13 21:53:07 +0000177452008-10-13 David Hyatt <hyatt@apple.com>
17746
hyatt@apple.com456dd872008-10-13 22:42:59 +000017747 Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
17748 the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
17749 idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
17750
17751 Reviewed by Tim Hatcher
17752
17753 Added scrollbars/listbox-scrollbar-combinations.html
17754
17755 * rendering/RenderListBox.cpp:
17756 (WebCore::RenderListBox::~RenderListBox):
17757 (WebCore::RenderListBox::updateFromElement):
17758 (WebCore::RenderListBox::createScrollbar):
17759 (WebCore::RenderListBox::destroyScrollbar):
17760 (WebCore::RenderListBox::setHasVerticalScrollbar):
17761 * rendering/RenderListBox.h:
17762
177632008-10-13 David Hyatt <hyatt@apple.com>
17764
hyatt@apple.com59696ac2008-10-13 21:53:07 +000017765 In order to always match the :corner-present pseudo-class properly, delay initial updating of
17766 scrollbar styles until the layer has the scrollbars in its member variables.
17767
17768 Reviewed by Tim Hatcher
17769
17770 * rendering/RenderLayer.cpp:
17771 (WebCore::RenderLayer::setHasHorizontalScrollbar):
17772 (WebCore::RenderLayer::setHasVerticalScrollbar):
17773 * rendering/RenderScrollbar.cpp:
17774 (WebCore::RenderScrollbar::RenderScrollbar):
17775
weinig@apple.comfe8ca432008-10-13 21:41:40 +0000177762008-10-13 Sam Weinig <sam@webkit.org>
17777
17778 Reviewed by Dan Bernstein.
17779
17780 Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
17781 5 false positive StructureID leaks
17782
17783 In WebCore, we intentionally leak the common JSGlobalData which in turn
17784 leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
17785 ignore the StructureIDs leaked within.
17786
17787 * bindings/js/JSDOMWindowBase.cpp:
17788 (WebCore::JSDOMWindowBase::commonJSGlobalData):
17789
hyatt@apple.com097c92d2008-10-13 20:21:35 +0000177902008-10-13 David Hyatt <hyatt@apple.com>
17791
hyatt@apple.come2a30fd2008-10-13 21:23:21 +000017792 Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
17793 artwork based on whether there is a scrollbar corner present.
17794
17795 Reviewed by Tim Hatcher
17796
17797 * css/CSSSelector.cpp:
17798 (WebCore::CSSSelector::extractPseudoType):
17799 * css/CSSSelector.h:
17800 (WebCore::CSSSelector::):
17801 * css/CSSStyleSelector.cpp:
17802 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
17803 * platform/ScrollView.cpp:
17804 (WebCore::ScrollView::scrollbarCornerPresent):
17805 * platform/ScrollView.h:
17806 * platform/ScrollbarClient.h:
17807 * rendering/RenderLayer.cpp:
17808 (WebCore::cornerRect):
17809 (WebCore::scrollCornerRect):
17810 (WebCore::resizerCornerRect):
17811 (WebCore::RenderLayer::scrollbarCornerPresent):
17812 (WebCore::RenderLayer::setHasHorizontalScrollbar):
17813 (WebCore::RenderLayer::setHasVerticalScrollbar):
17814 * rendering/RenderLayer.h:
17815 (WebCore::RenderLayer::horizontalScrollbar):
17816 (WebCore::RenderLayer::verticalScrollbar):
17817 * rendering/RenderListBox.h:
17818 (WebCore::RenderListBox::scrollbarCornerPresent):
17819
178202008-10-13 David Hyatt <hyatt@apple.com>
17821
hyatt@apple.com2c1832e2008-10-13 20:56:29 +000017822 Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
17823 test case for all this can land).
17824
17825 Reviewed by Tim Hatcher
17826
17827 * css/CSSStyleSelector.cpp:
17828 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
17829 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
17830 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
17831 * rendering/RenderLayer.cpp:
17832 (WebCore::RenderLayer::paintOverflowControls):
17833 (WebCore::RenderLayer::paintScrollCorner):
17834 (WebCore::RenderLayer::paintResizer):
17835 (WebCore::RenderLayer::styleChanged):
17836 (WebCore::RenderLayer::updateScrollCornerStyle):
17837 (WebCore::RenderLayer::updateResizerStyle):
17838 * rendering/RenderLayer.h:
17839 * rendering/RenderScrollbar.cpp:
17840 (WebCore::RenderScrollbar::paint):
17841 * rendering/RenderScrollbarPart.cpp:
17842 (WebCore::RenderScrollbarPart::paintIntoRect):
17843
178442008-10-13 David Hyatt <hyatt@apple.com>
17845
hyatt@apple.com097c92d2008-10-13 20:21:35 +000017846 Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
17847 and invalidate properly as images load, etc.
17848
17849 Reviewed by Tim Hatcher
17850
17851 * rendering/RenderLayer.cpp:
17852 (WebCore::cornerRect):
17853 (WebCore::scrollCornerRect):
17854 (WebCore::resizerCornerRect):
17855 (WebCore::RenderLayer::positionOverflowControls):
17856 (WebCore::RenderLayer::paintOverflowControls):
17857 (WebCore::RenderLayer::paintScrollCorner):
17858 (WebCore::RenderLayer::paintResizer):
17859 (WebCore::RenderLayer::isPointInResizeControl):
17860 (WebCore::RenderLayer::hitTestOverflowControls):
17861 (WebCore::RenderLayer::styleChanged):
17862 * rendering/RenderLayer.h:
17863 * rendering/RenderObject.h:
17864 (WebCore::RenderObject::setRect):
17865 * rendering/RenderScrollbarPart.cpp:
17866 (WebCore::RenderScrollbarPart::styleDidChange):
17867 (WebCore::RenderScrollbarPart::imageChanged):
17868
jmalonzo@webkit.org4d9c9522008-10-13 11:44:35 +0000178692008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>
17870
17871 Reviewed by Darin Adler. Landed by Jan Alonzo.
17872
17873 WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
17874 http://bugs.webkit.org/show_bug.cgi?id=20483
17875
17876 Start the conversion to use GOwnPtr and fix a memory leak.
17877
17878 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
17879 (WebCore::mediaPlayerPrivateErrorCallback):
17880
jhoneycutt@apple.com6bc9f352008-10-13 02:43:30 +0000178812008-10-12 Jon Honeycutt <jhoneycutt@apple.com>
17882
17883 Windows build fix.
17884
17885 * loader/TextResourceDecoder.cpp:
17886
darin@apple.com21120fc2008-10-13 02:13:47 +0000178872008-10-12 Darin Fisher <darin@chromium.org>
17888
17889 Reviewed by Darin Adler.
17890
17891 - fix https://bugs.webkit.org/show_bug.cgi?id=21229
17892 Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
17893
17894 * platform/network/NetworkStateNotifier.h: Add the #include.
17895
darin@apple.com6de19a02008-10-13 01:37:13 +0000178962008-10-12 Darin Adler <darin@apple.com>
17897
17898 Based on work by Holger Freyther.
17899
17900 - part of https://bugs.webkit.org/show_bug.cgi?id=20953
17901 Split WidthIterator into its own source file.
17902
17903 * GNUmakefile.am: Added new source files.
17904 * WebCore.vcproj/WebCore.vcproj: Ditto.
17905 * WebCore.xcodeproj/project.pbxproj: Ditto.
17906 * WebCoreSources.bkl: Ditto.
17907
17908 * platform/graphics/Font.cpp: Use WidthIterator from its new place.
17909 * platform/graphics/WidthIterator.cpp: Added.
17910 * platform/graphics/WidthIterator.h: Added.
17911
darin@apple.com755e9c22008-10-13 01:13:29 +0000179122008-10-12 Tony Chang <tony@chromium.org>
17913
17914 Reviewed by Sam Weinig.
17915
17916 - https://bugs.webkit.org/show_bug.cgi?id=21480
17917 Remove duplicate definitions of MimeClassInfo and PluginInfo.
17918
17919 * plugins/PluginInfoStore.cpp: Added an include.
17920 * plugins/PluginInfoStore.h: Removed struct declarations.
17921
darin@apple.com365a7d82008-10-13 01:07:04 +0000179222008-10-12 Darin Adler <darin@apple.com>
17923
17924 Reviewed by Dan Bernstein.
17925
17926 - https://bugs.webkit.org/show_bug.cgi?id=21563
17927 Bug 21563: platform Gradient class should not use the CSS parser
17928
17929 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
17930 that accepts a CSS color string. That's handled in the DOM now, not here.
17931 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
17932 copy of it here.
17933 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
17934
darin@apple.comad096ca2008-10-13 00:58:00 +0000179352008-10-12 Glenn Wilson <gwilson@google.com>
17936
17937 Reviewed by Darin Adler.
17938
17939 - https://bugs.webkit.org/show_bug.cgi?id=20461
17940
17941 Added feature to allow multi-line inputs into text fields.
17942 HTMLInputElement would cut the set text at the first 'system' character,
17943 so it would truncate at the first carriage return or newline.
17944 This fix modifies that behavior to truncate at any non-space system character
17945 but changes \r, \n, and \r\n to a single space.
17946
17947 Tests: editing/pasteboard/paste-multiline-text-input.html
17948
17949 * html/HTMLInputElement.cpp:
17950 (WebCore::HTMLInputElement::constrainValue):
17951
darin@apple.comdcbbe942008-10-13 00:25:00 +0000179522008-10-12 Dirk Schulze <vbs85@gmx.de>
17953
17954 Reviewed by Eric Seidel.
17955
17956 - https://bugs.webkit.org/show_bug.cgi?id=20435
17957
17958 Added exception codes to canvas gradients to match current specification.
17959
17960 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
17961 fast/canvas/linearGradient-infinite-values.html
17962 fast/canvas/radialGradient-infinite-values.html
17963
17964 * html/CanvasGradient.cpp:
17965 (WebCore::CanvasGradient::addColorStop):
17966 * html/CanvasGradient.h:
17967 * html/CanvasGradient.idl:
17968 * html/CanvasRenderingContext2D.cpp:
17969 (WebCore::CanvasRenderingContext2D::createLinearGradient):
17970 (WebCore::CanvasRenderingContext2D::createRadialGradient):
17971 * html/CanvasRenderingContext2D.h:
17972 * html/CanvasRenderingContext2D.idl:
17973
darin@apple.come4c4b502008-10-12 23:59:09 +0000179742008-10-12 Eric Roman <eroman@chromium.org>
17975
17976 - https://bugs.webkit.org/show_bug.cgi?id=20246
17977 Implement RenderThemeWin::systemColor() to match Windows colors.
17978
17979 Reviewed by David Hyatt.
17980
17981 * rendering/RenderThemeWin.cpp:
17982 (WebCore::cssValueIdToSysColorIndex):
17983 (WebCore::RenderThemeWin::systemColor):
17984 * rendering/RenderThemeWin.h:
17985
darin@apple.com734c7252008-10-12 23:50:45 +0000179862008-10-12 Aaron Bockover <abockover@novell.com>
17987
17988 Reviewed by Alp Toker.
17989
17990 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
17991 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
17992 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
17993
17994 * plugins/gtk/PluginPackageGtk.cpp:
17995
darin@apple.comee5d0dc2008-10-12 23:01:25 +0000179962008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
17997
17998 Reviewed by Oliver Hunt.
17999
18000 - https://bugs.webkit.org/show_bug.cgi?id=19331
18001 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
18002
18003 * page/DragController.cpp:
18004 (WebCore::DragController::startDrag): When a link is dragged without any
18005 text selected (note: for this to work, the EditableLinkBehavior setting must be
18006 set to 'live' or 'default') and then dropped into an editable html document it
18007 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
18008 is a selection. To prevent this, expand the selection to the enclosing anchor tag
18009 when the drag begins.
18010
darin@apple.com2ce65d52008-10-12 22:49:46 +0000180112008-10-12 Darin Adler <darin@apple.com>
18012
darin@apple.comb3de9be2008-10-12 22:53:15 +000018013 Reviewed by Mark Rowe.
18014
18015 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
18016 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
18017
18018 * rendering/RenderObject.cpp:
18019 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
18020 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
18021 as RenderObject::isText(), and this guarantees that the node can be cast to
18022 Element*, which is done just below. The reason this is hit is that RenderLayer
18023 can call getPseudoStyle on a RenderView, which has the document as its
18024 element() -- and a document is neither a Text node nor an Element. A loose
18025 end is that this seems to mean you can't style the scrollbar corner or the
18026 resizer on a RenderView. Hyatt may want to look into that later.
18027
180282008-10-12 Darin Adler <darin@apple.com>
18029
darin@apple.com2ce65d52008-10-12 22:49:46 +000018030 Reviewed by Sam Weinig.
18031
18032 - https://bugs.webkit.org/show_bug.cgi?id=21556
18033 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
18034
18035 Tests: fast/dom/HTMLFontElement/size-attribute.html
18036 fast/dom/HTMLInputElement/size-attribute.html
18037 fast/dom/HTMLTableElement/cellpadding-attribute.html
18038
18039 * html/HTMLFontElement.cpp:
18040 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
18041 Unicode::isDigit, since non-ASCII digits are not valid here.
18042 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
18043 the unneeded destructor declaration.
18044 * platform/text/String.cpp:
18045 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
18046 of Unicode::isDigit, since non-ASCII digits are not valid.
18047
darin@apple.com39669162008-10-12 22:38:23 +0000180482008-10-12 Jungshik Shin <jshin@chromium.org>
18049
18050 Reviewed by Darin Adler.
18051
18052 Treat x-user-defined as windows-1252 for html files with meta charset
18053 declaration to be compatible with Indian web sites.
18054 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
18055
18056 Test: fast/encoding/charset-xuser-defined.html
18057
18058 * loader/TextResourceDecoder.cpp:
18059 (WebCore::TextResourceDecoder::setEncoding):
18060
weinig@apple.com68017df2008-10-12 20:43:15 +0000180612008-10-12 Sam Weinig <sam@webkit.org>
18062
weinig@apple.com590ccdb2008-10-12 21:32:38 +000018063 Reviewed by Dan Bernstein.
18064
18065 Remove unneeded forward declaration.
18066
18067 * platform/graphics/ImageBuffer.h:
18068
180692008-10-12 Sam Weinig <sam@webkit.org>
18070
weinig@apple.com68017df2008-10-12 20:43:15 +000018071 Reviewed by Darin Adler.
18072
18073 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
18074 Layering violation: String should not be responsible for creating Lengths
18075
18076 It was a layering violation for String to know haw to parse
18077 into Lengths, LengthArrays, and CoordsArrays.
18078
18079 * GNUmakefile.am:
18080 * WebCore.pro:
18081 * WebCore.vcproj/WebCore.vcproj:
18082 * WebCore.xcodeproj/project.pbxproj:
18083 * WebCoreSources.bkl:
18084 * html/HTMLAreaElement.cpp:
18085 (WebCore::HTMLAreaElement::parseMappedAttribute):
18086 * html/HTMLFrameSetElement.cpp:
18087 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
18088 * platform/text/AtomicString.h:
18089 (WebCore::AtomicString::percentage):
18090 * platform/text/PlatformString.h:
18091 * platform/text/String.cpp:
18092 * platform/text/StringImpl.cpp:
18093 * platform/text/StringImpl.h:
18094 * rendering/Length.cpp: Added.
18095 (WebCore::parseLength):
18096 (WebCore::countCharacter):
18097 (WebCore::newCoordsArray):
18098 (WebCore::newLengthArray):
18099 * rendering/Length.h:
18100 (WebCore::LengthSize::LengthSize):
18101
darin@apple.com231607b2008-10-12 18:23:56 +0000181022008-10-12 Brad Garcia <bgarcia@google.com>
18103
18104 Reviewed by Darin Adler.
18105
18106 Interpret fractional percentage values for %MultiLength values.
18107 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
18108 Test: fast/frames/frame-length-fractional-percentage.html
18109
18110 * platform/text/StringImpl.cpp:
18111 (WebCore::parseLength):
18112
timothy@apple.combba898e2008-10-12 17:04:51 +0000181132008-10-12 Timothy Hatcher <timothy@apple.com>
18114
18115 Remember the expanded state of the rules in the Styles pane. So
18116 collapsing a rule will persist across all the elements that have
18117 that same rule. The same applies to Computed Style, so the Computed
18118 Style rule is now collapsed by default. This should help lessen the
18119 confusion on why Computed Style can't be edited (a common confusion.)
18120
18121 https://bugs.webkit.org/show_bug.cgi?id=21553
18122
18123 Reviewed by Darin Adler.
18124
18125 * inspector/front-end/PropertiesSection.js:
18126 (WebInspector.PropertiesSection): Set the _expanded property directly,
18127 instead of using the setter. Expanded is the default, so no work is needed.
18128 This prevents calling StylesSidebarPane.collapse before object initialization
18129 is complete.
18130 * inspector/front-end/StylesSidebarPane.js:
18131 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
18132 for the expanded state of the StylePropertiesSection. Collapse computed style
18133 by default and expand everything else.
18134 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
18135 when remembering expanded state.
18136 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
18137 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
18138 the state if the dontRememberState property is true.
18139 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
18140 to false for this identifier in Preferences.styleRulesExpandedState.
18141 * inspector/front-end/inspector.js:
18142 (Preferences.styleRulesExpandedState): Initialize to an empty object.
18143
jmalonzo@webkit.org1a75c1b2008-10-12 11:47:04 +0000181442008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
18145
18146 Reviewed by Alp Toker.
18147
18148 [Gtk] Remove libWebCoreJS.la when doing make clean
18149 https://bugs.webkit.org/show_bug.cgi?id=21544
18150
18151 Remove libWebCoreJS.la when doing a clean target
18152
18153 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
18154
alp@webkit.org85a7e4f2008-10-12 06:50:21 +0000181552008-10-11 Alp Toker <alp@nuanti.com>
18156
18157 Reviewed by Darin Adler.
18158
18159 https://bugs.webkit.org/show_bug.cgi?id=20592
18160 The focus ring is not shown while navigating on some pages
18161
18162 Fix drawFocusRing() so it doesn't depend on the current graphics
18163 state, thus matching other platforms which already work this way.
18164
18165 This patch provides two code paths: one using straight Cairo and
18166 one specialised for the GTK+ port with a more conventional appearance.
18167
18168 Also change focusRingColor() to return a null color, allowing the
18169 focus ring to pick up the style's current color if it isn't overridden
18170 with CSS.
18171
18172 * platform/graphics/cairo/GraphicsContextCairo.cpp:
18173 (WebCore::GraphicsContext::drawFocusRing):
18174 * platform/gtk/TemporaryLinkStubs.cpp:
18175 (WebCore::focusRingColor):
18176
mitz@apple.com7378cec2008-10-12 04:56:20 +0000181772008-10-11 Dan Bernstein <mitz@apple.com>
18178
18179 Rubber-stamped by Sam Weinig.
18180
18181 - change all internal callers to use Cache::evict() instead of remove()
18182
18183 * loader/Cache.cpp:
18184 (WebCore::Cache::revalidateResource):
18185 (WebCore::Cache::revalidationSucceeded):
18186 (WebCore::Cache::pruneDeadResources):
18187 (WebCore::Cache::setDisabled):
18188
hyatt@apple.com0578b132008-10-12 04:20:26 +0000181892008-10-11 David Hyatt <hyatt@apple.com>
18190
hyatt@apple.com668b6712008-10-12 04:26:47 +000018191 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
18192
18193 Reviewed by Tim Hatcher
18194
18195 * platform/ScrollbarThemeComposite.cpp:
18196 (WebCore::ScrollbarThemeComposite::invalidatePart):
18197
181982008-10-11 David Hyatt <hyatt@apple.com>
18199
hyatt@apple.com0578b132008-10-12 04:20:26 +000018200 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
18201
18202 Also fixed resizer positioning problems.
18203
18204 Reviewed by Tim Hatcher
18205
18206 * platform/ScrollbarThemeComposite.cpp:
18207 (WebCore::ScrollbarThemeComposite::splitTrack):
18208 (WebCore::ScrollbarThemeComposite::trackPosition):
18209 (WebCore::ScrollbarThemeComposite::trackLength):
18210 * platform/ScrollbarThemeComposite.h:
18211 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
18212 * rendering/RenderLayer.cpp:
18213 (WebCore::scrollCornerRect):
18214 (WebCore::RenderLayer::positionOverflowControls):
18215 (WebCore::RenderLayer::paintOverflowControls):
18216 (WebCore::RenderLayer::isPointInResizeControl):
18217 (WebCore::RenderLayer::hitTestOverflowControls):
18218 * rendering/RenderScrollbarTheme.cpp:
18219 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
18220 * rendering/RenderScrollbarTheme.h:
18221
alp@webkit.org9c37e8f2008-10-12 03:33:28 +0000182222008-10-11 Alp Toker <alp@nuanti.com>
18223
18224 Reviewed by David Hyatt.
18225
18226 Implement release/retain for Widget GTK+.
18227
18228 * platform/Widget.cpp:
18229 * platform/gtk/WidgetGtk.cpp:
18230 (WebCore::Widget::~Widget):
18231 (WebCore::Widget::releasePlatformWidget):
18232 (WebCore::Widget::retainPlatformWidget):
18233
mitz@apple.comf0f7ed82008-10-11 22:53:28 +0000182342008-10-11 Dan Bernstein <mitz@apple.com>
18235
18236 Reviewed by Sam Weinig.
18237
18238 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
18239 and add a corresponding getter; add the same functions on Windows
18240
18241 * WebCore.base.exp:
18242 * platform/graphics/Font.cpp:
18243 (WebCore::Font::setCodePath):
18244 (WebCore::codePath):
18245 (WebCore::Font::canUseGlyphCache):
18246 * platform/graphics/Font.h:
18247 * platform/mac/WebCoreTextRenderer.h:
18248 * platform/mac/WebCoreTextRenderer.mm:
18249 (WebCoreSetAlwaysUsesComplexTextCodePath):
18250 (WebCoreAlwaysUsesComplexTextCodePath):
18251 * platform/win/WebCoreTextRenderer.cpp:
18252 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
18253 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
18254 * platform/win/WebCoreTextRenderer.h:
18255
weinig@apple.comeb4243f2008-10-11 22:10:38 +0000182562008-10-11 Sam Weinig <sam@webkit.org>
18257
18258 Reviewed by Cameron Zwarich.
18259
weinig@apple.com5f7c6162008-10-11 22:20:09 +000018260 Stop leaking the event parameter names. The protected strings were showing up
18261 in the caches window after one use. No measurable performance loss.
18262
18263 * bindings/js/JSEventListener.cpp:
18264 (WebCore::eventParameterName):
18265
182662008-10-11 Sam Weinig <sam@webkit.org>
18267
18268 Reviewed by Cameron Zwarich.
18269
weinig@apple.comeb4243f2008-10-11 22:10:38 +000018270 Remove unused function getNodeEventListener.
18271
18272 * bindings/js/JSEventListener.cpp:
18273 * bindings/js/JSEventListener.h:
18274
hyatt@apple.comf2452672008-10-11 07:50:03 +0000182752008-10-11 David Hyatt <hyatt@apple.com>
18276
18277 Add support for both positive and negative margins to tracks and track pieces.
18278
18279 Reviewed by Tim Hatcher
18280
18281 * platform/ScrollbarThemeComposite.cpp:
18282 (WebCore::ScrollbarThemeComposite::paint):
18283 (WebCore::ScrollbarThemeComposite::hitTest):
18284 (WebCore::ScrollbarThemeComposite::splitTrack):
18285 (WebCore::ScrollbarThemeComposite::trackPieceRects):
18286 (WebCore::ScrollbarThemeComposite::trackPosition):
18287 (WebCore::ScrollbarThemeComposite::trackLength):
18288 * platform/ScrollbarThemeComposite.h:
18289 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
18290 * rendering/RenderScrollbar.cpp:
18291 (WebCore::RenderScrollbar::trackRect):
18292 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
18293 * rendering/RenderScrollbar.h:
18294 * rendering/RenderScrollbarPart.cpp:
18295 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
18296 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
18297 * rendering/RenderScrollbarTheme.cpp:
18298 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
18299 * rendering/RenderScrollbarTheme.h:
18300
hyatt@apple.com729214e2008-10-11 06:30:47 +0000183012008-10-10 David Hyatt <hyatt@apple.com>
18302
18303 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
18304 the scrollbar pseudo-elements anyway.
18305
18306 Reviewed by Tim Hatcher
18307
18308 * css/CSSSelector.cpp:
18309 (WebCore::CSSSelector::extractPseudoType):
18310 * css/CSSSelector.h:
18311 (WebCore::CSSSelector::):
18312 * css/CSSStyleSelector.cpp:
18313 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
18314
mitz@apple.comb5de9462008-10-11 06:26:59 +0000183152008-10-10 Dan Bernstein <mitz@apple.com>
18316
18317 Reviewed by Sam Weinig.
18318
18319 - separate Cache::remove() into a private method and a public interface,
18320 then make Cache::pruneDeadResources() use the private method.
18321
18322 * loader/Cache.cpp:
18323 (WebCore::Cache::pruneDeadResources):
18324 (WebCore::Cache::evict):
18325 * loader/Cache.h:
18326 (WebCore::Cache::remove):
18327
hyatt@apple.comd65740c2008-10-11 05:30:39 +0000183282008-10-10 David Hyatt <hyatt@apple.com>
18329
hyatt@apple.com739b8f02008-10-11 06:12:14 +000018330 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
18331 now that the track pieces meet under the thumb.
18332
18333 Reviewed by Tim Hatcher
18334
18335 * platform/ScrollbarThemeComposite.cpp:
18336 (WebCore::ScrollbarThemeComposite::paint):
18337 (WebCore::ScrollbarThemeComposite::splitTrack):
18338
183392008-10-10 David Hyatt <hyatt@apple.com>
18340
hyatt@apple.com4c767e22008-10-11 06:04:02 +000018341 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
18342
18343 Reviewed by Tim Hatcher
18344
18345 * platform/ScrollbarThemeComposite.cpp:
18346 (WebCore::ScrollbarThemeComposite::hitTest):
18347 (WebCore::ScrollbarThemeComposite::splitTrack):
18348
183492008-10-10 David Hyatt <hyatt@apple.com>
18350
hyatt@apple.come8609a22008-10-11 05:54:35 +000018351 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
18352
18353 Reviewed by Tim Hatcher
18354
18355 * rendering/RenderLayer.cpp:
18356 (WebCore::RenderLayer::createScrollbar):
18357 * rendering/RenderScrollbar.cpp:
18358 (WebCore::RenderScrollbar::createCustomScrollbar):
18359 (WebCore::RenderScrollbar::RenderScrollbar):
18360 (WebCore::RenderScrollbar::setParent):
18361 (WebCore::RenderScrollbar::updateScrollbarParts):
18362 (WebCore::RenderScrollbar::updateScrollbarPart):
18363 * rendering/RenderScrollbar.h:
18364 * rendering/style/RenderStyle.h:
18365 (WebCore::RenderStyle::):
18366
183672008-10-10 David Hyatt <hyatt@apple.com>
18368
hyatt@apple.comd65740c2008-10-11 05:30:39 +000018369 Make sure scrollbar background images cause proper part invalidation to occur.
18370
18371 Reviewed by Tim Hatcher
18372
18373 * rendering/RenderScrollbar.cpp:
18374 (WebCore::RenderScrollbar::setHoveredPart):
18375 (WebCore::RenderScrollbar::setPressedPart):
18376 * rendering/RenderScrollbarPart.cpp:
18377 (WebCore::RenderScrollbarPart::styleDidChange):
18378 (WebCore::RenderScrollbarPart::imageChanged):
18379 * rendering/RenderScrollbarPart.h:
18380
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +0000183812008-10-10 Simon Fraser <simon.fraser@apple.com>
18382
18383 Reviewed by Darin Adler
18384
simon.fraser@apple.com72df8f02008-10-11 00:35:23 +000018385 https://bugs.webkit.org/show_bug.cgi?id=21538
18386
18387 The blendFunc() for TransformOperations should never mess with the
18388 operation lists by replacing some ops with identity, otherwise the lists
18389 no longer match and transitions break.
18390
18391 Test: transitions/matched-transform-functions.html
18392
18393 * page/animation/AnimationBase.cpp:
18394 (WebCore::blendFunc):
18395
183962008-10-10 Simon Fraser <simon.fraser@apple.com>
18397
18398 Reviewed by Darin Adler
18399
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +000018400 https://bugs.webkit.org/show_bug.cgi?id=21537
18401
18402 Fix re-targetting a running transition; if the target property
18403 changes, we do need to make a new ImplicitAnimation.
18404
18405 Test: transitions/retargetted-transition.html
18406
18407 * page/animation/CompositeAnimation.cpp:
18408 (WebCore::CompositeAnimationPrivate::updateTransitions):
18409
oliver@apple.com7264bb52008-10-10 23:21:39 +0000184102008-10-10 Oliver Hunt <oliver@apple.com>
18411
18412 Reviewed by Cameron Zwarich.
18413
18414 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
18415
18416 When JS is terminated by the user choosing to stop a slow script
18417 the exception toString method throws, yet the console logger does
18418 not perform exception checks after logging. This leaves an
18419 exception on the Machine, which in turn results in an assertion
18420 failure next time we attempt to enter JS. The solution is just to
18421 clear the exception state after attempting to record the exception.
18422
18423 * page/Console.cpp:
18424 (WebCore::Console::reportException):
18425
hyatt@apple.comfca034d2008-10-10 21:05:07 +0000184262008-10-10 David Hyatt <hyatt@apple.com>
18427
hyatt@apple.com0f129042008-10-10 22:24:15 +000018428 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
18429 when looking for pseudo styles.
18430
18431 Reviewed by Tim Hatcher
18432
18433 * rendering/RenderLayer.cpp:
18434 (WebCore::RenderLayer::createScrollbar):
18435 (WebCore::RenderLayer::styleChanged):
18436
184372008-10-10 David Hyatt <hyatt@apple.com>
18438
hyatt@apple.comca798132008-10-10 22:16:24 +000018439 Add the ability to style the scroll corner and the resizer from CSS.
18440
18441 Reviewed by Tim Hatcher
18442
18443 * css/CSSSelector.cpp:
18444 (WebCore::CSSSelector::extractPseudoType):
18445 * css/CSSSelector.h:
18446 (WebCore::CSSSelector::):
18447 * css/CSSStyleSelector.cpp:
18448 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
18449 * rendering/RenderLayer.cpp:
18450 (WebCore::RenderLayer::RenderLayer):
18451 (WebCore::RenderLayer::~RenderLayer):
18452 (WebCore::RenderLayer::paintOverflowControls):
18453 (WebCore::RenderLayer::paintScrollCorner):
18454 (WebCore::RenderLayer::paintResizer):
18455 (WebCore::RenderLayer::styleChanged):
18456 * rendering/RenderLayer.h:
18457 * rendering/RenderScrollbar.cpp:
18458 (WebCore::RenderScrollbar::updateScrollbarPart):
18459 (WebCore::RenderScrollbar::paintPart):
18460 * rendering/RenderScrollbarPart.cpp:
18461 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
18462 (WebCore::RenderScrollbarPart::paintIntoRect):
18463 * rendering/RenderScrollbarPart.h:
18464 * rendering/style/RenderStyle.h:
18465 (WebCore::RenderStyle::):
18466
184672008-10-10 David Hyatt <hyatt@apple.com>
18468
hyatt@apple.comfca034d2008-10-10 21:05:07 +000018469 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
18470
18471 Reviewed by Sam Weinig
18472
18473 No test case possible, since the OS setting can vary.
18474
18475 * css/CSSSelector.cpp:
18476 (WebCore::CSSSelector::extractPseudoType):
18477 * css/CSSSelector.h:
18478 (WebCore::CSSSelector::):
18479 * css/CSSStyleSelector.cpp:
18480 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
18481 * platform/Scrollbar.h:
18482 (WebCore::Scrollbar::styleChanged):
18483 * platform/mac/ScrollbarThemeMac.mm:
18484 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
18485 (WebCore::ScrollbarThemeMac::preferencesChanged):
18486 * rendering/RenderLayer.cpp:
18487 (WebCore::RenderLayer::invalidateScrollbarRect):
18488 * rendering/RenderScrollbar.cpp:
18489 (WebCore::RenderScrollbar::styleChanged):
18490 (WebCore::RenderScrollbar::updateScrollbarPart):
18491 * rendering/RenderScrollbar.h:
18492 * rendering/RenderScrollbarTheme.h:
18493 (WebCore::RenderScrollbarTheme::buttonsPlacement):
18494
timothy@apple.comc1df5732008-10-10 20:27:51 +0000184952008-10-10 Timothy Hatcher <timothy@apple.com>
18496
18497 Fixes a regression with input search fields, where the placeholder text
18498 would not be updated when the value of the placeholder attribute changed.
18499
18500 https://bugs.webkit.org/show_bug.cgi?id=21521
18501
18502 Reviewed by Adele Peterson.
18503
18504 Test: fast/forms/search-placeholder-value-changed.html
18505
18506 * html/HTMLInputElement.cpp:
18507 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
18508 placeholderValueChanged parameter of updatePlaceholderVisibility.
18509 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
18510 for placeholderValueChanged that informs the method that the value changed.
18511 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
18512 updatePlaceholderVisibility method. Made it default to false.
18513
hyatt@apple.comf9e710b2008-10-10 19:32:52 +0000185142008-10-10 David Hyatt <hyatt@apple.com>
18515
hyatt@apple.comc92f8c22008-10-10 20:12:14 +000018516 Allow the track part to have negative margins so that it can slightly overlap buttons. This
18517 is necessary to emulate the Aqua look in CSS.
18518
18519 Reviewed by Sam Weinig
18520
18521 * platform/ScrollbarThemeComposite.cpp:
18522 (WebCore::ScrollbarThemeComposite::paint):
18523 (WebCore::ScrollbarThemeComposite::hitTest):
18524 * rendering/RenderScrollbar.cpp:
18525 (WebCore::RenderScrollbar::setHoveredPart):
18526 (WebCore::RenderScrollbar::trackRect):
18527 * rendering/RenderScrollbar.h:
18528 * rendering/RenderScrollbarPart.cpp:
18529 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
18530 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
18531 * rendering/RenderScrollbarTheme.cpp:
18532 (WebCore::RenderScrollbarTheme::backButtonRect):
18533 (WebCore::RenderScrollbarTheme::forwardButtonRect):
18534 (WebCore::RenderScrollbarTheme::trackRect):
18535
185362008-10-10 David Hyatt <hyatt@apple.com>
18537
hyatt@apple.comf9e710b2008-10-10 19:32:52 +000018538 https://bugs.webkit.org/show_bug.cgi?id=21527
18539
18540 Make CSS scrollbars support :not, :hover and :active.
18541
18542 Reviewed by Adam Roben
18543
18544 Added WebCore/manual-tests/scrollbar-hover-active.html
18545
18546 * css/CSSStyleSelector.cpp:
18547 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
18548 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
18549 * platform/Scrollbar.cpp:
18550 (WebCore::Scrollbar::autoscrollPressedPart):
18551 (WebCore::Scrollbar::startTimerIfNeeded):
18552 (WebCore::Scrollbar::setHoveredPart):
18553 (WebCore::Scrollbar::setPressedPart):
18554 (WebCore::Scrollbar::mouseMoved):
18555 (WebCore::Scrollbar::mouseExited):
18556 (WebCore::Scrollbar::mouseUp):
18557 (WebCore::Scrollbar::mouseDown):
18558 * platform/Scrollbar.h:
18559 * rendering/RenderScrollbar.cpp:
18560 (WebCore::RenderScrollbar::setHoveredPart):
18561 (WebCore::RenderScrollbar::setPressedPart):
18562 (WebCore::RenderScrollbar::updateScrollbarParts):
18563 (WebCore::pseudoForScrollbarPart):
18564 (WebCore::RenderScrollbar::updateScrollbarPart):
18565 * rendering/RenderScrollbar.h:
18566
cmarrin@apple.com274a8cf2008-10-10 18:43:47 +0000185672008-10-10 Chris Marrin <cmarrin@apple.com>
18568
18569 Reviewed by Dan Bernstein.
18570
18571 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
18572 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
18573
18574 Test: transitions/interrupt-zero-duration.html
18575
18576 * page/animation/CompositeAnimation.cpp:
18577 (WebCore::CompositeAnimation::updateTransitions):
18578
kevino@webkit.org0b227f82008-10-10 17:13:46 +0000185792008-10-10 Kevin Ollivier <kevino@theolliviers.com>
18580
18581 wx build fix. Add new scrollbar-related sources.
18582
18583 * WebCoreSources.bkl:
18584
hyatt@apple.com216ac3b2008-10-10 07:15:04 +0000185852008-10-10 David Hyatt <hyatt@apple.com>
18586
hyatt@apple.com676ab7f2008-10-10 16:59:20 +000018587 https://bugs.webkit.org/show_bug.cgi?id=21522
18588
18589 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
18590 created. (Just :hover/:active left to finish it up.)
18591
18592 Reviewed by Adam Roben
18593
18594 Added scrollbars/scrollbar-buttons.html
18595
18596 * css/CSSStyleSelector.cpp:
18597 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
18598
185992008-10-10 David Hyatt <hyatt@apple.com>
18600
hyatt@apple.com08425212008-10-10 16:40:26 +000018601 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
18602 back/forward to decrement/increment. Adding start/end pseudoclasses.
18603
18604 Reviewed by Eric Seidel
18605
18606 * css/CSSSelector.cpp:
18607 (WebCore::CSSSelector::extractPseudoType):
18608 * css/CSSSelector.h:
18609 (WebCore::CSSSelector::):
18610 * css/CSSStyleSelector.cpp:
18611 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
18612
186132008-10-10 David Hyatt <hyatt@apple.com>
18614
hyatt@apple.com216ac3b2008-10-10 07:15:04 +000018615 Switch window-active to window-inactive, since that will work better as far as degrading in other
18616 browsers.
18617
18618 Reviewed by Tim Hatcher
18619
18620 * css/CSSSelector.cpp:
18621 (WebCore::CSSSelector::extractPseudoType):
18622 * css/CSSSelector.h:
18623 (WebCore::CSSSelector::):
18624 * css/CSSStyleSelector.cpp:
18625 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
18626
cmarrin@apple.com1386c1c2008-10-10 18:04:20 +0000186272008-10-09 Chris Marrin <cmarrin@apple.com>
18628
18629 Reviewed by Dan Bernstein.
18630
18631 https://bugs.webkit.org/show_bug.cgi?id=21310
18632
18633 Redesigned how animation events are sent in order to get rid of
18634 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
18635 are now ref counted. While calling the event handler, I keep a
18636 reference to this class to avoid it getting destroyed out from under me.
18637
18638 I also moved most of the functionality of CompositeAnimation to
18639 and internal class (CompositeAnimationPrivate) to reduce the exposure
18640 of the internals of the various animation classes.
18641
18642 We have several transition and animation LayoutTests which verify that
18643 this fix works as expected and continues to avoid crashes.
18644
18645 * page/animation/AnimationBase.cpp:
18646 (WebCore::AnimationBase::AnimationBase):
18647 * page/animation/AnimationBase.h:
18648 (WebCore::AnimationBase::cancelTimers):
18649 (WebCore::AnimationBase::waitingForStyleAvailable):
18650 * page/animation/CompositeAnimation.cpp:
18651 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
18652 (WebCore::CompositeAnimationPrivate::suspended):
18653 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
18654 (WebCore::CompositeAnimationPrivate::updateTransitions):
18655 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
18656 (WebCore::CompositeAnimationPrivate::animate):
18657 (WebCore::CompositeAnimationPrivate::setAnimating):
18658 (WebCore::CompositeAnimationPrivate::animating):
18659 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
18660 (WebCore::CompositeAnimationPrivate::resetTransitions):
18661 (WebCore::CompositeAnimationPrivate::resetAnimations):
18662 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
18663 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
18664 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
18665 (WebCore::CompositeAnimationPrivate::suspendAnimations):
18666 (WebCore::CompositeAnimationPrivate::resumeAnimations):
18667 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
18668 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
18669 (WebCore::compareAnimationIndices):
18670 (WebCore::CompositeAnimationPrivate::styleAvailable):
18671 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
18672 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
18673 (WebCore::CompositeAnimation::CompositeAnimation):
18674 (WebCore::CompositeAnimation::~CompositeAnimation):
18675 (WebCore::CompositeAnimation::animate):
18676 (WebCore::CompositeAnimation::animating):
18677 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
18678 (WebCore::CompositeAnimation::resetTransitions):
18679 (WebCore::CompositeAnimation::suspendAnimations):
18680 (WebCore::CompositeAnimation::resumeAnimations):
18681 (WebCore::CompositeAnimation::suspended):
18682 (WebCore::CompositeAnimation::styleAvailable):
18683 (WebCore::CompositeAnimation::setAnimating):
18684 (WebCore::CompositeAnimation::isAnimatingProperty):
18685 (WebCore::CompositeAnimation::setAnimationStartTime):
18686 (WebCore::CompositeAnimation::setTransitionStartTime):
18687 (WebCore::CompositeAnimation::overrideImplicitAnimations):
18688 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
18689 * page/animation/CompositeAnimation.h:
18690 * page/animation/ImplicitAnimation.cpp:
18691 (WebCore::ImplicitAnimation::sendTransitionEvent):
18692 * page/animation/ImplicitAnimation.h:
18693 (WebCore::ImplicitAnimation::create):
18694 * page/animation/KeyframeAnimation.cpp:
18695 (WebCore::KeyframeAnimation::sendAnimationEvent):
18696 * page/animation/KeyframeAnimation.h:
18697 (WebCore::KeyframeAnimation::create):
18698
hyatt@apple.come784a792008-10-10 05:56:10 +0000186992008-10-09 David Hyatt <hyatt@apple.com>
18700
hyatt@apple.come3803262008-10-10 07:04:38 +000018701 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
18702 is active as well.
18703
18704 Reviewed by Tim Hatcher
18705
18706 Added scrollbars/scrollbar-orientation.html
18707
18708 * css/CSSSelector.cpp:
18709 (WebCore::CSSSelector::extractPseudoType):
18710 * css/CSSSelector.h:
18711 (WebCore::CSSSelector::):
18712 * css/CSSStyleSelector.cpp:
18713 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
18714 * platform/Scrollbar.cpp:
18715 (WebCore::Scrollbar::isWindowActive):
18716 * platform/Scrollbar.h:
18717 * rendering/RenderScrollbar.cpp:
18718 (WebCore::RenderScrollbar::paint):
18719 (WebCore::RenderScrollbar::partForStyleResolve):
18720 * rendering/RenderScrollbar.h:
18721
187222008-10-09 David Hyatt <hyatt@apple.com>
18723
hyatt@apple.come784a792008-10-10 05:56:10 +000018724 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
18725 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
18726
18727 Reviewed by Tim Hatcher
18728
18729 Added scrollbars/disabled-scrollbar.html
18730
18731 * css/CSSStyleSelector.cpp:
18732 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
18733 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
18734 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
18735 * css/CSSStyleSelector.h:
18736 * rendering/RenderObject.cpp:
18737 (WebCore::RenderObject::getPseudoStyle):
18738 * rendering/RenderObject.h:
18739 * rendering/RenderScrollbar.cpp:
18740 (WebCore::RenderScrollbar::setEnabled):
18741 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
18742 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
18743 (WebCore::RenderScrollbar::paintPart):
18744 * rendering/RenderScrollbar.h:
18745
eric.carlson@apple.com24750582008-10-10 04:04:15 +0000187462008-10-09 Eric Carlson <eric.carlson@apple.com>
18747
18748 Media controls should not show when element is not visible
18749
18750 https://bugs.webkit.org/show_bug.cgi?id=21155
18751
18752 Reviewed by Adele Peterson.
18753
18754 * html/HTMLMediaElement.cpp:
18755 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
18756 in sync with visibility changes
18757 * html/HTMLMediaElement.h:
18758 * rendering/RenderMedia.cpp:
18759 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
18760 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
18761 if element is visible or not. Don't animate controller visibility when change triggered by
18762 showing or hiding media element.
18763 * rendering/RenderMedia.h: declare m_previousVisible
18764
timothy@apple.com746258b2008-10-10 03:23:12 +0000187652008-10-09 Timothy Hatcher <timothy@apple.com>
18766
18767 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
18768 availability macros and version macros.
18769
18770 https://bugs.webkit.org/show_bug.cgi?id=21496
18771 rdar://problem/6259225
18772
18773 Reviewed by Sam Weinig.
18774
18775 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
18776 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
18777 and add an #if around the enum.
18778 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
18779 comment to match the other headers.
18780 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
18781 * bindings/objc/DOMObject.h: Add a version #if around class interface.
18782 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
18783 and add a version #if around the enum.
18784 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
18785 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
18786 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
18787 when they where added to WebKit. Also annotate individual methods that are
18788 deprecated or where added after the class was added to WebKit.
18789 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
18790 since this header is included by most DOM headers. Annotate the JSObject method.
18791
18792 * bindings/scripts/CodeGeneratorObjC.pm:
18793 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
18794 And parse out the availability version for the class/protocol. Default to
18795 WEBKIT_VERSION_LATEST if the class is new.
18796 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
18797 interface availability version check if the class has a required version. Create
18798 a public interface key (used to lookup in $publicInterfaces) and make a declaration
18799 suffix that includes the availability macro (if needed). Use the "available in 1.3
18800 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
18801 the default availability macro for old style methods. Tweak line breaks in the generated
18802 headers to look good and not have too many extra lines.
18803
simon.fraser@apple.coma89b8cd2008-10-10 03:15:31 +0000188042008-10-09 Simon Fraser <simon.fraser@apple.com>
18805
18806 Reviewed by Dave Hyatt
18807
18808 https://bugs.webkit.org/show_bug.cgi?id=20947
18809
18810 Refactor setStyle() methods into styleWillChange()
18811 and styleDidChange(), so most of the setStyle() overrides can
18812 be removed.
18813
18814 * rendering/RenderBR.cpp:
18815 (WebCore::RenderBR::styleDidChange):
18816 * rendering/RenderBR.h:
18817 * rendering/RenderBlock.cpp:
18818 (WebCore::RenderBlock::styleWillChange):
18819 (WebCore::RenderBlock::styleDidChange):
18820 * rendering/RenderBlock.h:
18821 * rendering/RenderBox.cpp:
18822 (WebCore::RenderBox::~RenderBox):
18823 (WebCore::RenderBox::destroy):
18824 (WebCore::RenderBox::styleWillChange):
18825 (WebCore::RenderBox::styleDidChange):
18826 * rendering/RenderBox.h:
18827 * rendering/RenderButton.cpp:
18828 (WebCore::RenderButton::styleWillChange):
18829 (WebCore::RenderButton::styleDidChange):
18830 * rendering/RenderButton.h:
18831 * rendering/RenderFieldset.cpp:
18832 (WebCore::RenderFieldset::styleDidChange):
18833 * rendering/RenderFieldset.h:
18834 * rendering/RenderFileUploadControl.cpp:
18835 (WebCore::RenderFileUploadControl::styleDidChange):
18836 * rendering/RenderFileUploadControl.h:
18837 * rendering/RenderInline.cpp:
18838 (WebCore::RenderInline::styleDidChange):
18839 * rendering/RenderInline.h:
18840 * rendering/RenderLayer.cpp:
18841 (WebCore::RenderLayer::styleChanged):
18842 * rendering/RenderLayer.h:
18843 * rendering/RenderListBox.cpp:
18844 (WebCore::RenderListBox::styleDidChange):
18845 * rendering/RenderListBox.h:
18846 * rendering/RenderListItem.cpp:
18847 (WebCore::RenderListItem::styleDidChange):
18848 * rendering/RenderListItem.h:
18849 * rendering/RenderListMarker.cpp:
18850 (WebCore::RenderListMarker::styleWillChange):
18851 (WebCore::RenderListMarker::styleDidChange):
18852 * rendering/RenderListMarker.h:
18853 * rendering/RenderMenuList.cpp:
18854 (WebCore::RenderMenuList::styleDidChange):
18855 * rendering/RenderMenuList.h:
18856 * rendering/RenderObject.cpp:
18857 (WebCore::RenderObject::setStyle):
18858 (WebCore::RenderObject::setStyleInternal):
18859 (WebCore::RenderObject::styleWillChange):
18860 (WebCore::RenderObject::styleDidChange):
18861 * rendering/RenderObject.h:
18862 * rendering/RenderReplaced.cpp:
18863 (WebCore::RenderReplaced::styleDidChange):
18864 * rendering/RenderReplaced.h:
18865 * rendering/RenderSVGGradientStop.cpp:
18866 (WebCore::RenderSVGGradientStop::styleDidChange):
18867 * rendering/RenderSVGGradientStop.h:
18868 * rendering/RenderScrollbarPart.cpp:
18869 (WebCore::RenderScrollbarPart::styleDidChange):
18870 * rendering/RenderScrollbarPart.h:
18871 * rendering/RenderSlider.cpp:
18872 (WebCore::RenderSlider::styleDidChange):
18873 * rendering/RenderSlider.h:
18874 * rendering/RenderTable.cpp:
18875 (WebCore::RenderTable::styleDidChange):
18876 * rendering/RenderTable.h:
18877 * rendering/RenderTableCell.cpp:
18878 (WebCore::RenderTableCell::styleWillChange):
18879 (WebCore::RenderTableCell::styleDidChange):
18880 * rendering/RenderTableCell.h:
18881 * rendering/RenderTableRow.cpp:
18882 (WebCore::RenderTableRow::styleWillChange):
18883 * rendering/RenderTableRow.h:
18884 * rendering/RenderText.cpp:
18885 (WebCore::RenderText::styleDidChange):
18886 * rendering/RenderText.h:
18887 * rendering/RenderTextControl.cpp:
18888 (WebCore::RenderTextControl::styleDidChange):
18889 * rendering/RenderTextControl.h:
18890 * rendering/RenderWidget.cpp:
18891 (WebCore::RenderWidget::styleDidChange):
18892 * rendering/RenderWidget.h:
18893
hyatt@apple.com2e4835d2008-10-10 02:33:16 +0000188942008-10-09 David Hyatt <hyatt@apple.com>
18895
hyatt@apple.com1d089852008-10-10 03:25:37 +000018896 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 +000018897 parent is nulled out is a good time.
18898
18899 Reviewed by Oliver Hunt
18900
18901 * rendering/RenderScrollbar.cpp:
18902 (WebCore::RenderScrollbar::~RenderScrollbar):
18903 (WebCore::RenderScrollbar::setParent):
18904 (WebCore::RenderScrollbar::updateScrollbarPart):
18905 * rendering/RenderScrollbar.h:
18906
189072008-10-09 David Hyatt <hyatt@apple.com>
18908
hyatt@apple.com2e4835d2008-10-10 02:33:16 +000018909 https://bugs.webkit.org/show_bug.cgi?id=21446
18910
18911 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
18912 orientation and back vs. forward on the buttons, but it's a start.
18913
18914 Reviewed by Oliver Hunt
18915
18916 Added scrollbars/basic-scrollbar.html
18917
18918 * WebCore.xcodeproj/project.pbxproj:
18919 * css/CSSSelector.cpp:
18920 (WebCore::CSSSelector::extractPseudoType):
18921 * css/CSSSelector.h:
18922 (WebCore::CSSSelector::):
18923 * css/CSSStyleSelector.cpp:
18924 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
18925 * platform/ScrollTypes.h:
18926 (WebCore::):
18927 * platform/Scrollbar.h:
18928 (WebCore::Scrollbar::styleChanged):
18929 * platform/ScrollbarThemeComposite.cpp:
18930 (WebCore::ScrollbarThemeComposite::paint):
18931 (WebCore::ScrollbarThemeComposite::splitTrack):
18932 * platform/ScrollbarThemeComposite.h:
18933 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
18934 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
18935 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
18936 * platform/win/ScrollbarThemeSafari.cpp:
18937 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
18938 * platform/win/ScrollbarThemeSafari.h:
18939 * platform/win/ScrollbarThemeWin.cpp:
18940 (WebCore::ScrollbarThemeWin::paintTrack):
18941 * platform/win/ScrollbarThemeWin.h:
18942 * rendering/RenderLayer.cpp:
18943 (WebCore::RenderLayer::createScrollbar):
18944 (WebCore::RenderLayer::styleChanged):
18945 * rendering/RenderScrollbar.cpp: Added.
18946 (WebCore::RenderScrollbar::createCustomScrollbar):
18947 (WebCore::RenderScrollbar::RenderScrollbar):
18948 (WebCore::RenderScrollbar::~RenderScrollbar):
18949 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
18950 (WebCore::RenderScrollbar::updateScrollbarParts):
18951 (WebCore::RenderScrollbar::updateScrollbarPart):
18952 (WebCore::RenderScrollbar::paintPart):
18953 (WebCore::RenderScrollbar::buttonRect):
18954 (WebCore::RenderScrollbar::minimumThumbLength):
18955 * rendering/RenderScrollbar.h: Added.
18956 (WebCore::RenderScrollbar::styleChanged):
18957 (WebCore::RenderScrollbar::owningRenderer):
18958 * rendering/RenderScrollbarPart.cpp: Added.
18959 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
18960 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
18961 (WebCore::RenderScrollbarPart::layout):
18962 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
18963 (WebCore::RenderScrollbarPart::layoutVerticalPart):
18964 (WebCore::calcScrollbarThicknessUsing):
18965 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
18966 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
18967 (WebCore::RenderScrollbarPart::calcPrefWidths):
18968 (WebCore::RenderScrollbarPart::setStyle):
18969 * rendering/RenderScrollbarPart.h: Added.
18970 (WebCore::RenderScrollbarPart::renderName):
18971 (WebCore::RenderScrollbarPart::requiresLayer):
18972 * rendering/RenderScrollbarTheme.cpp: Added.
18973 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
18974 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
18975 (WebCore::RenderScrollbarTheme::hasButtons):
18976 (WebCore::RenderScrollbarTheme::hasThumb):
18977 (WebCore::RenderScrollbarTheme::minimumThumbLength):
18978 (WebCore::RenderScrollbarTheme::backButtonRect):
18979 (WebCore::RenderScrollbarTheme::forwardButtonRect):
18980 (WebCore::RenderScrollbarTheme::trackRect):
18981 (WebCore::RenderScrollbarTheme::paintScrollCorner):
18982 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
18983 (WebCore::RenderScrollbarTheme::paintTrackBackground):
18984 (WebCore::RenderScrollbarTheme::paintTrackPiece):
18985 (WebCore::RenderScrollbarTheme::paintButton):
18986 (WebCore::RenderScrollbarTheme::paintThumb):
18987 * rendering/RenderScrollbarTheme.h: Added.
18988 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
18989 (WebCore::RenderScrollbarTheme::scrollbarThickness):
18990 (WebCore::RenderScrollbarTheme::buttonsPlacement):
18991 (WebCore::RenderScrollbarTheme::supportsControlTints):
18992 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
18993 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
18994 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
18995 (WebCore::RenderScrollbarTheme::registerScrollbar):
18996 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
18997 * rendering/style/RenderStyle.h:
18998 (WebCore::RenderStyle::):
18999
eric@webkit.org3df115d2008-10-10 00:08:44 +0000190002008-10-09 Eric Seidel <eric@webkit.org>
19001
19002 Reviewed by Oliver Hunt.
eric@webkit.org25626592008-10-10 02:26:54 +000019003
19004 Fix Canvex DOOM Game
19005 Gradient clips were not getting cleared after filling the
19006 gradient, this was causing nothing to draw in Canvex
19007 https://bugs.webkit.org/show_bug.cgi?id=21498
19008
19009 Tests forthcoming.
19010
19011 * WebCore.xcodeproj/project.pbxproj:
19012 * platform/graphics/cg/GraphicsContextCG.cpp:
19013 (WebCore::GraphicsContext::fillPath):
19014 (WebCore::GraphicsContext::strokePath):
19015 (WebCore::GraphicsContext::fillRect):
19016
190172008-10-09 Eric Seidel <eric@webkit.org>
19018
19019 Reviewed by Oliver Hunt.
eric@webkit.org3df115d2008-10-10 00:08:44 +000019020
19021 Fix transformed patterns
19022 https://bugs.webkit.org/show_bug.cgi?id=21498
19023
19024 Test: fast/canvas/patternfill-repeat.html
19025
19026 * WebCore.xcodeproj/project.pbxproj:
19027 * platform/graphics/GraphicsContext.cpp:
19028 (WebCore::GraphicsContext::setStrokePattern):
19029 (WebCore::GraphicsContext::setFillPattern):
19030 (WebCore::GraphicsContext::setStrokeGradient):
19031 (WebCore::GraphicsContext::setFillGradient):
19032 * platform/graphics/GraphicsContext.h:
19033 * platform/graphics/cairo/GraphicsContextCairo.cpp:
19034 * platform/graphics/cg/GraphicsContextCG.cpp:
19035 (WebCore::applyStrokePattern):
19036 (WebCore::applyFillPattern):
19037 (WebCore::GraphicsContext::drawPath):
19038 (WebCore::GraphicsContext::fillPath):
19039 (WebCore::GraphicsContext::strokePath):
19040 (WebCore::GraphicsContext::fillRect):
19041 * platform/graphics/qt/GraphicsContextQt.cpp:
19042 * platform/graphics/wx/GraphicsContextWx.cpp:
19043
mrowe@apple.coma2e784f2008-10-12 01:38:08 +0000190442008-10-09 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org458871b2008-10-09 23:44:40 +000019045
19046 wx build fixes.
19047
19048 * platform/wx/WidgetWx.cpp:
19049 * plugins/wx/PluginViewWx.cpp:
19050 (WebCore::PluginView::invalidateRect):
19051 * webcore-base.bkl:
19052
cmarrin@apple.comfe914d22008-10-09 23:04:07 +0000190532008-10-09 Chris Marrin <cmarrin@apple.com>
19054
cmarrin@apple.com8a901162008-10-09 23:59:49 +000019055 Reviewed by Darin Adler.
19056
19057 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
19058 Animations assert when navigating from page
19059
19060 Changed assertions to test the right flag for the paused state
19061
19062 * page/animation/AnimationBase.cpp:
19063 (WebCore::AnimationBase::updateStateMachine):
19064
190652008-10-09 Chris Marrin <cmarrin@apple.com>
19066
cmarrin@apple.comfe914d22008-10-09 23:04:07 +000019067 Reviewed by Dan Bernstein.
19068
19069 Fixed > 180 degree rotation bug
19070 Ensure that validateTransformFunctionList() is called after updating keyframe styles
19071
19072 https://bugs.webkit.org/show_bug.cgi?id=21420
19073
19074 Test: animations/big-rotation.html
19075
19076 * page/animation/KeyframeAnimation.cpp:
19077 (WebCore::KeyframeAnimation::KeyframeAnimation):
19078
beidson@apple.comc90a4422008-10-09 20:43:24 +0000190792008-10-09 Brady Eidson <beidson@apple.com>
19080
19081 Reviewed by Anders
19082
19083 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
19084
19085 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
19086
19087 * loader/FrameLoader.cpp:
19088 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
19089 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
19090 so perform a second null check on the page. Bail if it has been cleared.
19091
alp@webkit.org81906422008-10-09 16:21:43 +0000190922008-10-09 Alp Toker <alp@nuanti.com>
19093
19094 Build fix for recent DOM generation Makefile changes when custom
19095 CFLAGS/CXXFLAGS are passed in.
19096
19097 * GNUmakefile.am:
19098
alp@webkit.orgbedd8d82008-10-09 16:13:53 +0000190992008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
19100
19101 Reviewed by Alp Toker.
19102
19103 https://bugs.webkit.org/show_bug.cgi?id=21390
19104 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
19105
19106 * platform/gtk/ScrollViewGtk.cpp:
19107 (WebCore::ScrollView::platformRemoveChild):
19108
darin@apple.com2d343692008-10-09 08:37:04 +0000191092008-10-09 Darin Adler <darin@apple.com>
19110
19111 - try to fix Qt build
19112
19113 * bridge/qt/qt_runtime.cpp:
19114 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
19115
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +0000191162008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
19117
zimmermann@webkit.orge8c220e2008-10-09 03:54:25 +000019118 Reviewed by Oliver Hunt & Sam Weinig.
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +000019119
19120 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
19121 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
19122 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
19123
19124 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
19125 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
19126 use tree is rebuild.
19127
19128 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
19129 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
19130 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
19131 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
19132 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
19133 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
19134 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
19135 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
19136
19137 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
19138 see resources/use-instanceRoot-event-bubbling.js for details.
19139
19140 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
19141 svg/custom/use-elementInstance-methods.svg (reenabled)
19142 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
19143 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
19144 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
19145 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
19146
19147 * DerivedSources.make:
19148 * GNUmakefile.am:
19149 * WebCore.pro:
19150 * WebCore.vcproj/WebCore.vcproj:
19151 * WebCore.xcodeproj/project.pbxproj:
19152 * bindings/js/JSEventListener.h:
19153 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
19154 * bindings/js/JSEventTarget.cpp:
19155 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
19156 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
19157 * bindings/js/JSSVGElementInstanceCustom.cpp:
19158 (WebCore::JSSVGElementInstance::addEventListener):
19159 (WebCore::JSSVGElementInstance::removeEventListener):
19160 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
19161 * bindings/scripts/CodeGeneratorJS.pm:
19162 * bindings/scripts/CodeGeneratorObjC.pm:
19163 * dom/EventListener.h:
19164 (WebCore::EventListener::wasCreatedFromMarkup):
19165 * dom/EventTargetNode.cpp:
19166 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
19167 (WebCore::EventTargetNode::addEventListener):
19168 (WebCore::EventTargetNode::removeEventListener):
19169 (WebCore::eventTargetAsSVGElementInstance):
19170 (WebCore::eventTargetRespectingSVGTargetRules):
19171 (WebCore::EventTargetNode::dispatchEvent):
19172 (WebCore::EventTargetNode::dispatchGenericEvent):
19173 (WebCore::EventTargetNode::removeEventListenerForType):
19174 * page/EventHandler.cpp:
19175 (WebCore::EventHandler::clear):
19176 (WebCore::instanceAssociatedWithShadowTreeElement):
19177 (WebCore::EventHandler::updateMouseEventTargetNode):
19178 * page/EventHandler.h:
19179 * svg/EventTargetSVGElementInstance.cpp: Removed.
19180 * svg/EventTargetSVGElementInstance.h: Removed.
19181 * svg/SVGElementInstance.cpp:
19182 (WebCore::SVGElementInstance::SVGElementInstance):
19183 (WebCore::SVGElementInstance::~SVGElementInstance):
19184 (WebCore::SVGElementInstance::childNodes):
19185 (WebCore::SVGElementInstance::setShadowTreeElement):
19186 (WebCore::SVGElementInstance::forgetWrapper):
19187 (WebCore::SVGElementInstance::appendChild):
19188 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
19189 (WebCore::SVGElementInstance::setNeedsUpdate):
19190 (WebCore::SVGElementInstance::associatedFrame):
19191 (WebCore::SVGElementInstance::addEventListener):
19192 (WebCore::SVGElementInstance::removeEventListener):
19193 (WebCore::SVGElementInstance::dispatchEvent):
19194 (WebCore::SVGElementInstance::onabort):
19195 (WebCore::SVGElementInstance::setOnabort):
19196 (WebCore::SVGElementInstance::onblur):
19197 (WebCore::SVGElementInstance::setOnblur):
19198 (WebCore::SVGElementInstance::onchange):
19199 (WebCore::SVGElementInstance::setOnchange):
19200 (WebCore::SVGElementInstance::onclick):
19201 (WebCore::SVGElementInstance::setOnclick):
19202 (WebCore::SVGElementInstance::oncontextmenu):
19203 (WebCore::SVGElementInstance::setOncontextmenu):
19204 (WebCore::SVGElementInstance::ondblclick):
19205 (WebCore::SVGElementInstance::setOndblclick):
19206 (WebCore::SVGElementInstance::onerror):
19207 (WebCore::SVGElementInstance::setOnerror):
19208 (WebCore::SVGElementInstance::onfocus):
19209 (WebCore::SVGElementInstance::setOnfocus):
19210 (WebCore::SVGElementInstance::oninput):
19211 (WebCore::SVGElementInstance::setOninput):
19212 (WebCore::SVGElementInstance::onkeydown):
19213 (WebCore::SVGElementInstance::setOnkeydown):
19214 (WebCore::SVGElementInstance::onkeypress):
19215 (WebCore::SVGElementInstance::setOnkeypress):
19216 (WebCore::SVGElementInstance::onkeyup):
19217 (WebCore::SVGElementInstance::setOnkeyup):
19218 (WebCore::SVGElementInstance::onload):
19219 (WebCore::SVGElementInstance::setOnload):
19220 (WebCore::SVGElementInstance::onmousedown):
19221 (WebCore::SVGElementInstance::setOnmousedown):
19222 (WebCore::SVGElementInstance::onmousemove):
19223 (WebCore::SVGElementInstance::setOnmousemove):
19224 (WebCore::SVGElementInstance::onmouseout):
19225 (WebCore::SVGElementInstance::setOnmouseout):
19226 (WebCore::SVGElementInstance::onmouseover):
19227 (WebCore::SVGElementInstance::setOnmouseover):
19228 (WebCore::SVGElementInstance::onmouseup):
19229 (WebCore::SVGElementInstance::setOnmouseup):
19230 (WebCore::SVGElementInstance::onmousewheel):
19231 (WebCore::SVGElementInstance::setOnmousewheel):
19232 (WebCore::SVGElementInstance::onbeforecut):
19233 (WebCore::SVGElementInstance::setOnbeforecut):
19234 (WebCore::SVGElementInstance::oncut):
19235 (WebCore::SVGElementInstance::setOncut):
19236 (WebCore::SVGElementInstance::onbeforecopy):
19237 (WebCore::SVGElementInstance::setOnbeforecopy):
19238 (WebCore::SVGElementInstance::oncopy):
19239 (WebCore::SVGElementInstance::setOncopy):
19240 (WebCore::SVGElementInstance::onbeforepaste):
19241 (WebCore::SVGElementInstance::setOnbeforepaste):
19242 (WebCore::SVGElementInstance::onpaste):
19243 (WebCore::SVGElementInstance::setOnpaste):
19244 (WebCore::SVGElementInstance::ondragenter):
19245 (WebCore::SVGElementInstance::setOndragenter):
19246 (WebCore::SVGElementInstance::ondragover):
19247 (WebCore::SVGElementInstance::setOndragover):
19248 (WebCore::SVGElementInstance::ondragleave):
19249 (WebCore::SVGElementInstance::setOndragleave):
19250 (WebCore::SVGElementInstance::ondrop):
19251 (WebCore::SVGElementInstance::setOndrop):
19252 (WebCore::SVGElementInstance::ondragstart):
19253 (WebCore::SVGElementInstance::setOndragstart):
19254 (WebCore::SVGElementInstance::ondrag):
19255 (WebCore::SVGElementInstance::setOndrag):
19256 (WebCore::SVGElementInstance::ondragend):
19257 (WebCore::SVGElementInstance::setOndragend):
19258 (WebCore::SVGElementInstance::onreset):
19259 (WebCore::SVGElementInstance::setOnreset):
19260 (WebCore::SVGElementInstance::onresize):
19261 (WebCore::SVGElementInstance::setOnresize):
19262 (WebCore::SVGElementInstance::onscroll):
19263 (WebCore::SVGElementInstance::setOnscroll):
19264 (WebCore::SVGElementInstance::onsearch):
19265 (WebCore::SVGElementInstance::setOnsearch):
19266 (WebCore::SVGElementInstance::onselect):
19267 (WebCore::SVGElementInstance::setOnselect):
19268 (WebCore::SVGElementInstance::onselectstart):
19269 (WebCore::SVGElementInstance::setOnselectstart):
19270 (WebCore::SVGElementInstance::onsubmit):
19271 (WebCore::SVGElementInstance::setOnsubmit):
19272 (WebCore::SVGElementInstance::onunload):
19273 (WebCore::SVGElementInstance::setOnunload):
19274 * svg/SVGElementInstance.h:
19275 (WebCore::SVGElementInstance::needsUpdate):
19276 (WebCore::SVGElementInstance::toNode):
19277 (WebCore::SVGElementInstance::toSVGElementInstance):
19278 (WebCore::SVGElementInstance::correspondingElement):
19279 (WebCore::SVGElementInstance::correspondingUseElement):
19280 (WebCore::SVGElementInstance::shadowTreeElement):
19281 (WebCore::SVGElementInstance::parentNode):
19282 (WebCore::SVGElementInstance::previousSibling):
19283 (WebCore::SVGElementInstance::nextSibling):
19284 (WebCore::SVGElementInstance::firstChild):
19285 (WebCore::SVGElementInstance::lastChild):
19286 (WebCore::SVGElementInstance::ownerDocument):
19287 (WebCore::SVGElementInstance::hasChildNodes):
19288 (WebCore::SVGElementInstance::setFirstChild):
19289 (WebCore::SVGElementInstance::setLastChild):
19290 (WebCore::SVGElementInstance::setNextSibling):
19291 (WebCore::SVGElementInstance::setPreviousSibling):
19292 (WebCore::SVGElementInstance::refEventTarget):
19293 (WebCore::SVGElementInstance::derefEventTarget):
19294 * svg/SVGElementInstance.idl:
19295 * svg/SVGStyledElement.cpp:
19296 (WebCore::SVGStyledElement::svgAttributeChanged):
19297 (WebCore::SVGStyledElement::childrenChanged):
19298 * svg/SVGUseElement.cpp:
19299 (WebCore::SVGUseElement::svgAttributeChanged):
19300 (WebCore::shadowTreeContainsChangedNodes):
19301 (WebCore::SVGUseElement::recalcStyle):
19302 (WebCore::dumpInstanceTree):
19303 (WebCore::SVGUseElement::buildPendingResource):
19304 (WebCore::SVGUseElement::buildInstanceTree):
19305 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
19306 * svg/SVGUseElement.h:
19307
weinig@apple.com25cef102008-10-09 00:14:50 +0000193082008-10-08 Sam Weinig <sam@webkit.org>
19309
19310 Reviewed by Cameron Zwarich.
19311
19312 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
19313 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
19314
19315 Update JSRGBColor to use the new static function per getter approach.
19316
19317 Test: fast/dom/css-RGBValue.html
19318
19319 * bindings/js/JSRGBColor.cpp:
19320 (WebCore::):
19321 (jsRGBColorRed):
19322 (jsRGBColorGreen):
19323 (jsRGBColorBlue):
19324 * bindings/js/JSRGBColor.h:
19325
eric@webkit.org4966e4a2008-10-08 22:48:55 +0000193262008-10-08 Eric Seidel <eric@webkit.org>
19327
19328 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
19329
19330 svgElement.className.baseValue = "foo" does not work
19331 https://bugs.webkit.org/show_bug.cgi?id=20651
19332
19333 * dom/StyledElement.cpp:
19334 (WebCore::StyledElement::classAttributeChanged):
19335 (WebCore::StyledElement::parseMappedAttribute):
19336 * dom/StyledElement.h:
19337 * svg/SVGStyledElement.cpp:
19338 (WebCore::SVGStyledElement::svgAttributeChanged):
19339
timothy@apple.com08664892008-10-08 16:41:15 +0000193402008-10-08 Anthony Ricaud <rik24d@gmail.com>
19341
19342 Make the toolbar label text-shadow not disappear when clicking on the
19343 search result count or around the search field.
19344
19345 Reviewed by Timothy Hatcher.
19346
19347 * inspector/front-end/inspector.css:
19348 (.toolbar-item:active .toolbar-label): Make this rule also require the
19349 toggleable class with the toolbar-item class.
19350
hausmann@webkit.orgd6d65cb2008-10-08 13:13:24 +0000193512008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
19352
19353 Reviewed by Simon.
19354
19355 Updated the qrc file for the Web Inspector to contain the current set
19356 of images.
19357
19358 * inspector/front-end/WebKit.qrc:
19359
hausmann@webkit.org49650de2008-10-08 12:43:13 +0000193602008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
19361
19362 Reviewed by Simon.
19363
19364 Fix the linking of applications against WebKit on Qt/Windows.
19365
19366 The prl files that qmake creates are buggy on Unix, but we they're
19367 fine on Windows and we have to have them there in order to get the
19368 dependencies correct.
19369
19370 * WebCore.pro:
19371
hausmann@webkit.org96f013f2008-10-08 12:11:44 +0000193722008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
19373
19374 Reviewed by Simon.
19375
19376 Speed up rectangle filling by not re-creating a QBrush all the time.
19377
19378 This triggers faster path in QPainter where the brush is reused.
19379
19380 * platform/graphics/qt/GraphicsContextQt.cpp:
19381 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
19382 (WebCore::GraphicsContext::fillRect):
19383
hausmann@webkit.orgaf2f03e2008-10-08 09:10:44 +0000193842008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
19385
19386 Reviewed by Simon.
19387
19388 Fixes: Encoding of Qt URLs
19389
19390 This encoding was added by Simon and I because QUrl's
19391 tolerant parser wasn't tolerant enough. Now it is, so we don't need
19392 this anymore.
19393
19394 * platform/qt/KURLQt.cpp:
19395 (WebCore::KURL::operator QUrl):
19396
hausmann@webkit.orgc4b79f02008-10-08 09:10:32 +0000193972008-10-08 Marius Storm-Olsen <marius@trolltech.com>
19398
19399 Reviewed by Simon.
19400
19401 Fixes dependencies in qmake generated visual studio projects.
19402
19403 Only add debug lib name if we're in the debug build_pass, else the release version.
19404 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
19405
19406 * WebCore.pro:
19407
hausmann@webkit.org40df3c32008-10-08 09:10:04 +0000194082008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
19409
19410 Reviewed by Simon.
19411
19412 Fix compilation errors on VS2008 64Bit
19413
19414 * platform/text/TextStream.cpp:
19415 (WebCore::TextStream::operator<<):
19416 * platform/text/TextStream.h:
19417 * plugins/win/PluginViewWin.cpp:
19418 (WebCore::PluginView::init):
19419
alp@webkit.org76e7f9a2008-10-08 00:42:37 +0000194202008-10-07 Alp Toker <alp@nuanti.com>
19421
19422 GTK+ build fix for older automake versions (1.7). Discussed in bug
19423 #21392.
19424
19425 * GNUmakefile.am:
19426
andersca@apple.comdca58502008-10-07 23:31:34 +0000194272008-10-07 Anders Carlsson <andersca@apple.com>
19428
19429 Reviewed by Antti Koivisto.
19430
19431 <rdar://problem/6273887> Crash in ApplicationCacheGroup
19432
19433 Make sure to stop loading even before a cache update is in progress so that the
19434 manifest load will be stopped.
19435
19436 * loader/appcache/ApplicationCacheGroup.cpp:
19437 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
19438 (WebCore::ApplicationCacheGroup::stopLoading):
19439 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
19440
timothy@apple.com59a87132008-10-07 21:49:43 +0000194412008-10-07 Timothy Hatcher <timothy@apple.com>
19442
timothy@apple.com754474e2008-10-07 21:49:55 +000019443 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
19444
19445 https://bugs.webkit.org/show_bug.cgi?id=21433
19446
19447 Reviewed by Sam Weinig.
19448
19449 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
19450 * bindings/objc/DOM.mm: Remove previous category implementations
19451 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
19452 moves ObjCNodeFilterCondition to its own file.
19453 * bindings/objc/DOMTraversal.h: Remove the category methods that added
19454 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
19455 to do since DOmDocument.h is included still, and has these methods.
19456 * bindings/objc/DOMUtility.mm:
19457 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
19458 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
19459 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
19460 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
19461 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
19462 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
19463 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
19464 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
19465 createTreeWalker: methods to DOMDocument.
19466 * bindings/scripts/CodeGeneratorObjC.pm:
19467 (GetObjCTypeGetter): Add a case for NodeFilter.
19468 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
19469 (GenerateImplementation): Remove existing NodeFilter special case that
19470 used the m_filter member variable. Add a new special getter for protocol
19471 types that aren't EventTarget, so the right class is used for NodeFilter.
19472 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
19473 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
19474 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
19475 Rename the entityReferenceExpansion parameter to expandEntityReferences to
19476 match the previous ObjC API.
19477 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
19478 m_filter member variable was never used in practice, it was always nil!
19479 We can remove it and not pad the object because this can't be subclassed.
19480 * dom/TreeWalker.idl: Ditto.
19481
194822008-10-07 Timothy Hatcher <timothy@apple.com>
19483
timothy@apple.com59a87132008-10-07 21:49:43 +000019484 Auto-generate the DOMEventTarget protocol implementation for
19485 DOMNode and DOMSVGElementInstance.
19486
19487 https://bugs.webkit.org/show_bug.cgi?id=21432
19488
19489 Reviewed by Darin Adler.
19490
19491 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
19492 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
19493 ObjCEventListener to it's own file. Remove the manual impelmentations
19494 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
19495 * bindings/objc/DOMEvents.h: Remove the categories that defined
19496 DOMEventTarget for DOMNode and DOMSVGElementInstance.
19497 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
19498 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
19499 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
19500 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
19501 callers from doing a manual deref.
19502 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
19503 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
19504 * bindings/scripts/CodeGeneratorObjC.pm:
19505 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
19506 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
19507 And include EventTargetSVGElementInstance.h for SVGElementInstance.
19508 (GenerateHeader): Remove the check for multiple parents.
19509 (GenerateImplementation): Remove the check for multiple parents. Remove
19510 the @deprecatedFunctions array since deprecated methods get generated
19511 into the main @interface now to work with protocols. Add support
19512 for the EventTargetNodeCast extended attribute. Add support for
19513 EventListener parameters.
19514 * dom/Node.idl: Define superclasses for ObjC so the implementation
19515 and interface implement the DOMEventTarget protocol. Explicitly
19516 specify Object as a superclass to use DOMEventTarget. Object will turn
19517 into DOMObject. This is needed to take the code generator down the right
19518 path of multiple super-classes as protocols. It is ObjC only for legacy
19519 reasons. The event target methods are normally on NodeEventTarget, a
19520 subclass of Node. But the ObjC API has never has this subclass and
19521 they are on DOMNode.
19522 * svg/SVGElementInstance.idl: Ditto.
19523
hyatt@apple.com5c9a9f72008-10-07 21:36:39 +0000195242008-10-07 David Hyatt <hyatt@apple.com>
19525
19526 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
19527
19528 The new pseudo-elements are:
19529 scrollbar
19530 scrollbar-button
19531 scrollbar-corner
19532 scrollbar-thumb
19533 scrollbar-track
19534
19535 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
19536 the following new pseudo-classes:
19537 scrollbar-active
19538 scrollbar-back
19539 scrollbar-forward
19540 scrollbar-horizontal
19541 scrollbar-vertical
19542
19543 Reviewed by Adele
19544
19545 * css/CSSSelector.cpp:
19546 (WebCore::CSSSelector::extractPseudoType):
19547 * css/CSSSelector.h:
19548 (WebCore::CSSSelector::):
19549
timothy@apple.com920feccc2008-10-07 21:08:29 +0000195502008-10-06 Timothy Hatcher <timothy@apple.com>
19551
19552 Add support to the Resources panel for queries like "#123", "foo #123",
19553 "line: 123" and "foo line: 123". These will match the query limiting
19554 the search only to the line specified. If only a line is specified,
19555 the whole line is matched.
19556
19557 https://bugs.webkit.org/show_bug.cgi?id=21422
19558
19559 Reviewed by Darin Adler.
19560
19561 * inspector/front-end/SourceFrame.js:
19562 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
19563 row if the index is greater than the rows collection. Let it return
19564 undefined by indexing out-of-bounds.
19565 * inspector/front-end/SourceView.js:
19566 (WebInspector.SourceView.prototype.performSearch): Add support for
19567 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
19568 Also match the whole query to the whole document in case there are
19569 colors like "#333".
19570
alp@webkit.orge1244662008-10-07 18:28:43 +0000195712008-10-07 Alp Toker <alp@nuanti.com>
19572
19573 Reviewed by Mark Rowe.
19574
19575 https://bugs.webkit.org/show_bug.cgi?id=21392
19576 [GTK] Auto-generate JS DOM binding sources list
19577
19578 Remove the huge lists of generated DOM binding sources and headers in
19579 the build system. These are difficult to maintain and can be derived
19580 automatically.
19581
19582 The new strategy is to re-use the existing lists of IDL sources (which
19583 are needed for dist support anyway). This will also ease the addition
19584 of new language bindings.
19585
19586 * GNUmakefile.am:
19587
vestbo@webkit.org0bed2b22008-10-07 16:30:40 +0000195882008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
19589
19590 Reviewed by Simon.
19591
19592 Don't attempt to paint when updating control tints
19593
19594 We don't have a valid PlatformGraphicsContext so schedule
19595 the dirty scrollbar/scrollview area for repaint instead.
19596
19597 * platform/qt/ScrollbarThemeQt.cpp:
19598 (WebCore::ScrollbarThemeQt::paint):
19599 (WebCore::ScrollbarThemeQt::paintScrollCorner):
19600
zecke@webkit.org270bdd02008-10-07 07:54:06 +0000196012008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
19602
19603 [qt] Build fix after Scrollbar.h and Widget.h changes.
19604
19605 * plugins/qt/PluginViewQt.cpp:
19606 (WebCore::PluginView::getValue):
19607 (WebCore::PluginView::init):
19608
hyatt@apple.com3cb50a82008-10-07 06:58:08 +0000196092008-10-06 David Hyatt <hyatt@apple.com>
19610
19611 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
19612
19613 Reviewed by Sam Weinig
19614
19615 * WebCore.base.exp:
19616 * WebCore.xcodeproj/project.pbxproj:
19617 * loader/EmptyClients.h:
19618 (WebCore::EmptyFrameLoaderClient::hasWebView):
19619 * loader/FrameLoader.cpp:
19620 (WebCore::FrameLoader::loadWithDocumentLoader):
19621 (WebCore::FrameLoader::transitionToCommitted):
19622 * loader/FrameLoaderClient.h:
19623 * page/FocusController.cpp:
19624 (WebCore::FocusController::setActive):
19625 * page/FrameView.cpp:
19626 (WebCore::FrameView::FrameView):
19627 (WebCore::FrameView::init):
19628 (WebCore::FrameView::layoutIfNeededRecursive):
19629 * page/FrameView.h:
19630
mitz@apple.com869c6692b2008-10-07 04:42:51 +0000196312008-10-06 Dan Bernstein <mitz@apple.com>
19632
19633 - build fix
19634
19635 * bindings/objc/DOMEvents.h:
19636
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +0000196372008-10-06 Mark Mentovai <mark@moxienet.com>
19638
eric@webkit.org9e0b3b52008-10-07 01:14:05 +000019639 Reviewed by Tim Hatcher.
19640
19641 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
19642 Platform.h is not available, in preference to #ifdef ENABLE_feature.
19643 #ifdef is wrong now that features are disabled by #defining
19644 ENABLE_feature to 0.
19645
19646 https://bugs.webkit.org/show_bug.cgi?id=21338
19647
19648 * bindings/objc/DOMEvents.h:
19649 * bindings/objc/PublicDOMInterfaces.h:
19650 * dom/Document.idl:
19651 * page/DOMWindow.idl:
19652 * svg/svgtags.in:
19653
196542008-10-06 Mark Mentovai <mark@moxienet.com>
19655
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +000019656 Reviewed by Sam Weinig.
19657
19658 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
19659 to get the declaration for isMainThread().
19660
eric@webkit.org569e8092008-10-07 01:05:34 +0000196612008-10-06 Jeremy Moskovich <jeremy@chromium.org>
19662
eric@webkit.orge8585df2008-10-07 01:09:23 +000019663 Reviewed by Tim Hatcher.
19664
19665 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
19666 to reflect that.
19667
19668 * WebCore.xcodeproj/project.pbxproj:
19669 * platform/mac/WebCoreObjCExtras.c: Removed.
19670 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
19671
196722008-10-06 Jeremy Moskovich <jeremy@chromium.org>
19673
eric@webkit.org569e8092008-10-07 01:05:34 +000019674 Reviewed by Dan Bernstein.
19675
19676 Added C++ forward declaration for the NSURLAuthenticationChallenge class
19677 so that the m_currentMacChallenge variable doesn't cause a
19678 compilation error when ResourceHandleInternal.h is included from a C++ file.
19679 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
19680
19681 * platform/network/ResourceHandleInternal.h:
19682
sfalken@apple.com01dbee12008-10-06 23:47:08 +0000196832008-10-06 Steve Falkenburg <sfalken@apple.com>
19684
sfalken@apple.come897fd92008-10-07 00:17:26 +000019685 Windows build fix.
19686
19687 * WebCore.vcproj/WebCore.vcproj:
19688
196892008-10-06 Steve Falkenburg <sfalken@apple.com>
19690
sfalken@apple.com01dbee12008-10-06 23:47:08 +000019691 https://bugs.webkit.org/show_bug.cgi?id=21416
19692 Add missing null checks identified by Application Verifier.
19693
19694 Reviewed by Darin Adler.
19695
19696 * platform/win/SharedTimerWin.cpp:
19697 (WebCore::clearTimer):
19698
kmccullough@apple.com45a36da2008-10-06 23:08:16 +0000196992008-10-06 Kevin McCullough <kmccullough@apple.com>
19700
kmccullough@apple.com3094b9b2008-10-06 23:15:11 +000019701 Reviewed by Tim Hatcher.
19702
19703 Removed accidentally left in debugging statement.
19704
19705 * inspector/front-end/inspector.js:
19706
197072008-10-06 Kevin McCullough <kmccullough@apple.com>
19708
kmccullough@apple.com47002eb2008-10-06 23:10:09 +000019709 Reviewed by Tim Hatcher and Oliver Hunt.
kmccullough@apple.com45a36da2008-10-06 23:08:16 +000019710
19711 https://bugs.webkit.org/show_bug.cgi?id=21412
19712 Bug 21412: Refactor user initiated profile count to be more stable
19713
19714 * inspector/InspectorController.cpp: Keep track of the user-initiated
19715 profiles here now.
19716 (WebCore::InspectorController::InspectorController):
19717 (WebCore::InspectorController::startUserInitiatedProfiling):
19718 (WebCore::InspectorController::stopUserInitiatedProfiling):
19719 * inspector/InspectorController.h:
19720 The front end will now need to check for the existence of the user-
19721 initiated profile title and use its count instead of keeping its own.
19722 * inspector/front-end/ProfilesPanel.js:
19723
mitz@apple.com1d60e5c2008-10-06 20:25:46 +0000197242008-10-06 Dan Bernstein <mitz@apple.com>
19725
19726 Reviewed by Sam Weinig.
19727
19728 - separate GDI text drawing into its own function
19729
19730 * platform/graphics/win/FontCGWin.cpp:
19731 (WebCore::drawGDIGlyphs):
19732 (WebCore::Font::drawGlyphs):
19733
sfalken@apple.com593331e2008-10-06 19:55:09 +0000197342008-10-03 Steve Falkenburg <sfalken@apple.com>
19735
19736 <rdar://problem/6249833> Fix default button appearance
19737
19738 Reviewed by Adele Peterson.
19739
19740 * rendering/RenderThemeWin.cpp:
19741 (WebCore::RenderThemeWin::supportsFocus):
19742 (WebCore::RenderThemeWin::determineClassicState):
19743 (WebCore::RenderThemeWin::determineButtonState):
19744 (WebCore::RenderThemeWin::getClassicThemeData):
19745 (WebCore::RenderThemeWin::getThemeData):
19746 (WebCore::drawControl):
19747 * rendering/RenderThemeWin.h:
19748
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +0000197492008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
19750
19751 Reviewed by Simon.
19752
vestbo@webkit.orgc5067902008-10-06 18:11:31 +000019753 Add native virtual keycode to PlatformKeyboardEvent
19754
19755 * platform/PlatformKeyboardEvent.h:
19756 * platform/gtk/KeyEventGtk.cpp:
19757 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
19758 * platform/mac/KeyEventMac.mm:
19759 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
19760 * platform/qt/PlatformKeyboardEventQt.cpp:
19761 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
19762 * platform/win/KeyEventWin.cpp:
19763 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
19764 * platform/wx/KeyboardEventWx.cpp:
19765 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
19766
197672008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
19768
19769 Reviewed by Simon.
19770
vestbo@webkit.org89d13712008-10-06 17:51:39 +000019771 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
19772
19773 * platform/text/PlatformString.h:
19774 * platform/text/StringImpl.h:
19775 * platform/text/cf/StringCF.cpp:
19776 * platform/text/cf/StringImplCF.cpp:
19777
197782008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
19779
19780 Reviewed by Simon.
19781
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +000019782 Use bundles on QtWebKit/Mac for platform modules
19783
19784 * platform/FileSystem.h:
19785 * platform/qt/FileSystemQt.cpp:
19786 (WebCore::unloadModule):
19787
hausmann@webkit.org33791a82008-10-06 17:00:48 +0000197882008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
19789
19790 Reviewed by Simon.
19791
19792 Build fix for MinGW.
19793
19794 * platform/win/SystemTimeWin.cpp:
19795 * plugins/win/PluginViewWin.cpp:
19796 (WebCore::PluginView::invalidateRect):
19797
aroben@apple.com5613e512008-10-06 15:39:39 +0000197982008-10-06 Adam Roben <aroben@apple.com>
19799
aroben@apple.combf38ff12008-10-06 15:44:16 +000019800 Mimic the inspector/ directory structure in WebCore.vcproj
19801
19802 * WebCore.vcproj/WebCore.vcproj:
19803
198042008-10-06 Adam Roben <aroben@apple.com>
19805
aroben@apple.com5613e512008-10-06 15:39:39 +000019806 Windows build fix
19807
19808 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
19809 configurations to include WebCore/inspector.
19810
eric@webkit.org15e92962008-10-06 08:23:37 +0000198112008-10-04 Eric Seidel <eric@webkit.org>
19812
19813 Reviewed by Darin Adler.
19814
19815 SVG should support ascent and descent properties <font-face> instead of <font>!
19816 https://bugs.webkit.org/show_bug.cgi?id=21365
19817
19818 Tested by many many existing SVG tests.
19819
19820 * svg/SVGFontFaceElement.cpp:
19821 (WebCore::SVGFontFaceElement::ascent):
19822 (WebCore::SVGFontFaceElement::descent):
19823
mjs@apple.com64662c82008-10-06 06:44:03 +0000198242008-10-05 Darin Fisher <darin@chromium.org>
19825
19826 Reviewed by Eric Seidel.
19827
19828 REGRESSION: crash in ScriptElement::notifyFinished
19829 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
19830
19831 * dom/ScriptElement.cpp:
19832 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
19833 ensure that the ScriptElementData object is not destroyed prematurely.
19834
jmalonzo@webkit.org7cfb4ca2008-10-06 01:43:07 +0000198352008-10-05 Chris Lord <chris@openedhand.com>
19836
19837 Reviewed by Alp Toker. Landed by Jan Alonzo.
19838
19839 https://bugs.webkit.org/show_bug.cgi?id=20624
19840 WebKit-gtk uses deprecated GtkType/GtkObject
19841
19842 * plugins/gtk/gtk2xtbin.c:
19843 (gtk_xtbin_get_type):
19844 * plugins/gtk/gtk2xtbin.h:
19845
jmalonzo@webkit.org1285b2a2008-10-05 21:57:05 +0000198462008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
19847
19848 Reviewed by David Hyatt.
19849
19850 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
19851 https://bugs.webkit.org/show_bug.cgi?id=20725
19852
19853 Updated to ToT by Jan Alonzo.
19854
19855 * plugins/gtk/PluginViewGtk.cpp:
19856 (WebCore::PluginView::getValue):
19857
jmalonzo@webkit.org2b465832008-10-05 21:50:12 +0000198582008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
19859
19860 Reviewed by Darin Adler.
19861
19862 Invalid cast from GdkWindow to GtkWidget
19863 https://bugs.webkit.org/show_bug.cgi?id=21391
19864
19865 Fix a misplaced closing parenthesis to actually cast the widget, not the window
19866
19867 * platform/gtk/PlatformScreenGtk.cpp:
19868 (WebCore::screenDepth):
19869
abarth@webkit.orgfb074382008-10-05 19:12:30 +0000198702008-10-05 Adam Barth <abarth@webkit.org>
19871
19872 Reviewed by Darin Alder.
19873
19874 Attach the Origin header to POST requests to help defend against
19875 cross-site request forgery.
19876
19877 https://bugs.webkit.org/show_bug.cgi?id=20792
19878
19879 Collin Jackson <collinj@webkit.org> also contributed to this patch.
19880
19881 Tests: http/tests/security/originHeader/origin-header-for-data.html
19882 http/tests/security/originHeader/origin-header-for-empty.html
19883 http/tests/security/originHeader/origin-header-for-get.html
19884 http/tests/security/originHeader/origin-header-for-https.html
19885 http/tests/security/originHeader/origin-header-for-post.html
19886
19887 * bindings/js/JSDOMWindowBase.cpp:
19888 (WebCore::createWindow):
19889 * loader/FrameLoader.cpp:
19890 (WebCore::FrameLoader::createWindow):
19891 (WebCore::FrameLoader::urlSelected):
19892 (WebCore::FrameLoader::submitForm):
19893 (WebCore::FrameLoader::outgoingOrigin):
19894 (WebCore::FrameLoader::loadURL):
19895 (WebCore::FrameLoader::addExtraFieldsToRequest):
19896 (WebCore::FrameLoader::loadPostRequest):
19897 (WebCore::FrameLoader::loadResourceSynchronously):
19898 (WebCore::FrameLoader::loadItem):
19899 * loader/FrameLoader.h:
19900 * loader/SubresourceLoader.cpp:
19901 (WebCore::SubresourceLoader::create):
19902 * loader/loader.cpp:
19903 (WebCore::Loader::Host::servePendingRequests):
19904 * platform/SecurityOrigin.cpp:
19905 (WebCore::SecurityOrigin::toHTTPOrigin):
19906 * platform/SecurityOrigin.h:
19907 * platform/network/ResourceRequestBase.h:
19908 (WebCore::ResourceRequestBase::httpOrigin):
19909 (WebCore::ResourceRequestBase::setHTTPOrigin):
19910 (WebCore::ResourceRequestBase::clearHTTPOrigin):
19911 * xml/XMLHttpRequest.cpp:
19912 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
19913 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
19914 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
19915 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
19916
oliver@apple.com12c92c92008-10-05 08:28:51 +0000199172008-10-04 Oliver Hunt <oliver@apple.com>
19918
19919 Reviewed by Tim Hatcher.
19920
19921 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
19922 <https://bugs.webkit.org/show_bug.cgi?id=21381>
19923
19924 If we hit a parsing boundary (end of a packet, etc) in the middle of a
19925 <script> element when we are doing an incremental parse, we exit the
19926 parser, and reenter later when more data is available. During this
19927 reentry we incorrectly reset the scriptStartLineno to the current line
19928 in the parser, which is now part way through the script element.
19929
19930 The solution is to track whether we are entering or reentering the parsing
19931 of a script element. We do this simply by 0 checking scriptStartLineno,
19932 and resetting it after we complete parsing of each script element.
19933
19934 Test: http/tests/incremental/pause-in-script-element.pl
19935
19936 * ChangeLog:
19937 * html/HTMLTokenizer.cpp:
19938 (WebCore::HTMLTokenizer::parseSpecial):
19939 (WebCore::HTMLTokenizer::scriptHandler):
19940
jmalonzo@webkit.orgcc0c46e2008-10-05 06:13:28 +0000199412008-10-04 Alp Toker <alp@nuanti.com>
19942
19943 Reviewed by David Hyatt. Landed by Jan Alonzo.
19944
19945 https://bugs.webkit.org/show_bug.cgi?id=20924
19946 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
19947
19948 https://bugs.webkit.org/show_bug.cgi?id=19578
19949 [CURL] problem in parseDataUrl
19950
19951 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
19952 This patch also fixes encoding support in escaped (non-Base64) data
19953 URLs. All manual data URL tests now pass in both GLib and non-GLib
19954 code paths.
19955
19956 * platform/network/curl/ResourceHandleManager.cpp:
19957 (WebCore::parseDataUrl):
19958
timothy@apple.com5c58fb12008-10-05 04:12:40 +0000199592008-10-04 Timothy Hatcher <timothy@apple.com>
19960
19961 Makes breakpoints and debugging code during page load work in the
19962 Web Inspector's debugger. Specifically, this makes the source
19963 code for loading resources show up in the Scripts panel.
19964
19965 https://bugs.webkit.org/show_bug.cgi?id=19053
19966 rdar://problem/5933408
19967
19968 Reviewed by Mark Rowe.
19969
19970 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
19971 not using tabs and a tab width of 8.
19972 * inspector/InspectorController.cpp:
19973 (WebCore::addResourceSourceToFrame): Return a bool to report if the
19974 source was added successfully or not.
19975 (WebCore::addSourceToFrame): Ditto.
19976 * inspector/front-end/ScriptView.js:
19977 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
19978 Return early if the InspectorController.addSourceToFrame fails.
19979 Moved the delete of the _frameNeedsSetup property after that call so
19980 if the source wasn't added it will be attempted again.
19981 * inspector/front-end/SourceView.js:
19982 (WebInspector.SourceView.prototype.detach): Move a comment.
19983 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
19984 Don't check if the resource is finished or failed, just attempt
19985 to add the source to the frame. WebCore has the source, but the
19986 finished property hasn't been set yet. Return early if the
19987 InspectorController.addSourceToFrame fails. Moved the delete
19988 of the _frameNeedsSetup property after that call so if the source
19989 wasn't added it will be attempted again.
19990 (WebInspector.SourceView.prototype._resourceLoadingFinished):
19991 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
19992 the source frame will we populated again now that the resource
19993 load has finished.
19994 * manual-tests/inspector/debugger-pause-during-load.html: Added.
19995
mrowe@apple.comb3214652008-10-05 03:04:18 +0000199962008-10-04 Mark Rowe <mrowe@apple.com>
19997
19998 Reviewed by Tim Hatcher.
19999
20000 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
20001
20002 * WebCore.xcodeproj/project.pbxproj:
20003
hyatt@apple.coma4a9e252008-10-05 00:55:01 +0000200042008-10-04 David Hyatt <hyatt@apple.com>
20005
20006 https://bugs.webkit.org/show_bug.cgi?id=21373
20007
20008 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
20009 is still present.
20010
20011 Reviewed by Mark Rowe
20012
20013 * page/FrameView.cpp:
20014 (WebCore::FrameView::~FrameView):
20015
weinig@apple.com3b7e4b12008-10-04 22:52:19 +0000200162008-10-04 Sam Weinig <sam@webkit.org>
20017
20018 Reviewed by Dan Bernstein.
20019
20020 Avoid copying a Vector when using getSupportedKeySizes.
20021
20022 * html/HTMLKeygenElement.cpp:
20023 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
20024 * platform/SSLKeyGenerator.h:
20025 * platform/gtk/TemporaryLinkStubs.cpp:
20026 (WebCore::getSupportedKeySizes):
20027 * platform/mac/SSLKeyGeneratorMac.mm:
20028 (WebCore::getSupportedKeySizes):
20029 * platform/qt/TemporaryLinkStubs.cpp:
20030 (WebCore::getSupportedKeySizes):
20031 * platform/win/TemporaryLinkStubs.cpp:
20032 (WebCore::getSupportedKeySizes):
20033 * platform/wx/TemporaryLinkStubs.cpp:
20034 (WebCore::getSupportedKeySizes):
20035
darin@apple.com28f84fc2008-10-04 21:10:00 +0000200362008-10-04 Darin Adler <darin@apple.com>
20037
20038 Reviewed by Cameron Zwarich.
20039
20040 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
20041 Bug 21295: Replace ExecState with a call frame Register pointer
20042
20043 * bindings/js/JSQuarantinedObjectWrapper.cpp:
20044 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
20045 Remove bogus "const".
20046 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
20047
hyatt@apple.comb17c7752008-10-04 21:03:11 +0000200482008-10-04 David Hyatt <hyatt@apple.com>
20049
20050 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
20051
20052 Reviewed by Darin Adler
20053
20054 * WebCore.xcodeproj/project.pbxproj:
20055 * platform/PopupMenuClient.h:
20056 * platform/gtk/PopupMenuGtk.cpp:
20057 (WebCore::PopupMenu::show):
20058 * platform/mac/PopupMenuMac.mm:
20059 (WebCore::PopupMenu::populate):
20060 (WebCore::PopupMenu::show):
20061 * platform/qt/PopupMenuQt.cpp:
20062 (WebCore::PopupMenu::populate):
20063 * platform/win/PopupMenuWin.cpp:
20064 (WebCore::PopupMenu::calculatePositionAndSize):
20065 (WebCore::PopupMenu::paint):
20066 (WebCore::PopupWndProc):
20067 * rendering/RenderMenuList.cpp:
20068 (WebCore::RenderMenuList::itemStyle):
20069 (WebCore::RenderMenuList::menuStyle):
20070 (WebCore::RenderMenuList::hostWindow):
20071 * rendering/RenderMenuList.h:
20072 * rendering/RenderTextControl.cpp:
20073 (WebCore::RenderTextControl::itemStyle):
20074 (WebCore::RenderTextControl::menuStyle):
20075 (WebCore::RenderTextControl::hostWindow):
20076 * rendering/RenderTextControl.h:
20077
pewtermoose@webkit.orgd75c0152008-10-04 18:41:03 +0000200782008-10-04 Matt Lilek <webkit@mattlilek.com>
20079
20080 Build fix - restore Private role to headers that had it before the move.
20081
20082 * WebCore.xcodeproj/project.pbxproj:
20083
darin@apple.com2f394342008-10-04 18:37:11 +0000200842008-10-04 Darin Adler <darin@apple.com>
20085
20086 - try to fix build
20087
20088 * DerivedSources.make: Add new inspector directory to VPATH.
darin@apple.com35f35322008-10-04 18:37:22 +000020089 * GNUmakefile.am: Add new inspector directory to includes.
20090 Re-sort the IDL_BINDINGS list. Add new inspector directory
20091 to VPATH.
darin@apple.com2f394342008-10-04 18:37:11 +000020092
pewtermoose@webkit.org54177d02008-10-04 17:28:44 +0000200932008-10-04 Matt Lilek <webkit@mattlilek.com>
20094
20095 Not reviewed, attempt to fix Gtk build.
20096
20097 * GNUmakefile.am:
20098
timothy@apple.comf51a3aa2008-10-04 08:09:41 +0000200992008-10-03 Timothy Hatcher <timothy@apple.com>
20100
timothy@apple.com9c94f6b2008-10-04 08:10:54 +000020101 Move the Web Inspector files into a top-level "inspector" folder.
20102
20103 https://bugs.webkit.org/show_bug.cgi?id=21359
20104
20105 Reviewed by Dave Hyatt.
20106
20107 * GNUmakefile.am:
20108 * WebCore.pro:
20109 * WebCore.vcproj/WebCore.vcproj:
20110 * WebCore.xcodeproj/project.pbxproj:
20111 * WebCoreSources.bkl:
20112 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
20113 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
20114 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
20115 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
20116 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
20117 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
20118 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
20119 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
20120 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
20121 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
20122 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
20123 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
20124 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
20125 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
20126 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
20127 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
20128 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
20129 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
20130 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
20131 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
20132 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
20133 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
20134 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
20135 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
20136 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
20137 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
20138 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
20139 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
20140 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
20141 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
20142 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
20143 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
20144 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
20145 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
20146 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
20147 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
20148 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
20149 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
20150 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
20151 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
20152 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
20153 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
20154 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
20155 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
20156 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
20157 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
20158 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
20159 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
20160 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
20161 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
20162 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
20163 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
20164 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
20165 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
20166 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
20167 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
20168 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
20169 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
20170 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
20171 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
20172 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
20173 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
20174 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
20175 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
20176 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
20177 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
20178 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
20179 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
20180 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
20181 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
20182 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
20183 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
20184 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
20185 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
20186 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
20187 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
20188 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
20189 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
20190 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
20191 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
20192 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
20193 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
20194 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
20195 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
20196 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
20197 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
20198 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
20199 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
20200 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
20201 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
20202 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
20203 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
20204 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
20205 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
20206 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
20207 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
20208 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
20209 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
20210 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
20211 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
20212 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
20213 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
20214 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
20215 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
20216 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
20217 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
20218 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
20219 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
20220 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
20221 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
20222 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
20223 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
20224 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
20225 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
20226 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
20227 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
20228 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
20229 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
20230 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
20231 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
20232 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
20233 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
20234 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
20235 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
20236 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
20237 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
20238 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
20239 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
20240 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
20241 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
20242 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
20243 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
20244 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
20245 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
20246 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
20247 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
20248 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
20249 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
20250 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
20251 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
20252 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
20253 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
20254 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
20255 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
20256 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
20257 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
20258 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
20259 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
20260 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
20261 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
20262 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
20263 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
20264 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
20265 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
20266 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
20267 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
20268
202692008-10-03 Timothy Hatcher <timothy@apple.com>
20270
timothy@apple.com11eb1a32008-10-04 08:09:52 +000020271 Adds support to the Web Inspector's Elements panel for fast tag name,
20272 class name, id and attribute name searching. The panel first tries
20273 using getElementById, getElementsByClassName and getElementsByTagName
20274 with the search query. Then does a slower search using XPath for partial
20275 matches, text and comment matches.
20276
20277 Adds support for search queries like "<div>", "<h" and "frame>".
20278 These forms limit the search to tag names, text and comment matches.
20279
20280 https://bugs.webkit.org/show_bug.cgi?id=21353
20281
20282 Reviewed by Maciej Stachowiak.
20283
20284 * page/inspector/ElementsPanel.js:
20285 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
20286 support. Add new search functions that try exact matches first.
20287
202882008-10-03 Timothy Hatcher <timothy@apple.com>
20289
timothy@apple.comf51a3aa2008-10-04 08:09:41 +000020290 Changes how searching works in the Web Inspector's Elements
20291 panel. The search tasks are divided into chunks that are small
20292 units of work that are performed at a time interval. This
20293 change also prevents queries that will select all elements,
20294 since that isn't useful.
20295
20296 https://bugs.webkit.org/show_bug.cgi?id=21285
20297
20298 Reviewed by Oliver Hunt.
20299
20300 * page/inspector/ElementsPanel.js:
20301 (WebInspector.ElementsPanel.prototype.searchCancled):
20302 Remove the searchResultsProperty form results since there might
20303 be an unfinished search.
20304 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
20305 documents and search functions into chunks that are performed on
20306 a interval of 25ms. Prevent searches for "//*" and "*".
20307
mjs@apple.com8b246d62008-10-04 07:15:33 +0000203082008-10-03 Maciej Stachowiak <mjs@apple.com>
20309
20310 Reviewed by Cameron Zwarich.
20311
20312 - "this" object in methods called on primitives should be wrapper object
20313 https://bugs.webkit.org/show_bug.cgi?id=21362
20314
20315 Updated so toThis conversion for the split window is handled properly.
20316
20317 * bindings/scripts/CodeGeneratorJS.pm:
20318
weinig@apple.com1b4545c2008-10-04 05:16:40 +0000203192008-10-03 Sam Weinig <sam@webkit.org>
20320
20321 Reviewed by David "The Motivator" Hyatt.
20322
20323 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
20324 Move SecurityOrigin out of platform/ to page/.
20325
20326 It was a layering violation for SecurityOrigin to be in platform
20327 as it depended on FrameLoader.
20328
20329 * GNUmakefile.am:
20330 * WebCore.pro:
20331 * WebCore.vcproj/WebCore.vcproj:
20332 * WebCore.xcodeproj/project.pbxproj:
20333 * WebCoreSources.bkl:
20334 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
20335 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
20336 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
20337 * platform/SecurityOrigin.cpp: Removed.
20338 * platform/SecurityOrigin.h: Removed.
20339 * platform/SecurityOriginHash.h: Removed.
20340
jmalonzo@webkit.org22d7ed12008-10-04 04:24:23 +0000203412008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
20342
20343 Reviewed by Alp Toker.
20344
20345 http://bugs.webkit.org/show_bug.cgi?id=18832
20346 [curl] file upload does not work
20347
20348 The curl_off_t integer type has a different size depending if large
20349 file support is enabled or not. There is no different public API for
20350 the two cases, so the same function accepts a different type based on
20351 a compilation option the could be different in WebKit and libcurl.
20352 To fix the bug we query libcurl at runtime for large file support and
20353 pass the right type based on that.
20354
20355 * platform/network/curl/ResourceHandleManager.cpp:
20356 (WebCore::ResourceHandleManager::setupPOST):
20357
jmalonzo@webkit.org047c3402008-10-04 04:02:30 +0000203582008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
20359
20360 Reviewed by David Hyatt.
20361
20362 Gtk build fixes.
20363
20364 * platform/gtk/FileChooserGtk.cpp:
20365 (WebCore::FileChooser::openFileChooser):
20366 * platform/gtk/PlatformScreenGtk.cpp:
20367 (WebCore::screenDepth):
20368 (WebCore::screenDepthPerComponent):
20369 (WebCore::screenAvailableRect):
20370 * platform/gtk/PopupMenuGtk.cpp:
20371 (WebCore::PopupMenu::show):
20372 * platform/gtk/ScrollViewGtk.cpp:
20373 (WebCore::ScrollView::platformAddChild):
20374 (WebCore::ScrollView::platformRemoveChild):
20375 * platform/gtk/WidgetGtk.cpp:
20376 (WebCore::Widget::setCursor):
20377 * plugins/gtk/PluginViewGtk.cpp:
20378 (WebCore::PluginView::getValue):
20379 (WebCore::PluginView::forceRedraw):
20380 (WebCore::PluginView::init):
20381
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +0000203822008-10-03 David Hyatt <hyatt@apple.com>
20383
hyatt@apple.com55377bb2008-10-04 01:09:37 +000020384 Fix Qt bustage from missing include.
20385
20386 * platform/qt/PlatformScreenQt.cpp:
20387
203882008-10-03 David Hyatt <hyatt@apple.com>
20389
hyatt@apple.comeff53462008-10-04 01:08:35 +000020390 Fix Windows scrollbar bustage in popup menus.
20391
20392 * platform/win/PopupMenuWin.cpp:
20393 (WebCore::PopupWndProc):
20394
203952008-10-03 David Hyatt <hyatt@apple.com>
20396
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +000020397 Fix Windows bustage.
20398
20399 * platform/win/FileChooserWin.cpp:
20400 (WebCore::FileChooser::openFileChooser):
20401 * platform/win/PlatformScreenWin.cpp:
20402 (WebCore::monitorInfoForWidget):
20403 * platform/win/WidgetWin.cpp:
20404 * plugins/win/PluginViewWin.cpp:
20405 (WebCore::PluginView::getValue):
20406 (WebCore::PluginView::forceRedraw):
20407 (WebCore::PluginView::init):
20408
darin@apple.com3d73fee2008-10-03 21:39:16 +0000204092008-10-03 Darin Adler <darin@apple.com>
20410
darin@apple.comc1e2d312008-10-03 22:55:04 +000020411 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
20412 seen on some machines but not others by adding an include.
20413
204142008-10-03 Darin Adler <darin@apple.com>
20415
darin@apple.com682a07e2008-10-03 22:41:30 +000020416 - Qt build fix
20417
20418 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
20419 execute functions. Declarations for these relied on the CodeType
20420 enumeration, which used to be in ExecState.h; but the functions
20421 aren't needed at all.
20422 * bridge/qt/qt_runtime.h: Ditto.
20423
204242008-10-03 Darin Adler <darin@apple.com>
20425
darin@apple.com3d73fee2008-10-03 21:39:16 +000020426 Reviewed by Geoff Garen.
20427
20428 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
20429 Turn ExecState into a call frame pointer.
20430
20431 Remove m_globalObject and m_globalData from ExecState.
20432
20433 * bindings/js/JSDOMWindowBase.cpp:
20434 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
20435 Removed an argument now that JSGlobalObject doesn't need it any more.
20436 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
20437 the JSDOMWindowBaseData constructor, and added the this argument to the
20438 JSGlobalObject constructor. This is because a couple key bits of
20439 initialization moved from the data constructor to the JSGlobalObject
20440 constructor.
20441 * bindings/js/JSDOMWindowBase.h: Ditto.
20442
20443 * bridge/qt/qt_runtime.cpp:
20444 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
20445 * bridge/runtime_method.cpp:
20446 (JSC::RuntimeMethod::RuntimeMethod):
20447 Pass JSGlobalData* instead of ExecState* to the InternalFunction
20448 constructor.
20449
hyatt@apple.com0e7921d2008-10-03 21:16:13 +0000204502008-10-03 David Hyatt <hyatt@apple.com>
20451
20452 Fix Windows/Qt build bustage.
20453
20454 Reviewed by ggaren
20455
20456 * loader/EmptyClients.h:
20457 (WebCore::EmptyChromeClient::platformWindow):
20458 * page/Chrome.cpp:
20459 (WebCore::Chrome::platformWindow):
20460 * page/Chrome.h:
20461 * page/ChromeClient.h:
20462 * platform/HostWindow.h:
20463 * platform/qt/PlatformScreenQt.cpp:
20464 (WebCore::screenDepth):
20465 (WebCore::screenDepthPerComponent):
20466 (WebCore::screenIsMonochrome):
20467 (WebCore::screenRect):
20468 (WebCore::screenAvailableRect):
20469 * platform/qt/PopupMenuQt.cpp:
20470 (WebCore::PopupMenu::show):
20471 * platform/win/PopupMenuWin.cpp:
20472 (WebCore::PopupMenu::show):
20473 (WebCore::PopupMenu::calculatePositionAndSize):
20474 (WebCore::PopupWndProc):
20475
simon.fraser@apple.comed87cd22008-10-03 20:20:01 +0000204762008-10-03 Simon Fraser <simon.fraser@apple.com>
20477
20478 Reviewed by Dave Hyatt
20479
20480 Make setStyle() take a const RenderStyle, to ensure that an
20481 earlier RenderStyle::diff() remains valid.
20482
20483 * rendering/RenderBR.cpp:
20484 * rendering/RenderBR.h:
20485 * rendering/RenderBlock.cpp:
20486 * rendering/RenderBlock.h:
20487 * rendering/RenderBox.cpp:
20488 * rendering/RenderBox.h:
20489 * rendering/RenderButton.cpp:
20490 * rendering/RenderButton.h:
20491 * rendering/RenderFieldset.cpp:
20492 * rendering/RenderFieldset.h:
20493 * rendering/RenderFileUploadControl.cpp:
20494 * rendering/RenderFileUploadControl.h:
20495 * rendering/RenderInline.cpp:
20496 * rendering/RenderInline.h:
20497 * rendering/RenderListBox.cpp:
20498 * rendering/RenderListBox.h:
20499 * rendering/RenderListItem.cpp:
20500 * rendering/RenderListItem.h:
20501 * rendering/RenderListMarker.cpp:
20502 * rendering/RenderListMarker.h:
20503 * rendering/RenderMenuList.cpp:
20504 * rendering/RenderMenuList.h:
20505 * rendering/RenderObject.cpp:
20506 (WebCore::RenderObject::setStyle):
20507 * rendering/RenderObject.h:
20508 * rendering/RenderReplaced.cpp:
20509 * rendering/RenderReplaced.h:
20510 * rendering/RenderSVGBlock.cpp:
20511 (WebCore::RenderSVGBlock::setStyle):
20512 * rendering/RenderSVGBlock.h:
20513 * rendering/RenderSVGGradientStop.cpp:
20514 * rendering/RenderSVGGradientStop.h:
20515 * rendering/RenderSlider.cpp:
20516 * rendering/RenderSlider.h:
20517 * rendering/RenderTable.cpp:
20518 * rendering/RenderTable.h:
20519 * rendering/RenderTableCell.cpp:
20520 * rendering/RenderTableCell.h:
20521 * rendering/RenderTableRow.cpp:
20522 * rendering/RenderTableRow.h:
20523 * rendering/RenderText.cpp:
20524 * rendering/RenderText.h:
20525 * rendering/RenderTextControl.cpp:
20526 * rendering/RenderTextControl.h:
20527 * rendering/RenderWidget.cpp:
20528 * rendering/RenderWidget.h:
20529 * rendering/style/RenderStyle.h:
20530 (WebCore::RenderStyle::isDisplayReplacedType):
20531 (WebCore::RenderStyle::isDisplayInlineType):
20532
hyatt@apple.com1ae34462008-10-03 19:17:35 +0000205332008-10-03 David Hyatt <hyatt@apple.com>
20534
hyatt@apple.com938a55f2008-10-03 20:10:32 +000020535 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
20536 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
20537 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
20538 that will work properly for hit testing. This patch just stubs out that method to return the same
20539 event untransformed.
20540
20541 Reviewed by Darin Adler
20542
20543 * page/EventHandler.cpp:
20544 (WebCore::EventHandler::handleMouseDoubleClickEvent):
20545 (WebCore::EventHandler::handleMouseMoveEvent):
20546 (WebCore::EventHandler::handleMouseReleaseEvent):
20547 (WebCore::EventHandler::passMousePressEventToScrollbar):
20548 * page/gtk/EventHandlerGtk.cpp:
20549 * page/mac/EventHandlerMac.mm:
20550 * page/qt/EventHandlerQt.cpp:
20551 * page/win/EventHandlerWin.cpp:
20552 * page/wx/EventHandlerWx.cpp:
20553 * platform/Scrollbar.cpp:
20554 (WebCore::Scrollbar::mouseMoved):
20555 (WebCore::Scrollbar::mouseExited):
20556 (WebCore::Scrollbar::mouseUp):
20557 (WebCore::Scrollbar::mouseDown):
20558 (WebCore::Scrollbar::transformEvent):
20559 * platform/Scrollbar.h:
20560
205612008-10-03 David Hyatt <hyatt@apple.com>
20562
hyatt@apple.com1ae34462008-10-03 19:17:35 +000020563 https://bugs.webkit.org/show_bug.cgi?id=21340
20564
20565 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
20566
20567 Reviewed by Dan Bernstein & Darin Adler
20568
20569 * platform/ScrollView.cpp:
20570 (WebCore::ScrollView::addChild):
20571 * platform/Widget.cpp:
20572 (WebCore::Widget::init):
20573 * platform/Widget.h:
20574 * platform/mac/WidgetMac.mm:
20575 * platform/win/PopupMenuWin.cpp:
20576 (WebCore::PopupMenu::show):
20577
adele@apple.come31aa912008-10-03 19:06:28 +0000205782008-10-03 Adele Peterson <adele@apple.com>
20579
20580 Reviewed by Sam Weinig.
20581
20582 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
20583 Return early if settings is nil.
20584
rwlbuis@webkit.orgeba93012008-10-03 19:00:22 +0000205852008-10-03 Rob Buis <buis@kde.org>
20586
20587 Reviewed by Darin.
20588
20589 https://bugs.webkit.org/show_bug.cgi?id=20134
20590 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
20591
20592 Make sure the input element gets the right default value when no value is set.
20593
20594 Test: fast/forms/range-default-value.html
20595
20596 * rendering/RenderSlider.cpp:
20597 (WebCore::RenderSlider::setPositionFromValue):
20598
hyatt@apple.com8de3eb72008-10-03 18:29:28 +0000205992008-10-03 David Hyatt <hyatt@apple.com>
20600
20601 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
20602 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
20603 platform-specific init/destroy methods.
20604
20605 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
20606
20607 Reviewed by Darin Adler
20608
20609 * WebCore.vcproj/WebCore.vcproj:
20610 * platform/ScrollView.cpp:
20611 (WebCore::ScrollView::ScrollView):
20612 (WebCore::ScrollView::~ScrollView):
20613 (WebCore::ScrollView::platformInit):
20614 (WebCore::ScrollView::platformDestroy):
20615 (WebCore::ScrollView::platformAddChild):
20616 (WebCore::ScrollView::platformRemoveChild):
20617 * platform/ScrollView.h:
20618 * platform/gtk/ScrollViewGtk.cpp:
20619 (WebCore::ScrollView::platformInit):
20620 (WebCore::ScrollView::platformDestroy):
20621 * platform/mac/ScrollViewMac.mm:
20622 * platform/qt/ScrollViewQt.cpp:
20623 (WebCore::ScrollView::platformInit):
20624 (WebCore::ScrollView::platformDestroy):
20625 * platform/win/ScrollViewWin.cpp: Removed.
20626 * platform/wx/ScrollViewWx.cpp:
20627 (WebCore::ScrollView::platformInit):
20628 (WebCore::ScrollView::platformDestroy):
20629 (WebCore::ScrollView::setPlatformWidget):
20630
adele@apple.comb1dd0a62008-10-03 18:13:28 +0000206312008-10-03 Adele Peterson <adele@apple.com>
20632
20633 Reviewed by Dan Bernstein.
20634
20635 Fix for <rdar://problem/6012018>
20636 https://bugs.webkit.org/show_bug.cgi?id=21335
20637 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
20638
20639 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
20640
hausmann@webkit.org2497ae82008-10-03 16:02:54 +0000206412008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
20642
20643 Build fix.
20644
20645 * platform/qt/WidgetQt.cpp:
20646 (WebCore::Widget::invalidateRect):
20647
alp@webkit.org2122a042008-10-03 12:38:12 +0000206482008-10-03 Alp Toker <alp@nuanti.com>
20649
alp@webkit.orgabc5b712008-10-03 13:36:23 +000020650 Remove some left-over GTK+ includes. No change in functionality.
20651
20652 * platform/Cursor.h:
20653 * platform/graphics/Icon.h:
20654 * platform/gtk/RenderThemeGtk.h:
20655
206562008-10-03 Alp Toker <alp@nuanti.com>
20657
alp@webkit.org2122a042008-10-03 12:38:12 +000020658 Build fix for trailing comment after #endif
20659
20660 * dom/ElementRareData.h:
20661
hyatt@apple.comd664bd52008-10-03 09:03:43 +0000206622008-10-03 David Hyatt <hyatt@apple.com>
20663
20664 Remove addToDirtyRegion.
20665
20666 Reviewed by Oliver Hunt
20667
20668 * page/Chrome.cpp:
20669 * page/Chrome.h:
20670 * page/ChromeClient.h:
20671 * platform/ScrollView.h:
20672 * platform/gtk/ScrollViewGtk.cpp:
20673 * platform/qt/ScrollViewQt.cpp:
20674 * platform/win/ScrollViewWin.cpp:
20675
mitz@apple.com810de662008-10-03 09:00:08 +0000206762008-10-03 Dan Bernstein <mitz@apple.com>
20677
20678 Reviewed by Maciej Stachowiak.
20679
20680 - fix a CachedResource leak introduced in r37176
20681
20682 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
20683 afterwards bail out of the outer pruneDeadResources().
20684
20685 * loader/Cache.cpp:
20686 (WebCore::Cache::Cache):
20687 (WebCore::Cache::pruneDeadResources):
20688 (WebCore::Cache::remove):
20689 * loader/Cache.h:
20690
hyatt@apple.com38d8a8a2008-10-03 08:50:33 +0000206912008-10-03 David Hyatt <hyatt@apple.com>
20692
20693 https://bugs.webkit.org/show_bug.cgi?id=21330
20694
20695 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
20696 scrollbars.
20697
20698 Reviewed by Oliver Hunt
20699
20700 * platform/ScrollView.cpp:
20701 (WebCore::ScrollView::setHasHorizontalScrollbar):
20702 (WebCore::ScrollView::setHasVerticalScrollbar):
20703 (WebCore::ScrollView::platformHasHorizontalAdjustment):
20704 (WebCore::ScrollView::platformHasVerticalAdjustment):
20705 * platform/ScrollView.h:
20706 * platform/gtk/ScrollViewGtk.cpp:
20707 (WebCore::ScrollView::adjustmentChanged):
20708 (WebCore::ScrollView::ScrollView):
20709 (WebCore::ScrollView::~ScrollView):
20710 (WebCore::ScrollView::setGtkAdjustments):
20711 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
20712 (WebCore::ScrollView::platformHandleVerticalAdjustment):
20713
jchaffraix@webkit.org8241c5e2008-10-03 08:15:36 +0000207142008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
20715
20716 Reviewed by Maciej Stachowiak.
20717
20718 Bug 21106: .in format discussed changes
20719 https://bugs.webkit.org/show_bug.cgi?id=21106
20720
20721 Change "upperCase" to "interfaceName" per-tag parameter as
20722 discussed on the mailing list. Removed the per-attribute version
20723 as it was not used.
20724
20725 Also add the "Element" suffix to all interfaceName parameter to match
20726 the class name (and thus remove it from make_names.pl).
20727
20728 * dom/make_names.pl:
20729 * html/HTMLTagNames.in:
20730 * svg/svgtags.in:
20731
hyatt@apple.comf0a13272008-10-03 07:38:27 +0000207322008-10-03 David Hyatt <hyatt@apple.com>
20733
20734 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
20735 Hopefully this is a temporary hack that could eventually be removed.
20736
20737 Reviewed by Sam Weinig
20738
20739 * platform/ScrollView.cpp:
20740 (WebCore::ScrollView::scrollContents):
20741 * platform/ScrollView.h:
20742 (WebCore::ScrollView::rootPreventsBlitting):
20743 * platform/qt/ScrollViewQt.cpp:
20744 (WebCore::ScrollView::ScrollView):
20745 (WebCore::ScrollView::~ScrollView):
20746 (WebCore::ScrollView::platformAddChild):
20747 (WebCore::ScrollView::platformRemoveChild):
20748
hyatt@apple.com6fa40c52008-10-03 07:06:28 +0000207492008-10-02 David Hyatt <hyatt@apple.com>
20750
20751 https://bugs.webkit.org/show_bug.cgi?id=21328
20752
20753 Make widget invalidation more cross-platform.
20754
20755 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
20756
20757 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
20758 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
20759
20760 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
20761
20762 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
20763
20764 Reviewed by Sam Weinig
20765
20766 * WebCore.base.exp:
20767 * page/FrameView.cpp:
20768 (WebCore::FrameView::invalidateRect):
20769 (WebCore::FrameView::invalidateScrollbarRect):
20770 * page/FrameView.h:
20771 * platform/PopupMenu.h:
20772 * platform/ScrollView.cpp:
20773 (WebCore::ScrollView::scrollContents):
20774 * platform/ScrollView.h:
20775 * platform/Scrollbar.cpp:
20776 (WebCore::Scrollbar::setEnabled):
20777 (WebCore::Scrollbar::invalidateRect):
20778 * platform/Scrollbar.h:
20779 * platform/ScrollbarClient.h:
20780 * platform/Widget.h:
20781 * platform/gtk/WidgetGtk.cpp:
20782 * platform/mac/WidgetMac.mm:
20783 * platform/win/PopupMenuWin.cpp:
20784 (WebCore::PopupMenu::invalidateScrollbarRect):
20785 * platform/win/WidgetWin.cpp:
20786 * plugins/PluginView.cpp:
20787 (WebCore::PluginView::invalidateTimerFired):
20788 (WebCore::PluginView::invalidateWindowlessPluginRect):
20789 * plugins/PluginView.h:
20790 * plugins/gtk/PluginViewGtk.cpp:
20791 (WebCore::PluginView::invalidateRect):
20792 * plugins/qt/PluginViewQt.cpp:
20793 (WebCore::PluginView::invalidateRect):
20794 * plugins/win/PluginViewWin.cpp:
20795 (WebCore::PluginView::invalidateRect):
20796 (WebCore::PluginView::invalidateRegion):
20797 * rendering/RenderLayer.cpp:
20798 (WebCore::RenderLayer::invalidateScrollbarRect):
20799 * rendering/RenderLayer.h:
20800 * rendering/RenderListBox.cpp:
20801 (WebCore::RenderListBox::paintObject):
20802 (WebCore::RenderListBox::paintScrollbar):
20803 (WebCore::RenderListBox::invalidateScrollbarRect):
20804 * rendering/RenderListBox.h:
20805
mitz@apple.com0203bbe2008-10-03 06:20:41 +0000208062008-10-02 Dan Bernstein <mitz@apple.com>
20807
20808 Reviewed by Geoffrey Garen and Sam Weinig.
20809
20810 - fix SVGFontFaceElement leaks seen in Acid3
20811 - make font-face elements take effect only when they are in the document tree
20812
20813 Test: svg/custom/font-face-not-in-document.svg
20814
20815 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
20816 RefPtr to a plain pointer to break a ref cycle.
20817 (WebCore::SVGFontData::svgFontFaceElement):
20818
20819 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
20820 @font-face rule from the document's mapped element sheet when the
20821 element is inserted and removed from the document, and to update it
20822 only when the element is in the document.
20823 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
20824 (WebCore::SVGFontFaceElement::parseMappedAttribute):
20825 (WebCore::SVGFontFaceElement::rebuildFontFace):
20826 (WebCore::SVGFontFaceElement::insertedIntoDocument):
20827 (WebCore::SVGFontFaceElement::removedFromDocument):
20828 (WebCore::SVGFontFaceElement::childrenChanged):
20829 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
20830 * svg/SVGFontFaceElement.h:
20831
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +0000208322008-10-01 Simon Fraser <simon.fraser@apple.com>
20833
20834 Reviewed by Dave Hyatt
20835
simon.fraser@apple.com397ffb032008-10-03 00:43:39 +000020836 Fix RenderFileUploadControl::setStyle() and
20837 RenderMenuList::setStyle() to not touch the style; replace
20838 with html4.css and CSSStyleSelector changes.
20839
20840 https://bugs.webkit.org/show_bug.cgi?id=21287
20841
20842 * css/CSSStyleSelector.cpp:
20843 (WebCore::CSSStyleSelector::adjustRenderStyle):
20844 * css/html4.css:
20845 * rendering/RenderBlock.cpp:
20846 (WebCore::RenderBlock::setStyle):
20847 * rendering/RenderFileUploadControl.cpp:
20848 * rendering/RenderMenuList.cpp:
20849 (WebCore::RenderMenuList::setStyle):
20850
208512008-10-01 Simon Fraser <simon.fraser@apple.com>
20852
20853 Reviewed by Dave Hyatt
20854
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +000020855 Clean up code that changes the RenderStyle passed in to
20856 table renderer setStyle() methods.
20857
20858 https://bugs.webkit.org/show_bug.cgi?id=21287
20859
20860 Tests: fast/table/floating-th.html
20861 fast/table/table-display-types-strict.html
20862 fast/table/table-display-types.html
20863
20864 * css/CSSStyleSelector.cpp:
20865 (WebCore::CSSStyleSelector::adjustRenderStyle):
20866 * rendering/RenderTableCell.cpp:
20867 (WebCore::RenderTableCell::setStyle):
20868 * rendering/RenderTableRow.cpp:
20869 (WebCore::RenderTableRow::setStyle):
20870 * rendering/RenderTableSection.cpp:
20871 (WebCore::RenderTableSection::setStyle):
20872
darin@apple.comcb1ab082008-10-03 00:28:54 +0000208732008-10-02 Darin Adler <darin@apple.com>
20874
20875 - fix build
20876
20877 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
20878 Not just locally in my generated file!
20879
adele@apple.comf0225902008-10-03 00:25:37 +0000208802008-10-02 Adele Peterson <adele@apple.com>
20881
20882 Reviewed by Dan Bernstein.
20883
20884 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
20885 REGRESSION: <input> color specified in inline style applies to placeholder
20886
20887 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
20888 is more appropriate. This change adds "-webkit-input-placeholder".
20889
20890 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
20891 Added definition for "-webkit-input-placeholder" pseudo element.
20892 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
20893 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
20894 Added case for PseudoInputPlaceholder.
20895 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
20896 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
20897
20898 * html/HTMLInputElement.cpp:
20899 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
20900 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
20901 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
20902 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
20903 * rendering/RenderTextControl.cpp:
20904 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
20905 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
20906 the text will be updated correctly.
20907 * rendering/RenderTextControl.h:
20908
cfleizach@apple.comd6bc1e72008-10-02 23:59:49 +0000209092008-10-02 Chris Fleizach <cfleizach@apple.com>
20910
20911 Reviewed by Darin Adler.
20912
20913 https://bugs.webkit.org/show_bug.cgi?id=21280
20914 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
20915
20916 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
20917 to ensure that there is more than one valid table cell, and that at least half of the cells
20918 have borders or have specific background colors. Modified the table detection layout test
20919 to test for the tables mentioned in the bug
20920
20921 * page/AccessibilityTable.cpp:
20922 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
20923
darin@apple.comb6295d42008-10-02 23:48:47 +0000209242008-10-02 Darin Adler <darin@apple.com>
20925
20926 Reviewed by Geoff Garen.
20927
20928 - https://bugs.webkit.org/show_bug.cgi?id=21321
20929 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
20930
20931 * bindings/js/GCController.cpp:
20932 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
20933 (WebCore::GCController::gcTimerFired): Ditto.
20934 (WebCore::GCController::garbageCollectNow): Ditto.
20935 * bindings/js/JSDOMWindowShell.cpp:
20936 (WebCore::JSDOMWindowShell::operator new): Ditto.
20937 * storage/Database.cpp:
20938 (WebCore::Database::Database): Ditto.
20939
mitz@apple.com833a6e72008-10-02 20:46:35 +0000209402008-10-02 Dan Bernstein <mitz@apple.com>
20941
20942 Reviewed by Alexey Proskuryakov.
20943
20944 - fix a Database leak that resulted in Document leaks
20945
20946 * storage/Database.cpp:
20947 (WebCore::Database::openDatabase): Account for the fact that RefCounted
20948 objects start out with a ref count of 1.
20949
weinig@apple.com77b7a0a2008-10-02 20:29:19 +0000209502008-10-02 Sam Weinig <sam@webkit.org>
20951
20952 Reviewed by Mr. Geoffrey Garen.
20953
20954 Always mark your parent before marking members.
20955
20956 * bindings/js/JSDOMWindowCustom.cpp:
20957 (WebCore::JSDOMWindow::mark):
20958
hyatt@apple.com98682b32008-10-02 20:17:08 +0000209592008-10-02 David Hyatt <hyatt@apple.com>
20960
20961 https://bugs.webkit.org/show_bug.cgi?id=21314
20962
20963 Make scrollBackingStore cross-platform.
20964
20965 Reviewed by Sam Weinig
20966
20967 * loader/EmptyClients.h:
20968 (WebCore::EmptyChromeClient::repaint):
20969 (WebCore::EmptyChromeClient::scroll):
20970 * page/Chrome.cpp:
20971 (WebCore::Chrome::repaint):
20972 (WebCore::Chrome::scroll):
20973 * page/Chrome.h:
20974 * page/ChromeClient.h:
20975 * page/EventHandler.cpp:
20976 (WebCore::EventHandler::handleAutoscroll):
20977 * platform/HostWindow.h:
20978 * platform/ScrollView.cpp:
20979 (WebCore::ScrollView::scrollContents):
20980 (WebCore::ScrollView::addPanScrollIcon):
20981 (WebCore::ScrollView::removePanScrollIcon):
20982 * platform/ScrollView.h:
20983 * platform/gtk/ScrollViewGtk.cpp:
20984 * platform/qt/ScrollViewQt.cpp:
20985 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
20986 (WebCore::ScrollView::~ScrollView):
20987 * platform/win/ScrollViewWin.cpp:
20988 (WebCore::ScrollView::ScrollView):
20989 (WebCore::ScrollView::~ScrollView):
20990
kevino@webkit.org8ca54f22008-10-02 19:59:35 +0000209912008-10-02 Kevin Ollivier <kevino@theolliviers.com>
20992
20993 wx build fixes after Frame/ScrollView changes.
20994
20995 * WebCoreSources.bkl:
20996 * platform/wx/ScrollViewWx.cpp:
20997 (WebCore::ScrollView::platformContentsToScreen):
20998 (WebCore::ScrollView::platformScreenToContents):
20999 (WebCore::ScrollView::platformIsOffscreen):
21000
brettw@chromium.org83eadcc2008-10-02 19:33:42 +0000210012008-10-02 Brett Wilson <brettw@chromium.org>
21002
21003 Reviewed by Sam Weinig
21004
21005 https://bugs.webkit.org/show_bug.cgi?id=21292
21006
21007 Revert the changes to enclosingIntRect made in r12530 since the new code
21008 doesn't round correctly.
21009
21010 * ChangeLog:
21011 * platform/graphics/FloatRect.cpp:
21012 (WebCore::enclosingIntRect):
21013
mitz@apple.com92dc01a2008-10-02 18:48:33 +0000210142008-10-02 Dan Bernstein <mitz@apple.com>
21015
21016 Reviewed by Anders Carlsson and Eric Seidel.
21017
21018 - fix HTMLCanvaseElement leak from -webkit-canvas() values
21019
21020 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
21021 pointer, as the document owns the canvas elements. Added code to release
21022 those elements in Document::removedLastRef() because they reference
21023 the document.
21024
21025 * css/CSSCanvasValue.cpp:
21026 (WebCore::CSSCanvasValue::element):
21027 * css/CSSCanvasValue.h:
21028 (WebCore::CSSCanvasValue::CSSCanvasValue):
21029 * dom/Document.cpp:
21030 (WebCore::Document::removedLastRef):
21031
ap@webkit.org44e40e42008-10-02 18:39:34 +0000210322008-10-02 Alexey Proskuryakov <ap@webkit.org>
21033
21034 Reviewed by Maciej Stachowiak.
21035
ap@webkit.orgdffca802008-10-02 18:40:40 +000021036 Build fix for platforms that don't implement WTF::ThreadSpecific.
ap@webkit.org44e40e42008-10-02 18:39:34 +000021037
21038 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
21039 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
21040 code is only needed for JS bindings in worker threads.
21041
hyatt@apple.comf1ffabf2008-10-02 18:23:32 +0000210422008-10-01 David Hyatt <hyatt@apple.com>
21043
21044 https://bugs.webkit.org/show_bug.cgi?id=21298
21045
21046 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
21047 will make that cross-platform.
21048
21049 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
21050 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
21051 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
21052
21053 Reviewed by Sam Weinig
21054
21055 * page/FrameView.cpp:
21056 (WebCore::FrameView::windowClipRect):
21057 (WebCore::FrameView::isActive):
21058 * page/FrameView.h:
21059 (WebCore::FrameView::visibleContentsResized):
21060 * platform/PopupMenu.h:
21061 * platform/ScrollView.cpp:
21062 (WebCore::ScrollView::init):
21063 (WebCore::ScrollView::destroy):
21064 (WebCore::ScrollView::setHasHorizontalScrollbar):
21065 (WebCore::ScrollView::setHasVerticalScrollbar):
21066 (WebCore::ScrollView::valueChanged):
21067 (WebCore::ScrollView::updateScrollbars):
21068 (WebCore::ScrollView::scrollContents):
21069 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
21070 (WebCore::ScrollView::platformHandleVerticalAdjustment):
21071 * platform/ScrollView.h:
21072 * platform/Scrollbar.cpp:
21073 (WebCore::Scrollbar::windowClipRect):
21074 * platform/ScrollbarClient.h:
21075 * platform/gtk/ScrollViewGtk.cpp:
21076 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
21077 (WebCore::ScrollView::platformHandleVerticalAdjustment):
21078 * platform/qt/ScrollViewQt.cpp:
21079 (WebCore::ScrollView::scrollContents):
21080 * platform/win/PopupMenuWin.cpp:
21081 (WebCore::PopupMenu::windowClipRect):
21082 * platform/win/ScrollViewWin.cpp:
21083 (WebCore::ScrollView::scrollContents):
21084 * rendering/RenderLayer.cpp:
21085 (WebCore::RenderLayer::windowClipRect):
21086 * rendering/RenderLayer.h:
21087 * rendering/RenderListBox.cpp:
21088 (WebCore::RenderListBox::panScroll):
21089 (WebCore::RenderListBox::windowClipRect):
21090 * rendering/RenderListBox.h:
21091
ap@webkit.org03710832008-10-02 16:18:56 +0000210922008-10-02 Alexey Proskuryakov <ap@webkit.org>
21093
21094 Reviewed by Darin Adler.
21095
21096 https://bugs.webkit.org/show_bug.cgi?id=21304
21097 Stop using a static wrapper map for WebCore JS bindings
21098
21099 The static domObjects map was not thread safe.
21100
21101 * dom/Document.h:
21102 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
21103 ports.
21104 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
21105
21106 * dom/Document.cpp:
21107 (WebCore::Document::createdXMLHttpRequest):
21108 (WebCore::Document::destroyedXMLHttpRequest):
21109 Moved XMLHttpRequest tracking from a global map to Document.
21110
21111 * GNUmakefile.am:
21112 * WebCore.pro:
21113 * WebCore.vcproj/WebCore.vcproj:
21114 * WebCore.xcodeproj/project.pbxproj:
21115 * WebCoreSources.bkl:
21116 * webcore-base.bkl:
21117 * bindings/DOMProtect.cpp: Removed.
21118 * bindings/DOMProtect.h: Removed.
21119 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
21120 so they can no longer protect bindings objects.
21121
21122 * dom/MessagePort.cpp:
21123 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
21124 (WebCore::CloseMessagePortTimer::fired):
21125 (WebCore::MessagePort::MessagePort):
21126 (WebCore::MessagePort::queueCloseEvent):
21127 (WebCore::MessagePort::setPendingActivity):
21128 (WebCore::MessagePort::unsetPendingActivity):
21129 * dom/MessagePort.h:
21130 (WebCore::MessagePort::hasPendingActivity):
21131 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
21132 to protect it.
21133
21134 * xml/XMLHttpRequest.h:
21135 (WebCore::XMLHttpRequest::hasPendingActivity):
21136 * xml/XMLHttpRequest.cpp:
21137 (WebCore::XMLHttpRequest::XMLHttpRequest):
21138 (WebCore::XMLHttpRequest::~XMLHttpRequest):
21139 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
21140 (WebCore::XMLHttpRequest::dropProtection):
21141 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
21142 (WebCore::XMLHttpRequest::cancelRequests):
21143 (WebCore::XMLHttpRequest::detachRequests):
21144 (WebCore::XMLHttpRequest::setPendingActivity):
21145 (WebCore::XMLHttpRequest::unsetPendingActivity):
21146 Moved XMLHttpRequest tracking from a global map to Document.
21147
21148 * bindings/js/JSDOMBinding.cpp:
21149 (WebCore::wrapperSet):
21150 (WebCore::DOMObjectWrapperMap::mapFor):
21151 (WebCore::DOMObjectWrapperMap::get):
21152 (WebCore::DOMObjectWrapperMap::set):
21153 (WebCore::DOMObjectWrapperMap::remove):
21154 (WebCore::getCachedDOMObjectWrapper):
21155 (WebCore::cacheDOMObjectWrapper):
21156 (WebCore::forgetDOMObject):
21157 (WebCore::getCachedDOMNodeWrapper):
21158 (WebCore::forgetDOMNode):
21159 (WebCore::cacheDOMNodeWrapper):
21160 (WebCore::markActiveObjectsForDocument):
21161 * bindings/js/JSDOMBinding.h:
21162 (WebCore::createDOMObjectWrapper):
21163 (WebCore::getDOMObjectWrapper):
21164 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
21165 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
21166 WebCore objects can never migrate between threads.
21167
21168 * bindings/js/JSDocumentCustom.cpp:
21169 (WebCore::JSDocument::mark):
21170 Call markActiveObjectsForDocument() from JSDOMBinding.
21171
21172 * bindings/js/JSCSSRuleCustom.cpp:
21173 (WebCore::toJS):
21174 * bindings/js/JSCSSValueCustom.cpp:
21175 (WebCore::toJS):
21176 * bindings/js/JSDOMWindowCustom.cpp:
21177 (WebCore::markDOMObjectWrapper):
21178 (WebCore::JSDOMWindow::mark):
21179 * bindings/js/JSEventCustom.cpp:
21180 (WebCore::toJS):
21181 * bindings/js/JSEventTarget.cpp:
21182 (WebCore::toJS):
21183 * bindings/js/JSHTMLCollectionCustom.cpp:
21184 (WebCore::toJS):
21185 * bindings/js/JSImageDataCustom.cpp:
21186 (WebCore::toJS):
21187 * bindings/js/JSMessageChannelCustom.cpp:
21188 (WebCore::JSMessageChannel::mark):
21189 * bindings/js/JSMessagePortCustom.cpp:
21190 (WebCore::JSMessagePort::mark):
21191 * bindings/js/JSNodeCustom.cpp:
21192 (WebCore::JSNode::mark):
21193 * bindings/js/JSSVGPathSegCustom.cpp:
21194 (WebCore::toJS):
21195 * bindings/js/JSStyleSheetCustom.cpp:
21196 (WebCore::toJS):
21197 * bindings/js/JSXMLHttpRequestCustom.cpp:
21198 (WebCore::JSXMLHttpRequest::mark):
21199 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
21200 (WebCore::JSXMLHttpRequestUpload::mark):
21201 * bindings/js/ScriptController.cpp:
21202 (WebCore::ScriptController::finishedWithEvent):
21203 * bindings/scripts/CodeGeneratorJS.pm:
21204 Pass a JSGlobalData reference to functions that track JS wrapper objects.
21205
mitz@apple.coma2b6b112008-10-02 07:52:29 +0000212062008-10-02 Dan Bernstein <mitz@apple.com>
21207
21208 - build fix
21209
21210 * page/JavaScriptCallFrame.idl:
21211
oliver@apple.com619d60b92008-10-02 07:35:21 +0000212122008-10-02 Oliver Hunt <oliver@apple.com>
21213
21214 Reviewed by NOBODY (Build fix).
21215
21216 Add new file to project files
21217
21218 * GNUmakefile.am:
21219 * WebCore.pro:
21220 * WebCore.vcproj/WebCore.vcproj:
21221
ggaren@apple.comdf2fda82008-10-02 07:13:43 +0000212222008-10-02 Geoffrey Garen <ggaren@apple.com>
21223
21224 Not reviewed.
ggaren@apple.com14a8dbd2008-10-02 07:15:12 +000021225
21226 Try to fix some more builds.
21227
21228 * GNUmakefile.am:
21229 * WebCore.pro:
21230
212312008-10-02 Geoffrey Garen <ggaren@apple.com>
21232
21233 Not reviewed.
ggaren@apple.comdf2fda82008-10-02 07:13:43 +000021234
21235 Try to fix Windows build.
21236
21237 * WebCore.vcproj/WebCore.vcproj:
21238
ggaren@apple.com69e9ccf2008-10-02 06:44:37 +0000212392008-10-01 Geoffrey Garen <ggaren@apple.com>
21240
21241 Reviewed by Darin Adler and Cameron Zwarich.
21242
21243 Updated for JavaScriptCore API changes: use a SourceCode instead of
21244 broken out parameters; treat sourceId as intptr_t.
21245
21246 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
21247 * bindings/js/JSXMLHttpRequestCustom.cpp:
21248 (WebCore::JSXMLHttpRequest::send):
21249 * bindings/js/ScriptController.cpp:
21250 (WebCore::ScriptController::evaluate):
21251 * bindings/js/StringSourceProvider.h:
21252 (WebCore::StringSourceProvider::create):
21253 (WebCore::StringSourceProvider::StringSourceProvider):
21254
21255 (WebCore::makeSource): Added a makeSource function for convenience.
21256
21257 * bindings/objc/WebScriptObject.mm:
21258 (-[WebScriptObject evaluateWebScript:]):
21259 * bridge/NP_jsobject.cpp:
21260 (_NPN_Evaluate):
21261 * bridge/jni/jni_jsobject.mm:
21262 (JavaJSObject::call):
21263 (JavaJSObject::eval):
21264 (JavaJSObject::getMember):
21265 (JavaJSObject::setMember):
21266 (JavaJSObject::removeMember):
21267
21268 * bridge/jni/jni_runtime.h:
21269 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
21270 ustring() function with an implicit operator because this class already
21271 holds a UString::rep.
21272
21273 * page/Console.cpp:
21274 (WebCore::retrieveLastCaller):
21275 (WebCore::Console::trace):
21276 * page/InspectorController.cpp:
21277 (WebCore::jsStringRef):
21278 (WebCore::InspectorController::addBreakpoint):
21279 (WebCore::InspectorController::removeBreakpoint):
21280 (WebCore::InspectorController::didParseSource):
21281 (WebCore::InspectorController::failedToParseSource):
21282 * page/InspectorController.h:
21283 * page/JavaScriptCallFrame.cpp:
21284 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
21285 * page/JavaScriptCallFrame.h:
21286 (WebCore::JavaScriptCallFrame::create):
21287 (WebCore::JavaScriptCallFrame::sourceIdentifier):
21288 (WebCore::JavaScriptCallFrame::update):
21289 * page/JavaScriptDebugListener.h:
21290 * page/JavaScriptDebugServer.cpp:
21291 (WebCore::JavaScriptDebugServer::addBreakpoint):
21292 (WebCore::JavaScriptDebugServer::removeBreakpoint):
21293 (WebCore::JavaScriptDebugServer::hasBreakpoint):
21294 (WebCore::dispatchDidParseSource):
21295 (WebCore::dispatchFailedToParseSource):
21296 (WebCore::JavaScriptDebugServer::sourceParsed):
21297 (WebCore::JavaScriptDebugServer::callEvent):
21298 (WebCore::JavaScriptDebugServer::atStatement):
21299 (WebCore::JavaScriptDebugServer::returnEvent):
21300 (WebCore::JavaScriptDebugServer::exception):
21301 (WebCore::JavaScriptDebugServer::willExecuteProgram):
21302 (WebCore::JavaScriptDebugServer::didExecuteProgram):
21303 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
21304 * page/JavaScriptDebugServer.h:
21305 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
21306 sourceIdentifier to sourceID.
21307
mitz@apple.com7a7f3142008-10-02 06:08:15 +0000213082008-10-01 Dan Bernstein <mitz@apple.com>
21309
21310 Reviewed by Geoffrey Garen.
21311
21312 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
21313
21314 Broke a ref cycle by changing the m_svgFontFaceElement members of
21315 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
21316 pointers. Also made sure that the @font-face rule added by
21317 SVGFontFaceElement to the document's mapped element sheet is removed
21318 when the font-face element is deleted or moved to another document.
21319
21320 * css/CSSFontFaceSource.cpp:
21321 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
21322 (WebCore::CSSFontFaceSource::getFontData):
21323 * css/CSSFontFaceSource.h:
21324 (WebCore::CSSFontFaceSource::svgFontFaceElement):
21325 * css/CSSFontFaceSrcValue.h:
21326 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
21327 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
21328 * svg/SVGFontFaceElement.cpp:
21329 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
21330 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
21331 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
21332 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
21333 * svg/SVGFontFaceElement.h:
21334
oliver@apple.comd3de8f32008-10-02 05:02:00 +0000213352008-10-01 Oliver Hunt <oliver@apple.com>
21336
21337 Reviewed by Maciej Stachowiak.
21338
21339 Bug 20315: Memory leak with Canvas getImageData
21340 <https://bugs.webkit.org/show_bug.cgi?id=20315>
21341
21342 This wasn't a leak, the issue was that we were reporting the cost
21343 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
21344 and we should have been reporting the cost when we create the
21345 JSImageData wrapper.
21346
21347 * WebCore.xcodeproj/project.pbxproj:
21348 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
21349 This was only needed to report the extra memory cost
21350 of the CPA.
21351 * bindings/js/JSImageDataCustom.cpp:
21352 (WebCore::toJS):
21353 We need a custom toJS function now so that we can report
21354 the extra memory cost.
21355 * bindings/scripts/CodeGeneratorJS.pm:
21356 Need to replace the reference to CanvasPixelArray with ImageData
21357 to be able to create the custom toJS implementation.
21358 * html/CanvasPixelArray.idl:
21359 * html/ImageData.idl:
21360
mitz@apple.come0642ce2008-10-02 04:54:06 +0000213612008-10-01 Dan Bernstein <mitz@apple.com>
21362
21363 Reviewed by Mark Rowe.
21364
21365 - https://bugs.webkit.org/show_bug.cgi?id=21293
21366 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
21367
21368 * svg/SVGMarkerElement.cpp:
21369 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
21370 that renderer destruction happens before the SVGMarkerElement is
21371 destroyed.
21372 * svg/SVGSVGElement.cpp:
21373 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
21374
eric@webkit.orgbe40b812008-10-02 01:43:16 +0000213752008-10-01 Evan Martin <evan@chromium.org>
21376
21377 Reviewed by Eric Seidel.
eric@webkit.org194cb362008-10-02 01:47:44 +000021378
21379 https://bugs.webkit.org/show_bug.cgi?id=20669
21380
21381 * css/makeprop.pl:
21382 Die if gperf fails.
21383
213842008-10-01 Evan Martin <evan@chromium.org>
21385
21386 Reviewed by Eric Seidel.
eric@webkit.orgbe40b812008-10-02 01:43:16 +000021387
21388 * loader/icon/IconDatabase.h:
21389 IconDatabase uses HashMap, so it needs to #include the header.
21390
mitz@apple.com0ff2a012008-10-02 00:48:54 +0000213912008-10-01 Dan Bernstein <mitz@apple.com>
21392
21393 Reviewed by Mark Rowe.
21394
mitz@apple.comca0080b2008-10-02 01:35:05 +000021395 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
21396
21397 * loader/Cache.cpp:
21398 (WebCore::Cache::remove): Disable pruning temporarily during
21399 CachedResource deletion.
21400
214012008-10-01 Dan Bernstein <mitz@apple.com>
21402
21403 Reviewed by Mark Rowe.
21404
mitz@apple.com0ff2a012008-10-02 00:48:54 +000021405 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
21406
21407 * svg/SVGFontFaceElement.cpp:
21408 (WebCore::SVGFontFaceElement::rebuildFontFace):
21409 * svg/SVGFontFaceElement.h:
21410 (WebCore::SVGFontFaceElement::associatedFontElement):
21411
brettw@chromium.org87b0e122008-10-01 22:34:16 +0000214122008-10-01 Brett Wilson <brettw@chromium.org>
21413
21414 Reviewed by Maciej Stachowiak.
21415
21416 Document the rounding behavior of the mapRect(IntRect) function in
21417 AffineTransform.h.
21418
21419 * platform/graphics/AffineTransform.h:
21420
hyatt@apple.comdeb39ee2008-10-01 22:30:56 +0000214212008-10-01 David Hyatt <hyatt@apple.com>
21422
21423 Move prohibitsScrolling from the Frame to the ScrollView.
21424
21425 Reviewed by Sam Weinig
21426
21427 * WebCore.base.exp:
21428 * page/Frame.cpp:
21429 (WebCore::FramePrivate::FramePrivate):
21430 * page/Frame.h:
21431 * page/FramePrivate.h:
21432 * page/FrameView.cpp:
21433 (WebCore::FrameView::scrollRectIntoViewRecursively):
21434 (WebCore::FrameView::setScrollPosition):
21435 * platform/ScrollView.cpp:
21436 (WebCore::ScrollView::init):
21437 (WebCore::ScrollView::scrollRectIntoViewRecursively):
21438 (WebCore::ScrollView::setScrollPosition):
21439 * platform/ScrollView.h:
21440 (WebCore::ScrollView::setProhibitsScrolling):
21441 (WebCore::ScrollView::prohibitsScrolling):
21442 * platform/gtk/ScrollViewGtk.cpp:
21443 (WebCore::ScrollView::updateScrollbars):
21444 * platform/qt/ScrollViewQt.cpp:
21445 (WebCore::ScrollView::updateScrollbars):
21446 * platform/win/ScrollViewWin.cpp:
21447 (WebCore::ScrollView::updateScrollbars):
21448
mrowe@apple.combffe15d2008-10-01 22:24:37 +0000214492008-10-01 Mark Rowe <mrowe@apple.com>
21450
21451 Reviewed by Geoff Garen.
21452
21453 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
21454
21455 * xml/XMLHttpRequest.cpp:
21456 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
21457 that we do during the loadRequestAsynchronously of the preflight request with a deref and
21458 GC unprotect.
21459
hyatt@apple.com2f029122008-10-01 22:12:23 +0000214602008-10-01 David Hyatt <hyatt@apple.com>
21461
21462 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
21463 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
21464
21465 Reviewed by Tim Hatcher
21466
21467 * WebCore.base.exp:
21468 * page/FrameView.cpp:
21469 (WebCore::FrameView::setCanHaveScrollbars):
21470 * page/FrameView.h:
21471 * platform/ScrollView.cpp:
21472 (WebCore::ScrollView::setCanHaveScrollbars):
21473 (WebCore::ScrollView::wheelEvent):
21474 * platform/ScrollView.h:
21475 (WebCore::ScrollView::canHaveScrollbars):
21476
mitz@apple.combebfaae2008-10-01 21:19:41 +0000214772008-10-01 Dan Bernstein <mitz@apple.com>
21478
21479 Reviewed by Mark Rowe.
21480
21481 - fix some CachedResource leaks seen on buildbot
21482
21483 The issue here was that emptying the cache was a no-op when it only
21484 contained resources with no data. Changed to go after those
21485 resources when the desired cache capacity is zero.
21486
21487 * loader/Cache.cpp:
21488 (WebCore::Cache::pruneLiveResources):
21489 (WebCore::Cache::pruneDeadResources):
21490 * loader/Cache.h:
21491 (WebCore::Cache::prune):
21492
hyatt@apple.come72b16e2008-10-01 20:58:19 +0000214932008-10-01 David Hyatt <hyatt@apple.com>
21494
hyatt@apple.com08ef1ea2008-10-01 21:11:07 +000021495 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
21496 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
21497
21498 Reviewed by Adam Roben
21499
21500 * platform/ScrollView.cpp:
21501 (WebCore::ScrollView::isOffscreen):
21502 (WebCore::ScrollView::platformIsOffscreen):
21503 * platform/ScrollView.h:
21504 * platform/gtk/ScrollViewGtk.cpp:
21505 * platform/mac/ScrollViewMac.mm:
21506 (WebCore::ScrollView::platformIsOffscreen):
21507 * platform/qt/ScrollViewQt.cpp:
21508 * platform/wx/ScrollViewWx.cpp:
21509
215102008-10-01 David Hyatt <hyatt@apple.com>
21511
hyatt@apple.come72b16e2008-10-01 20:58:19 +000021512 Make show/hide/setParentVisible cross-platform on ScrollView.
21513
21514 Reviewed by Adam Roben
21515
21516 * platform/ScrollView.cpp:
21517 (WebCore::ScrollView::setParentVisible):
21518 (WebCore::ScrollView::show):
21519 (WebCore::ScrollView::hide):
21520 * platform/ScrollView.h:
21521 * platform/win/ScrollViewWin.cpp:
21522
kmccullough@apple.com5e00f5c2008-10-01 20:41:56 +0000215232008-10-01 Kevin McCullough <kmccullough@apple.com>
21524
21525 Reviewed by Dan Bernstein.
21526
21527 https://bugs.webkit.org/show_bug.cgi?id=21284
21528 Bug 21284: Max height affects max width
21529 - Looks like a cut and paste bug
21530 - Added layout test fast/css/max-height-and-max-width.html
21531
21532 * css/CSSComputedStyleDeclaration.cpp:
21533 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
21534
hyatt@apple.comfe9c1302008-10-01 20:34:07 +0000215352008-10-01 David Hyatt <hyatt@apple.com>
21536
21537 https://bugs.webkit.org/show_bug.cgi?id=21282
21538
21539 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
21540
21541 Reviewed by Adam Roben
21542
21543 * loader/EmptyClients.h:
21544 (WebCore::EmptyChromeClient::screenToWindow):
21545 (WebCore::EmptyChromeClient::windowToScreen):
21546 * page/Chrome.cpp:
21547 (WebCore::Chrome::screenToWindow):
21548 (WebCore::Chrome::windowToScreen):
21549 * page/Chrome.h:
21550 * page/ChromeClient.h:
21551 * platform/HostWindow.h:
21552 * platform/ScrollView.cpp:
21553 (WebCore::ScrollView::contentsToScreen):
21554 (WebCore::ScrollView::screenToContents):
21555 (WebCore::ScrollView::platformContentsToScreen):
21556 (WebCore::ScrollView::platformScreenToContents):
21557 * platform/ScrollView.h:
21558 * platform/mac/ScrollViewMac.mm:
21559 (WebCore::ScrollView::platformContentsToScreen):
21560 (WebCore::ScrollView::platformScreenToContents):
21561 * platform/win/ScrollViewWin.cpp:
21562
mitz@apple.comf2ee2052008-10-01 20:31:19 +0000215632008-10-01 Dan Bernstein <mitz@apple.com>
21564
21565 Reviewed by Darin Adler.
21566
21567 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
21568
21569 Test: fast/parser/residual-style-close-across-removed-block.html
21570
21571 * html/HTMLParser.cpp:
21572 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
21573 an assertion that turned out to be wrong in this case, and changed to
21574 terminate the algorithm at the first empty block.
21575
hyatt@apple.comc5a54f42008-10-01 19:23:05 +0000215762008-10-01 David Hyatt <hyatt@apple.com>
21577
21578 Make setFrameRect on ScrollView cross-platform.
21579
21580 Reviewed by Sam Weinig
21581
21582 * page/FrameView.h:
21583 (WebCore::FrameView::contentsResized):
21584 * platform/ScrollView.cpp:
21585 (WebCore::ScrollView::setFrameRect):
21586 * platform/ScrollView.h:
21587 * platform/gtk/ScrollViewGtk.cpp:
21588 * platform/qt/ScrollViewQt.cpp:
21589 * platform/win/ScrollViewWin.cpp:
21590
weinig@apple.comab5c0172008-10-01 19:17:01 +0000215912008-10-01 Sam Weinig <sam@webkit.org>
21592
21593 Reviewed by Adele Peterson.
21594
21595 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
21596 to JSDOMWindow from JSDOMWindowBase.
21597
21598 * WebCore.xcodeproj/project.pbxproj:
21599 * bindings/js/JSDOMWindowBase.cpp:
21600 (WebCore::JSDOMWindowBase::removeTimeout):
21601 * bindings/js/JSDOMWindowBase.h:
21602 * bindings/js/JSDOMWindowCustom.cpp:
21603 (WebCore::setTimeoutOrInterval):
21604 (WebCore::JSDOMWindow::setTimeout):
21605 (WebCore::JSDOMWindow::clearTimeout):
21606 (WebCore::JSDOMWindow::setInterval):
21607 (WebCore::JSDOMWindow::clearInterval):
21608 (WebCore::JSDOMWindow::atob):
21609 (WebCore::JSDOMWindow::btoa):
21610 * page/DOMWindow.idl:
21611
mitz@apple.comd9e6f4e2008-10-01 18:12:45 +0000216122008-10-01 Dan Bernstein <mitz@apple.com>
21613
21614 - Mac build fix
21615
21616 * WebCore.base.exp:
21617
timothy@apple.comd2bf1cb2008-10-01 17:33:37 +0000216182008-10-01 Timothy Hatcher <timothy@apple.com>
21619
21620 Prevent stealing focus from the search field when focusing a DOM node.
21621
21622 https://bugs.webkit.org/show_bug.cgi?id=21275
21623
21624 Reviewed by Kevin McCullough.
21625
21626 * page/inspector/ElementsPanel.js:
21627 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
21628 Don't steal focus if the current focus element is the search field.
21629
weinig@apple.com841594d2008-10-01 07:27:49 +0000216302008-09-30 Sam Weinig <sam@webkit.org>
21631
21632 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
21633
21634 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
21635 Autogenerate JS event listeners
21636
21637 - Generate getting/setting of EventListeners.
21638
21639 - Adding a new named EventListener now has the same process as adding any other DOM
21640 attribute. (Add a method with the same name in the c++ file).
21641
21642 (The EventListeners for MessagePort have been intentionally left custom so that we
21643 can continue to experiment with making those EventListeners work in a frame-less world.)
21644
21645 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
21646 * bindings/js/JSDOMWindowCustom.cpp: ditto.
21647 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
21648 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
21649 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
21650 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
21651 getter/setters
21652 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
21653 * dom/EventTargetNode.h: ditto.
21654 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
21655 will use JSEventListerner instead of JSUnprotectedEventListener.
21656 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
21657 * page/DOMWindow.cpp: Add getter/setters for named EventListener
21658 * page/DOMWindow.h: ditto.
21659 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
21660 will use JSEventListerner instead of JSUnprotectedEventListener.
21661 * xml/XMLHttpRequest.idl: Remove custom attributes.
21662 * xml/XMLHttpRequestUpload.idl: ditto.
21663
mrowe@apple.comfed78312008-10-01 06:53:49 +0000216642008-09-30 Mark Rowe <mrowe@apple.com>
21665
21666 Reviewed by Dan Bernstein.
21667
21668 Add a leak counter for CachedResources since we've had two recent leaks involving them.
21669
21670 * loader/CachedResource.cpp:
21671 (WebCore::CachedResource::CachedResource):
21672 (WebCore::CachedResource::~CachedResource):
21673
mitz@apple.com19b93112008-10-01 06:25:17 +0000216742008-09-30 Dan Bernstein <mitz@apple.com>
21675
21676 Reviewed by Dave Hyatt.
21677
21678 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
21679 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
21680
21681 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
21682 the font name in memory.
21683
21684 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
21685 OpenTypeUtilities.*.
21686
21687 * platform/graphics/win/FontCustomPlatformData.cpp:
21688 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
21689 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
21690 used.
21691 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
21692 for fonts loaded using AddFontMemResourceEx.
21693 (WebCore::createFontCustomPlatformData): Added a call to
21694 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
21695 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
21696 fontPlatformData() will retrieve the name from the font reference.
21697
21698 * platform/graphics/win/FontCustomPlatformData.h:
21699 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
21700 font name member.
21701
21702 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
21703 * platform/graphics/win/GetEOTHeader.h: Renamed.
21704
21705 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
21706 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
21707 (WebCore::BigEndianULong::BigEndianULong): Ditto.
21708 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
21709 the font data and modifies it to have the given name, then activates
21710 it using AddFontMemResourceEx.
21711
21712 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
21713
mrowe@apple.com12cb8c22008-10-01 06:09:28 +0000217142008-09-30 Mark Rowe <mrowe@apple.com>
21715
21716 Reviewed by Dan Bernstein.
21717
21718 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
21719
21720 * rendering/RenderObject.cpp:
21721 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
21722 with calls to removeClient when we're being destroyed.
21723
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +0000217242008-09-30 Eric Carlson <eric.carlson@apple.com>
21725
mrowe@apple.com12cb8c22008-10-01 06:09:28 +000021726 Reviewed by Antti Koivisto.
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +000021727
21728 https://bugs.webkit.org/show_bug.cgi?id=21243
21729
21730 Fix loopstart and loopend default values.
21731
21732 Tests: media/loopend-limits.html
21733 media/loopstart-limits.html
21734
21735 * html/HTMLMediaElement.cpp:
21736 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
21737 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
21738
kevino@webkit.orgbfd4cab2008-10-01 05:04:18 +0000217392008-09-30 Kevin Ollivier <kevino@theolliviers.com>
21740
21741 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
21742
21743 * WebCoreSources.bkl:
21744 * platform/wx/ScrollViewWx.cpp:
21745 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
21746
mitz@apple.com17145582008-10-01 04:43:07 +0000217472008-09-30 Dan Bernstein <mitz@apple.com>
21748
21749 Reviewed by Sam Weinig.
21750
21751 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
21752 was fixed in r17249 and re-introduced in r31435.
21753
21754 * html/HTMLViewSourceDocument.cpp:
21755 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
21756 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
21757 (WebCore::HTMLViewSourceDocument::addLine):
21758 (WebCore::HTMLViewSourceDocument::addLink):
21759 * html/HTMLViewSourceDocument.h:
21760
weinig@apple.com42d87a62008-10-01 00:39:19 +0000217612008-09-30 Sam Weinig <sam@webkit.org>
21762
21763 Reviewed by Eric Seidel.
21764
21765 More for https://bugs.webkit.org/show_bug.cgi?id=21122
21766 Autogenerate JS event listeners
21767
21768 - Make EventListener getter/setters names in c++ files match those in
21769 JS (ie. onLoadListener -> onload).
21770 - Add standard way to access the frame associated with the EventTarget
21771 for EventListener lookup.
21772 - Autogenerate dispatchEvent, it wasn't doing anything custom.
21773
21774 * bindings/js/JSDOMApplicationCacheCustom.cpp:
21775 (WebCore::JSDOMApplicationCache::mark):
21776 (WebCore::JSDOMApplicationCache::addEventListener):
21777 (WebCore::JSDOMApplicationCache::removeEventListener):
21778 (WebCore::JSDOMApplicationCache::setOnchecking):
21779 (WebCore::JSDOMApplicationCache::onchecking):
21780 (WebCore::JSDOMApplicationCache::setOnerror):
21781 (WebCore::JSDOMApplicationCache::onerror):
21782 (WebCore::JSDOMApplicationCache::setOnnoupdate):
21783 (WebCore::JSDOMApplicationCache::onnoupdate):
21784 (WebCore::JSDOMApplicationCache::setOndownloading):
21785 (WebCore::JSDOMApplicationCache::ondownloading):
21786 (WebCore::JSDOMApplicationCache::setOnprogress):
21787 (WebCore::JSDOMApplicationCache::onprogress):
21788 (WebCore::JSDOMApplicationCache::setOnupdateready):
21789 (WebCore::JSDOMApplicationCache::onupdateready):
21790 (WebCore::JSDOMApplicationCache::setOncached):
21791 (WebCore::JSDOMApplicationCache::oncached):
21792 * bindings/js/JSEventTargetNodeCustom.cpp:
21793 (WebCore::JSEventTargetNode::addEventListener):
21794 (WebCore::JSEventTargetNode::removeEventListener):
21795 (WebCore::JSEventTargetNode::getListener):
21796 (WebCore::JSEventTargetNode::setListener):
21797 * bindings/js/JSMessagePortCustom.cpp:
21798 (WebCore::JSMessagePort::mark):
21799 (WebCore::JSMessagePort::addEventListener):
21800 (WebCore::JSMessagePort::removeEventListener):
21801 (WebCore::JSMessagePort::setOnmessage):
21802 (WebCore::JSMessagePort::onmessage):
21803 (WebCore::JSMessagePort::setOnclose):
21804 (WebCore::JSMessagePort::onclose):
21805 * bindings/js/JSXMLHttpRequestCustom.cpp:
21806 (WebCore::JSXMLHttpRequest::mark):
21807 (WebCore::JSXMLHttpRequest::onreadystatechange):
21808 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
21809 (WebCore::JSXMLHttpRequest::onabort):
21810 (WebCore::JSXMLHttpRequest::setOnabort):
21811 (WebCore::JSXMLHttpRequest::onerror):
21812 (WebCore::JSXMLHttpRequest::setOnerror):
21813 (WebCore::JSXMLHttpRequest::onload):
21814 (WebCore::JSXMLHttpRequest::setOnload):
21815 (WebCore::JSXMLHttpRequest::onloadstart):
21816 (WebCore::JSXMLHttpRequest::setOnloadstart):
21817 (WebCore::JSXMLHttpRequest::onprogress):
21818 (WebCore::JSXMLHttpRequest::setOnprogress):
21819 (WebCore::JSXMLHttpRequest::addEventListener):
21820 (WebCore::JSXMLHttpRequest::removeEventListener):
21821 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
21822 (WebCore::JSXMLHttpRequestUpload::mark):
21823 (WebCore::JSXMLHttpRequestUpload::onabort):
21824 (WebCore::JSXMLHttpRequestUpload::setOnabort):
21825 (WebCore::JSXMLHttpRequestUpload::onerror):
21826 (WebCore::JSXMLHttpRequestUpload::setOnerror):
21827 (WebCore::JSXMLHttpRequestUpload::onload):
21828 (WebCore::JSXMLHttpRequestUpload::setOnload):
21829 (WebCore::JSXMLHttpRequestUpload::onloadstart):
21830 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
21831 (WebCore::JSXMLHttpRequestUpload::onprogress):
21832 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
21833 (WebCore::JSXMLHttpRequestUpload::addEventListener):
21834 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
21835 * bindings/scripts/CodeGeneratorJS.pm:
21836 * dom/EventTarget.h:
21837 * dom/EventTargetNode.cpp:
21838 (WebCore::EventTargetNode::associatedFrame):
21839 * dom/EventTargetNode.h:
21840 * dom/EventTargetNode.idl:
21841 * dom/MessagePort.cpp:
21842 (WebCore::MessagePort::associatedFrame):
21843 * dom/MessagePort.h:
21844 (WebCore::MessagePort::setOnmessage):
21845 (WebCore::MessagePort::onmessage):
21846 (WebCore::MessagePort::setOnclose):
21847 (WebCore::MessagePort::onclose):
21848 * dom/MessagePort.idl:
21849 * loader/appcache/DOMApplicationCache.h:
21850 (WebCore::DOMApplicationCache::setOnchecking):
21851 (WebCore::DOMApplicationCache::onchecking):
21852 (WebCore::DOMApplicationCache::setOnerror):
21853 (WebCore::DOMApplicationCache::onerror):
21854 (WebCore::DOMApplicationCache::setOnnoupdate):
21855 (WebCore::DOMApplicationCache::onnoupdate):
21856 (WebCore::DOMApplicationCache::setOndownloading):
21857 (WebCore::DOMApplicationCache::ondownloading):
21858 (WebCore::DOMApplicationCache::setOnprogress):
21859 (WebCore::DOMApplicationCache::onprogress):
21860 (WebCore::DOMApplicationCache::setOnupdateready):
21861 (WebCore::DOMApplicationCache::onupdateready):
21862 (WebCore::DOMApplicationCache::setOncached):
21863 (WebCore::DOMApplicationCache::oncached):
21864 (WebCore::DOMApplicationCache::associatedFrame):
21865 * loader/appcache/DOMApplicationCache.idl:
21866 * svg/EventTargetSVGElementInstance.cpp:
21867 (WebCore::EventTargetSVGElementInstance::associatedFrame):
21868 (WebCore::EventTargetSVGElementInstance::addEventListener):
21869 (WebCore::EventTargetSVGElementInstance::removeEventListener):
21870 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
21871 * svg/EventTargetSVGElementInstance.h:
21872 * xml/XMLHttpRequest.cpp:
21873 (WebCore::XMLHttpRequest::associatedFrame):
21874 * xml/XMLHttpRequest.h:
21875 (WebCore::XMLHttpRequest::setOnreadystatechange):
21876 (WebCore::XMLHttpRequest::onreadystatechange):
21877 (WebCore::XMLHttpRequest::setOnabort):
21878 (WebCore::XMLHttpRequest::onabort):
21879 (WebCore::XMLHttpRequest::setOnerror):
21880 (WebCore::XMLHttpRequest::onerror):
21881 (WebCore::XMLHttpRequest::setOnload):
21882 (WebCore::XMLHttpRequest::onload):
21883 (WebCore::XMLHttpRequest::setOnloadstart):
21884 (WebCore::XMLHttpRequest::onloadstart):
21885 (WebCore::XMLHttpRequest::setOnprogress):
21886 (WebCore::XMLHttpRequest::onprogress):
21887 * xml/XMLHttpRequest.idl:
21888 * xml/XMLHttpRequestUpload.cpp:
21889 (WebCore::XMLHttpRequestUpload::associatedFrame):
21890 * xml/XMLHttpRequestUpload.h:
21891 (WebCore::XMLHttpRequestUpload::setOnabort):
21892 (WebCore::XMLHttpRequestUpload::onabort):
21893 (WebCore::XMLHttpRequestUpload::setOnerror):
21894 (WebCore::XMLHttpRequestUpload::onerror):
21895 (WebCore::XMLHttpRequestUpload::setOnload):
21896 (WebCore::XMLHttpRequestUpload::onload):
21897 (WebCore::XMLHttpRequestUpload::setOnloadstart):
21898 (WebCore::XMLHttpRequestUpload::onloadstart):
21899 (WebCore::XMLHttpRequestUpload::setOnprogress):
21900 (WebCore::XMLHttpRequestUpload::onprogress):
21901 * xml/XMLHttpRequestUpload.idl:
21902
darin@apple.com9451b7f2008-10-01 00:38:06 +0000219032008-09-30 Darin Adler <darin@apple.com>
21904
21905 - roll out assertion breaking regression tests
21906
21907 * platform/ScrollView.cpp:
21908 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
21909 that fires in regression tests. Hyatt can add it back later. The assertion
21910 fires in the regression test because of layout that triggers repaint occuring
21911 during the process of removing a frame.
21912
adele@apple.comed74a6e2008-09-30 23:21:50 +0000219132008-09-30 Adele Peterson <adele@apple.com>
21914
21915 Reviewed by Darin Adler.
21916
21917 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
21918 <rdar://problem/6222134> add a way to set color for input placeholder text
21919
21920 Test: fast/forms/placeholder-pseudo-style.html
21921
21922 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
21923 input elements when they are displaying the placeholder text.
21924
21925 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
21926 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
21927 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
21928 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
21929 * css/html4.css: Add rule to make placeholder text default to darkGray.
21930
21931 * html/HTMLInputElement.cpp:
21932 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
21933 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
21934 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
21935 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
21936 (WebCore::HTMLInputElement::setValue): ditto.
21937 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
21938 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
21939 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
21940 renderer will just ask the node if it should draw the placeholder.
21941 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
21942
21943 * rendering/RenderTextControl.cpp:
21944 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
21945 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
21946 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
21947 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
21948 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
21949 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
21950 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
21951 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
21952 * rendering/RenderTextControl.h:
21953
bdakin@apple.com31845c52008-09-30 23:19:53 +0000219542008-09-30 Beth Dakin <bdakin@apple.com>
21955
21956 Reviewed by Darin Adler.
21957
21958 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
21959 by failed allocation due to invalid counter/attr
21960 and corresponding: <rdar://problem/6152371>
21961
21962 * css/CSSParser.cpp:
21963 (WebCore::CSSParser::parseCounterContent): The spec indicates that
21964 only identifiers should be accepted here.
21965
kmccullough@apple.com86834eb2008-09-30 22:31:46 +0000219662008-09-30 Kevin McCullough <kmccullough@apple.com>
21967
kmccullough@apple.com88219342008-09-30 22:33:30 +000021968 Reviewed by Oliver Hunt.
21969
21970 Bug 21255: console.profileEnd() without a console.profile() crashes the
21971 web inspector
21972
21973 * page/Console.cpp:
21974 (WebCore::Console::profileEnd):
21975
219762008-09-30 Kevin McCullough <kmccullough@apple.com>
21977
kmccullough@apple.com86834eb2008-09-30 22:31:46 +000021978 Reviewed by Tim Hatcher.
21979
21980 Bug 21252: calling console.profile() with a title that is 2 chars or
21981 shorter does not linkify it
21982
21983 - Previously we tried to not linkify very short URLs but since profile
21984 titles can be any length this is not always true.
21985
21986 * page/inspector/inspector.js:
21987
hyatt@apple.comda9b3072008-09-30 21:30:56 +0000219882008-09-30 Dave Hyatt <hyatt@apple.com>
21989
21990 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
21991 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
21992 (1) Not used on Mac
21993 (2) Used on Windows
21994 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
21995 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
21996 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
21997
21998 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
21999 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
22000 With the changes to this method, the new behavior is as follows:
22001 (1) Not used on Mac
22002 (2) Used on Windows
22003 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
22004 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
22005 (5) Not used on wx
22006
22007 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
22008 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
22009
22010 Reviewed by Sam Weinig
22011
22012 * ChangeLog:
22013 * dom/Document.cpp:
22014 (WebCore::Document::implicitClose):
22015 * platform/HostWindow.h:
22016 (WebCore::HostWindow::paint):
22017 * platform/ScrollView.h:
22018 * platform/gtk/ScrollViewGtk.cpp:
22019 * platform/mac/ScrollViewMac.mm:
22020 * platform/qt/ScrollViewQt.cpp:
22021 * platform/win/ScrollViewWin.cpp:
22022 * platform/wx/ScrollViewWx.cpp:
22023
timothy@apple.com92560da2008-09-30 20:57:49 +0000220242008-09-30 Timothy Hatcher <timothy@apple.com>
22025
timothy@apple.com26fefbf2008-09-30 20:57:55 +000022026 Focus the DOM tree in the Web Inspector when a node is inspected.
22027 So when the search field has focus, the focus moves to the tree,
22028 allowing the arrow keys work. This can happen when using the new
22029 find in page feature.
22030
22031 https://bugs.webkit.org/show_bug.cgi?id=21251
22032
22033 Reviewed by Geoff Garen.
22034
22035 * page/inspector/ElementsPanel.js:
22036 (WebInspector.ElementsPanel): Set currentFocusElement to
22037 the main-panels element if the panel is visible.
22038 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
22039 Remove a set of currentFocusElement since this moved.
22040 * page/inspector/inspector.js:
22041 (WebInspector.set currentFocusElement): Always focus the element.
22042 This ensures that when focus changes in the page and we don't
22043 catch it, we will still focus the elements even if we think it
22044 was already focused.
22045
220462008-09-30 Timothy Hatcher <timothy@apple.com>
22047
timothy@apple.com92560da2008-09-30 20:57:49 +000022048 Make the Web Inspector's toolbar icons darker when the mouse is
22049 pressed on them. This matches the standard NSToolbar look.
22050
22051 https://bugs.webkit.org/show_bug.cgi?id=21249
22052 rdar://problem/6033752
22053
22054 Reviewed by Adam Roben.
22055
22056 * page/inspector/Images/databasesIcon.png:
22057 * page/inspector/Images/elementsIcon.png:
22058 * page/inspector/Images/profilesIcon.png:
22059 * page/inspector/Images/resourcesIcon.png:
22060 * page/inspector/Images/scriptsIcon.png:
22061 * page/inspector/Panel.js:
22062 * page/inspector/inspector.css:
22063
kmccullough@apple.com622724e2008-09-30 20:26:29 +0000220642008-09-30 Kevin McCullough <kmccullough@apple.com>
22065
22066 Reviewed by Tim Hatcher.
22067
22068 Bug 21139: Profiler log message is wrong
22069 - Correctly fix =(
22070 Don't call _format twice.
22071
22072 * page/Page.h:
22073 * page/inspector/Console.js:
22074 * page/inspector/ProfilesPanel.js:
22075 * page/inspector/inspector.js:
22076
hyatt@apple.com70936b52008-09-30 20:09:42 +0000220772008-09-30 Dave Hyatt <hyatt@apple.com>
22078
22079 http://bugs.webkit.org/show_bug.cgi?id=21250
22080
22081 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
22082 repaints up through the ChromeClient.
22083
22084 Reviewed by Darin Adler
22085
22086 * loader/EmptyClients.h:
22087 (WebCore::EmptyChromeClient::repaint):
22088 * page/Chrome.cpp:
22089 (WebCore::Chrome::repaint):
22090 * page/Chrome.h:
22091 * page/ChromeClient.h:
22092 * page/FrameView.cpp:
22093 (WebCore::FrameView::hostWindow):
22094 (WebCore::FrameView::repaintContentRectangle):
22095 * page/FrameView.h:
22096 * platform/HostWindow.h:
22097 * platform/ScrollView.cpp:
22098 (WebCore::ScrollView::repaintContentRectangle):
22099 (WebCore::ScrollView::platformRepaintContentRectangle):
22100 * platform/ScrollView.h:
22101 * platform/gtk/ScrollViewGtk.cpp:
22102 * platform/mac/ScrollViewMac.mm:
22103 (WebCore::ScrollView::platformRepaintContentRectangle):
22104 * platform/qt/ScrollViewQt.cpp:
22105 * platform/win/ScrollViewWin.cpp:
22106 * platform/wx/ScrollViewWx.cpp:
22107 (WebCore::ScrollView::platformRepaintContentRectangle):
22108
ap@webkit.org8b67da02008-09-30 17:58:10 +0000221092008-09-30 Alexey Proskuryakov <ap@webkit.org>
22110
22111 Non-Mac build fixes.
22112
22113 * GNUmakefile.am:
22114 * WebCore.pro:
22115 * WebCore.vcproj/WebCore.vcproj:
22116 * WebCoreSources.bkl:
22117 * webcore-base.bkl:
22118 Added DOMProtect.{cpp,h}.
22119
kdecker@apple.comdafe5102008-09-30 17:40:02 +0000221202008-09-39 Kevin Decker <kdecker@apple.com>
22121
22122 Reviewed by John Sullivan.
22123
22124 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
22125 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
22126
jchaffraix@webkit.org70abf6f2008-09-30 17:05:20 +0000221272008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
22128
22129 Reviewed by Maciej Stachowiak.
22130
22131 Bug 21106: .in format discussed changes
22132 https://bugs.webkit.org/show_bug.cgi?id=21106
22133
22134 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
22135 is the only namespace used.
22136
22137 - Removed "generateFactory" and "generateWrapperFactory" parameters and
22138 re-introduced the command line options.
22139
22140 - Cleaned up the output of make_names.pl (removed unneeded new line).
22141
22142 * DerivedSources.make: Added factories command line options.
22143 * GNUmakefile.am: Ditto.
22144 * WebCore.pro: Ditto and removed some arguments that were migrated to
22145 the .in files.
22146
22147 * dom/make_names.pl: Clean up (see above).
22148
22149 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
22150 and "generateWrapperFactory" occurences.
22151 * html/HTMLTagNames.in: Ditto.
22152 * svg/svgattrs.in: Ditto.
22153 * svg/svgtags.in: Ditto.
22154 * svg/xlinkattrs.in: Ditto.
22155 * xml/xmlattrs.in: Ditto.
22156
cfleizach@apple.com576ca0a2008-09-30 16:19:01 +0000221572008-09-29 Chris Fleizach <cfleizach@apple.com>
22158
22159 Reviewed by John Sullivan.
22160
22161 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
22162 Make sure that certain types of elements do not return children and, moreover, do not waste their
22163 energy trying to return children
22164
22165 Test: accessibility/nochildren-elements.html
22166
22167 * page/AccessibilityObject.h:
22168 (WebCore::AccessibilityObject::canHaveChildren):
22169 * page/AccessibilityRenderObject.cpp:
22170 (WebCore::AccessibilityRenderObject::canHaveChildren):
22171 (WebCore::AccessibilityRenderObject::addChildren):
22172 * page/AccessibilityRenderObject.h:
22173
ap@webkit.orga0c037c2008-09-30 15:52:06 +0000221742008-09-30 Alexey Proskuryakov <ap@webkit.org>
22175
22176 Reviewed by Sam Weinig.
22177
22178 https://bugs.webkit.org/show_bug.cgi?id=21213
22179 MessagePort crash when GC collects an object with a pending close event
22180
22181 Test: fast/events/message-channel-gc-2.html
22182 fast/events/message-channel-listener-circular-ownership.html
22183
22184 * bindings/DOMProtect.cpp: Added.
22185 (WebCore::gcProtectDOMObject):
22186 (WebCore::gcUnprotectDOMObject):
22187 * bindings/DOMProtect.h: Added.
22188 Added an abstraction for GC protection to avoid the need to call JS bindings code from
22189 DOM objects directly.
22190
22191 * dom/MessagePort.cpp:
22192 (WebCore::CloseMessagePortTimer::fired):
22193 (WebCore::MessagePort::queueCloseEvent):
22194 GC protect MessagePort wrapper while there is a pending close event.
22195 This may be necessary for message events, too, but that case is not a crasher, and actually
22196 behaves to the letter of the current HTML5 text, so I'll consider it later.
22197
22198 * xml/XMLHttpRequest.cpp:
22199 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
22200 (WebCore::XMLHttpRequest::dropProtection):
22201 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
22202
22203 * bindings/js/JSMessagePortCustom.cpp:
22204 (WebCore::JSMessagePort::addEventListener):
22205 (WebCore::JSMessagePort::removeEventListener):
22206 (WebCore::JSMessagePort::setOnmessage):
22207 (WebCore::JSMessagePort::setOnclose):
22208 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
22209 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
22210
22211 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
22212 (WebCore::JSXMLHttpRequestUpload::mark):
22213 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
22214 from XMLHttpRequest.
22215
aroben@apple.comd2272012008-09-30 14:17:28 +0000222162008-09-30 Adam Roben <aroben@apple.com>
22217
22218 Windows build fix
22219
22220 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
22221
weinig@apple.comd516a572008-09-30 07:01:45 +0000222222008-09-29 Sam Weinig <sam@webkit.org>
22223
22224 Reviewed by Tim Hatcher.
22225
22226 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
22227 Autogenerate JS event listeners
22228
22229 - Generate EventTargetNode.
22230
22231 * DerivedSources.make:
22232 * GNUmakefile.am:
22233 * WebCore.pro:
22234 * WebCore.vcproj/WebCore.vcproj:
22235 * WebCore.xcodeproj/project.pbxproj:
22236 * WebCoreSources.bkl:
22237 * bindings/js/JSEventListener.cpp:
22238 * bindings/js/JSEventTarget.cpp: Added.
22239 (WebCore::toJS):
22240 * bindings/js/JSEventTarget.h: Added.
22241 * bindings/js/JSEventTargetBase.cpp: Removed.
22242 * bindings/js/JSEventTargetBase.h:
22243 * bindings/js/JSEventTargetNode.cpp: Removed.
22244 * bindings/js/JSEventTargetNode.h: Removed.
22245 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
22246 (WebCore::JSEventTargetNode::addEventListener):
22247 (WebCore::JSEventTargetNode::removeEventListener):
22248 (WebCore::JSEventTargetNode::dispatchEvent):
22249 (WebCore::JSEventTargetNode::getListener):
22250 (WebCore::JSEventTargetNode::setListener):
22251 (WebCore::JSEventTargetNode::pushEventHandlerScope):
22252 * bindings/js/JSEventTargetSVGElementInstance.cpp:
22253 (WebCore::):
22254 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
22255 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
22256 (jsEventTargetAddEventListener):
22257 (jsEventTargetRemoveEventListener):
22258 (jsEventTargetDispatchEvent):
22259 * bindings/js/JSEventTargetSVGElementInstance.h:
22260 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
22261 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
22262 * bindings/scripts/CodeGeneratorJS.pm:
22263 * dom/EventTargetNode.idl: Added.
22264
darin@apple.com8d35fe02008-09-30 01:14:26 +0000222652008-09-29 Darin Adler <darin@apple.com>
22266
22267 Reviewed by Sam Weinig.
22268
22269 - https://bugs.webkit.org/show_bug.cgi?id=21214
22270 work on getting rid of ExecState
22271
22272 * bindings/js/JSDOMWindowBase.cpp:
22273 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
22274 for base class constructor.
22275
hyatt@apple.com4ba85692008-09-30 00:42:25 +0000222762008-09-29 David Hyatt <hyatt@apple.com>
22277
22278 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
22279 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
22280 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
22281 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
22282
22283 Reviewed by Sam Weinig
22284
22285 * WebCore.xcodeproj/project.pbxproj:
22286 * page/Chrome.h:
22287 * platform/HostWindow.h: Added.
22288 (WebCore::HostWindow::HostWindow):
22289 (WebCore::HostWindow::~HostWindow):
22290
kdecker@apple.com0a129d72008-09-30 00:17:15 +0000222912008-09-29 Kevin Decker <kdecker@apple.com>
22292
22293 Reviewed by Anders Carlsson.
22294
22295 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
22296 2000.
22297
mitz@apple.comd58d8382008-09-29 23:42:38 +0000222982008-09-29 Dan Bernstein <mitz@apple.com>
22299
22300 Reviewed by Adam Roben.
22301
22302 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
22303
22304 * rendering/RenderThemeWin.cpp:
22305 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
22306 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
22307 unloaded, to avoid calling uxtheme.dll functions after that library has
22308 been unloaded.
22309 * rendering/RenderThemeWin.h:
22310
cfleizach@apple.comb136d2c2008-09-29 23:10:03 +0000223112008-09-29 Chris Fleizach <cfleizach@apple.com>
22312
22313 Reviewed by John Sullivan
22314
22315 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
22316
22317 Sends AXLoadComplete only when the top level web area is finished loading
22318
22319 * dom/Document.cpp:
22320 (WebCore::Document::implicitClose):
22321
timothy@apple.com96fff242008-09-29 22:34:10 +0000223222008-09-29 Timothy Hatcher <timothy@apple.com>
22323
22324 Makes the node highlight always show up when hovering a node in
22325 the Web Inspector now that the highlight does not scroll to reveal
22326 the node. Also adds a hover effect in the inspector when hovering
22327 causes a highlight in the page. This ties the user hovering action
22328 to the highlight so it is clear what causes the highlight to appear.
22329
22330 Also the highlight now temporarily shows up for 2 seconds after
22331 selecting a node in the DOM tree. So arrowing around in the tree
22332 will show the node on the page, providing feedback to the user.
22333
22334 Plus fixes an issue where quickly moving away from hovering
22335 a node would keep showing the page highlight. This was happening
22336 in breadcrumbs and the DOM tree.
22337
22338 https://bugs.webkit.org/show_bug.cgi?id=21220
22339
22340 Reviewed by Kevin McCullough.
22341
22342 * page/inspector/Console.js:
22343 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
22344 hovering DOM nodes in the console.
22345 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
22346 (WebInspector.Console.prototype._formatnode): Use the new event
22347 listeners and add a class name to the anchor element.
22348 * page/inspector/ElementsPanel.js:
22349 (WebInspector.ElementsPanel): Add new event listeners to the
22350 crumbs element to do the node hovering highlight.
22351 (WebInspector.ElementsPanel.prototype.hide):
22352 (WebInspector.ElementsPanel.prototype.reset):
22353 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
22354 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
22355 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
22356 * page/inspector/ElementsTreeOutline.js:
22357 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
22358 Show the node hishlight for 2 seconds then restore the highlight
22359 to the current hovered node.
22360 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
22361 hovered node and set the hovered state on the tree element.
22362 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
22363 hovered node to null and removed the hovered state from the previous
22364 hovered tree element.
22365 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
22366 the hovered class to the list item.
22367 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
22368 * page/inspector/inspector.css:
22369 * page/inspector/inspector.js:
22370 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
22371 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
22372 causes the highlight to change sooner if there is one already showing
22373 and appear later if there isn't one showing. This is like tooltips,
22374 hovering a node for 500ms will cause highlight then mousing between nodes
22375 will keep the highlight and change to the new node.
22376 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
22377 always reset the timeout so continuous mousing does not keep flasshing
22378 the highlight on the screen.
22379 (WebInspector._updateHoverHighlight): Removed the alt key check and added
22380 the showingDOMNodeHighlight property.
22381 (WebInspector.documentKeyDown): Removed the alt key check.
22382 (WebInspector.documentKeyUp): Ditto.
22383 (WebInspector.reset): Clear the hoveredDOMNode.
22384
simon.fraser@apple.com8a565532008-09-29 22:04:38 +0000223852008-09-29 Simon Fraser <simon.fraser@apple.com>
22386
22387 Reviewed by Anders Carlsson
22388
22389 Fix RenderStyle leak in animation code, and assert that
22390 keyframe resolution in CSSStyleSelector is not going to clobber
22391 m_style.
22392
22393 * css/CSSStyleSelector.cpp:
22394 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
22395 * page/animation/KeyframeAnimation.cpp:
22396 (WebCore::KeyframeAnimation::~KeyframeAnimation):
22397
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +0000223982008-09-29 Chris Marrin <cmarrin@apple.com>
22399
simon.fraser@apple.come979de02008-09-29 21:31:26 +000022400 Reviewed by Dave Hyatt
22401
22402 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
22403 Rewrite keyframe resolution to be like styleForElement()
22404
22405 Test: animations/lineheight-animation.html
22406
22407 * css/CSSStyleSelector.cpp:
22408 (WebCore::CSSStyleSelector::addKeyframeStyle):
22409 (WebCore::CSSStyleSelector::~CSSStyleSelector):
22410 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
22411 (WebCore::CSSRuleSet::addRulesFromSheet):
22412 (WebCore::CSSStyleSelector::mapAnimationName):
22413 * css/CSSStyleSelector.h:
22414 * page/animation/CompositeAnimation.cpp:
22415 (WebCore::CompositeAnimation::updateKeyframeAnimations):
22416 * page/animation/KeyframeAnimation.cpp:
22417 (WebCore::KeyframeAnimation::KeyframeAnimation):
22418 (WebCore::KeyframeAnimation::animate):
22419 (WebCore::KeyframeAnimation::hasAnimationForProperty):
22420 (WebCore::KeyframeAnimation::sendAnimationEvent):
22421 (WebCore::KeyframeAnimation::overrideAnimations):
22422 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
22423 (WebCore::KeyframeAnimation::affectsProperty):
22424 (WebCore::KeyframeAnimation::validateTransformFunctionList):
22425 * page/animation/KeyframeAnimation.h:
22426 * rendering/style/Animation.cpp:
22427 (WebCore::Animation::animationsMatch):
22428 * rendering/style/Animation.h:
22429 * rendering/style/KeyframeList.cpp:
22430 (WebCore::KeyframeList::~KeyframeList):
22431 (WebCore::KeyframeList::clear):
22432 (WebCore::KeyframeList::insert):
22433 * rendering/style/KeyframeList.h:
22434 (WebCore::KeyframeValue::KeyframeValue):
22435 (WebCore::KeyframeList::KeyframeList):
22436 (WebCore::KeyframeList::operator!=):
22437 (WebCore::KeyframeList::animationName):
22438 (WebCore::KeyframeList::addProperty):
22439 (WebCore::KeyframeList::containsProperty):
22440 (WebCore::KeyframeList::beginProperties):
22441 (WebCore::KeyframeList::endProperties):
22442 (WebCore::KeyframeList::isEmpty):
22443 (WebCore::KeyframeList::size):
22444 (WebCore::KeyframeList::beginKeyframes):
22445 (WebCore::KeyframeList::endKeyframes):
22446 * rendering/style/RenderStyle.h:
22447 * rendering/style/StyleRareNonInheritedData.cpp:
22448 * rendering/style/StyleRareNonInheritedData.h:
22449
224502008-09-29 Chris Marrin <cmarrin@apple.com>
22451
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000022452 Reviewed by Eric Seidel
22453
simon.fraser@apple.comff913022008-09-29 21:24:52 +000022454 Clean up fix in PropertyWrapperGetter::equals
22455 https://bugs.webkit.org/show_bug.cgi?id=21011
22456
22457 Test: transitions/override-transition-crash.html
22458
22459 * page/animation/AnimationBase.cpp:
22460 (WebCore::PropertyWrapperGetter::equals):
22461 * page/animation/CompositeAnimation.cpp:
22462 (WebCore::CompositeAnimation::updateTransitions):
22463
224642008-09-29 Chris Marrin <cmarrin@apple.com>
22465
22466 Reviewed by Eric Seidel
22467
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000022468 https://bugs.webkit.org/show_bug.cgi?id=21001
22469 Starting transition after animation, when animation
22470 is finished, transition is wrong.
22471
22472 Test: animations/transition-and-animation-2.html
22473
22474 * page/animation/AnimationBase.h:
22475 * page/animation/CompositeAnimation.cpp:
22476 (WebCore::CompositeAnimation::updateTransitions):
22477 (WebCore::CompositeAnimation::updateKeyframeAnimations):
22478 (WebCore::CompositeAnimation::resetTransitions):
22479 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
22480 * page/animation/ImplicitAnimation.cpp:
22481 (WebCore::ImplicitAnimation::ImplicitAnimation):
22482 (WebCore::ImplicitAnimation::~ImplicitAnimation):
22483 (WebCore::ImplicitAnimation::animate):
22484 (WebCore::ImplicitAnimation::reset):
22485 * page/animation/ImplicitAnimation.h:
22486
224872008-09-29 Chris Marrin <cmarrin@apple.com>
22488
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +000022489 Reviewed by Sam Weinig
22490
22491 https://bugs.webkit.org/show_bug.cgi?id=20921
22492 -webkit-animation-timing-function: inside of keyframes is ignored
22493
22494 Test: animations/keyframe-timing-functions.html
22495
22496 * page/animation/AnimationBase.cpp:
22497 (WebCore::AnimationBase::progress):
22498 * page/animation/AnimationBase.h:
22499 * page/animation/ImplicitAnimation.cpp:
22500 (WebCore::ImplicitAnimation::animate):
22501 * page/animation/KeyframeAnimation.cpp:
22502 (WebCore::KeyframeAnimation::animate):
22503
mitz@apple.com2449a052008-09-29 20:57:33 +0000225042008-09-29 Dan Bernstein <mitz@apple.com>
22505
mitz@apple.com9a3e3c82008-09-29 21:04:54 +000022506 - Windows build fix
22507
22508 * platform/ScrollView.cpp:
22509 (WebCore::ScrollView::platformScroll):
22510
225112008-09-29 Dan Bernstein <mitz@apple.com>
22512
mitz@apple.com2449a052008-09-29 20:57:33 +000022513 - another attempt at a Windows build fix
22514
22515 * platform/ScrollView.cpp:
22516 (WebCore::platformScroll):
22517
225182008-09-29 Dan Bernstein <mitz@apple.com>
mitz@apple.comad171f12008-09-29 20:52:19 +000022519
22520 - Windows build fix
22521
22522 * platform/ScrollView.cpp:
22523 (WebCore::ScrollView::platformSetScrollPosition):
22524
hyatt@apple.com90abd562008-09-29 19:46:37 +0000225252008-09-29 David Hyatt <hyatt@apple.com>
22526
hyatt@apple.com4ce2a1d2008-09-29 20:09:59 +000022527 https://bugs.webkit.org/show_bug.cgi?id=21218
22528
22529 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
22530 It's silly that the code was this fragile, but for now just put the check back in.
22531
22532 Reviewed by Dan Bernstein
22533
22534 * platform/ScrollView.cpp:
22535 (WebCore::ScrollView::setScrollbarModes):
22536
225372008-09-29 David Hyatt <hyatt@apple.com>
22538
hyatt@apple.com90abd562008-09-29 19:46:37 +000022539 https://bugs.webkit.org/show_bug.cgi?id=21216
22540
22541 Make setScrollPosition and scroll() cross-platform.
22542
22543 Reviewed by Anders
22544
22545 * platform/ScrollView.cpp:
22546 (WebCore::ScrollView::setScrollPosition):
22547 (WebCore::ScrollView::scroll):
22548 * platform/ScrollView.h:
22549 * platform/gtk/ScrollViewGtk.cpp:
22550 * platform/mac/ScrollViewMac.mm:
22551 (WebCore::ScrollView::platformSetScrollPosition):
22552 (WebCore::ScrollView::platformScroll):
22553 * platform/qt/ScrollViewQt.cpp:
22554 * platform/win/ScrollViewWin.cpp:
22555 * platform/wx/ScrollViewWx.cpp:
22556 (WebCore::ScrollView::platformSetScrollPosition):
22557 (WebCore::ScrollView::platformScroll):
22558
kmccullough@apple.comed371682008-09-29 19:09:44 +0000225592008-09-29 Kevin McCullough <kmccullough@apple.com>
22560
22561 Reviewed by Oliver.
22562
22563 Bug 21139: Profiler log message is wrong
22564 - Because _format was called twice the number in the log was incremented
22565 too many times, but we were passing it around in the link the whole time
22566
22567 * page/inspector/ProfilesPanel.js:
22568 * page/inspector/inspector.js:
22569
weinig@apple.com7f3f95f2008-09-29 19:09:02 +0000225702008-09-29 Sam Weinig <sam@webkit.org>
22571
22572 Reviewed by Cameron Zwarich.
22573
22574 Autogenerate EventListeners, addEventListener and removeEventListener
22575 for JSDOMWindow.
22576
22577 * bindings/js/JSDOMWindowBase.cpp:
22578 * bindings/js/JSDOMWindowBase.h:
22579 * bindings/js/JSDOMWindowCustom.cpp:
22580 (WebCore::JSDOMWindow::onwebkitanimationstart):
22581 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
22582 (WebCore::JSDOMWindow::onwebkitanimationiteration):
22583 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
22584 (WebCore::JSDOMWindow::onwebkitanimationend):
22585 (WebCore::JSDOMWindow::setOnwebkitanimationend):
22586 (WebCore::JSDOMWindow::onwebkittransitionend):
22587 (WebCore::JSDOMWindow::setOnwebkittransitionend):
22588 (WebCore::JSDOMWindow::addEventListener):
22589 (WebCore::JSDOMWindow::removeEventListener):
22590 (WebCore::JSDOMWindow::setListener):
22591 (WebCore::JSDOMWindow::getListener):
22592 * bindings/scripts/CodeGeneratorJS.pm:
22593 * page/DOMWindow.idl:
22594
hausmann@webkit.orgf6964472008-09-29 12:47:08 +0000225952008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
22596
22597 Reviewed by Simon.
22598
22599 Changed copyright from Trolltech ASA to Nokia.
22600
22601 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
22602
22603 * bindings/js/JSMimeTypeArrayCustom.cpp:
22604 * bindings/js/JSNavigatorCustom.cpp:
22605 * bindings/js/JSPluginArrayCustom.cpp:
22606 * bindings/js/JSPluginCustom.cpp:
22607 * bindings/js/ScriptControllerMac.mm:
22608 * bindings/js/ScriptControllerQt.cpp:
22609 * bridge/qt/qt_class.cpp:
22610 * bridge/qt/qt_class.h:
22611 * bridge/qt/qt_instance.cpp:
22612 * bridge/qt/qt_instance.h:
22613 * bridge/qt/qt_runtime.cpp:
22614 * bridge/qt/qt_runtime.h:
22615 * bridge/testqtbindings.cpp:
22616 * css/makegrammar.pl:
22617 * css/makeprop.pl:
22618 * css/makevalues.pl:
22619 * dom/Node.cpp:
22620 * dom/TagNodeList.cpp:
22621 * dom/TagNodeList.h:
22622 * dom/XMLTokenizer.cpp:
22623 * dom/XMLTokenizer.h:
22624 * dom/XMLTokenizerLibxml2.cpp:
22625 * dom/XMLTokenizerQt.cpp:
22626 * editing/Editor.cpp:
22627 * editing/EditorCommand.cpp:
22628 * html/CanvasRenderingContext2D.cpp:
22629 * html/CanvasStyle.cpp:
22630 * html/HTMLAppletElement.cpp:
22631 * html/HTMLEmbedElement.cpp:
22632 * html/HTMLObjectElement.cpp:
22633 * loader/FrameLoader.cpp:
22634 * page/Chrome.cpp:
22635 * page/EditorClient.h:
22636 * page/Frame.cpp:
22637 * page/Frame.h:
22638 * page/FramePrivate.h:
22639 * page/Navigator.cpp:
22640 * page/Navigator.h:
22641 * page/Navigator.idl:
22642 * page/mac/FrameMac.mm:
22643 * page/qt/EventHandlerQt.cpp:
22644 * platform/graphics/qt/FontCacheQt.cpp:
22645 * platform/graphics/qt/FontCustomPlatformData.cpp:
22646 * platform/graphics/qt/FontCustomPlatformData.h:
22647 * platform/graphics/qt/FontPlatformData.h:
22648 * platform/graphics/qt/FontQt.cpp:
22649 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
22650 * platform/graphics/qt/GraphicsContextQt.cpp:
22651 * platform/graphics/qt/ImageDecoderQt.cpp:
22652 * platform/graphics/qt/ImageDecoderQt.h:
22653 * platform/graphics/qt/ImageSourceQt.cpp:
22654 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
22655 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
22656 * platform/graphics/qt/SimpleFontDataQt.cpp:
22657 * platform/gtk/MIMETypeRegistryGtk.cpp:
22658 * platform/mac/MIMETypeRegistryMac.mm:
22659 * platform/network/qt/QNetworkReplyHandler.cpp:
22660 * platform/network/qt/QNetworkReplyHandler.h:
22661 * platform/network/qt/ResourceHandleQt.cpp:
22662 * platform/network/qt/ResourceRequestQt.cpp:
22663 * platform/qt/ClipboardQt.cpp:
22664 * platform/qt/EventLoopQt.cpp:
22665 * platform/qt/KURLQt.cpp:
22666 * platform/qt/LoggingQt.cpp:
22667 * platform/qt/MIMETypeRegistryQt.cpp:
22668 * platform/qt/PasteboardQt.cpp:
22669 * platform/qt/PlatformScreenQt.cpp:
22670 * platform/qt/PopupMenuQt.cpp:
22671 * platform/qt/QWebPopup.cpp:
22672 * platform/qt/QWebPopup.h:
22673 * platform/qt/RenderThemeQt.cpp:
22674 * platform/qt/ScrollbarQt.cpp:
22675 * platform/qt/ScrollbarThemeQt.cpp:
22676 * platform/qt/WheelEventQt.cpp:
22677 * platform/qt/html4-adjustments-qt.css:
22678 * platform/wx/MimeTypeRegistryWx.cpp:
22679 * plugins/MimeType.cpp:
22680 * plugins/MimeType.h:
22681 * plugins/MimeType.idl:
22682 * plugins/MimeTypeArray.cpp:
22683 * plugins/MimeTypeArray.h:
22684 * plugins/MimeTypeArray.idl:
22685 * plugins/Plugin.cpp:
22686 * plugins/Plugin.h:
22687 * plugins/Plugin.idl:
22688 * plugins/PluginArray.cpp:
22689 * plugins/PluginArray.h:
22690 * plugins/PluginArray.idl:
22691 * plugins/PluginData.cpp:
22692 * plugins/PluginData.h:
22693 * plugins/gtk/PluginDataGtk.cpp:
22694 * plugins/mac/PluginDataMac.mm:
22695 * plugins/qt/PluginDataQt.cpp:
22696 * plugins/win/PluginDataWin.cpp:
22697 * rendering/RenderTableCol.cpp:
22698 * rendering/RenderTableCol.h:
22699
hausmann@webkit.org37374992008-09-29 09:03:09 +0000227002008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
22701
22702 Reviewed by Simon
22703
22704 Fix compilation with gcc 4.3
22705
22706 gcc 4.3 is stricter and ctype.h isn't getting included
22707 automatically here by dependencies. So do it directly.
22708
22709 * platform/qt/PlatformKeyboardEventQt.cpp:
22710
hausmann@webkit.org48d7bb52008-09-29 09:02:56 +0000227112008-09-29 Morten Sørvig <msorvig@trolltech.com>
22712
22713 Reviewed by Simon.
22714
22715 Fix compilation with Qt/Mac without plugins.
22716
22717 * platform/qt/TemporaryLinkStubs.cpp:
22718
mrowe@apple.com2c478db2008-09-29 08:20:37 +0000227192008-09-29 Mark Rowe <mrowe@apple.com>
22720
22721 Reviewed by Sam Weinig.
22722
22723 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
22724 In the few places that we call .upper() in WebCore the strings represent things like
22725 tag and attribute names, which are nearly always going to be ASCII.
22726
22727 * platform/text/StringImpl.cpp:
22728 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
22729 in to Unicode::toLower the second time.
22730 (WebCore::StringImpl::upper):
22731
mrowe@apple.com512eca02008-09-29 08:19:09 +0000227322008-09-28 Mark Rowe <mrowe@apple.com>
22733
mrowe@apple.com49797322008-09-29 08:19:14 +000022734 Reviewed by Sam Weinig.
22735
22736 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
22737 rather than String::operator+=.
22738
22739 * css/CSSPrimitiveValue.cpp:
22740 (WebCore::CSSPrimitiveValue::cssText):
22741
227422008-09-28 Mark Rowe <mrowe@apple.com>
22743
mrowe@apple.com512eca02008-09-29 08:19:09 +000022744 Reviewed by Oliver Hunt.
22745
22746 Speed up computedStyle.getPropertyValue('color') by 4.5x.
22747
22748 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
22749 as it avoids many memory reallocations.
22750
22751 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
22752 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
22753 unrelated properties on an element.
22754
22755 * css/CSSPrimitiveValue.cpp:
22756 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
22757 and use appendNumber rather than the String::number in order to cut down on memory allocations.
22758 * platform/text/PlatformString.h:
22759 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
22760 into a Vector<UChar>.
22761
weinig@apple.com4df73d92008-09-29 03:41:35 +0000227622008-09-28 Sam Weinig <sam@webkit.org>
22763
weinig@apple.com9af39ef2008-09-29 04:16:15 +000022764 Reviewed by Anders Carlsson.
22765
22766 Remove spurious call to lower().
22767
22768 * css/MediaQueryEvaluator.cpp:
22769 (WebCore::MediaQueryEvaluator):
22770
227712008-09-28 Sam Weinig <sam@webkit.org>
22772
weinig@apple.com4df73d92008-09-29 03:41:35 +000022773 Reviewed by Dan Bernstein.
22774
22775 Use a CaseFoldingHash instead of calling lower on family strings.
22776
22777 * css/CSSFontSelector.cpp:
22778 (WebCore::CSSFontSelector::addFontFaceRule):
22779 (WebCore::CSSFontSelector::getFontData):
22780 * css/CSSFontSelector.h:
22781
timothy@apple.com810c9892008-09-28 23:31:25 +0000227822008-09-28 Timothy Hatcher <timothy@apple.com>
22783
22784 Remove the scrollIntoViewIfNeeded() call when drawing the
22785 Inspector node highlight.
22786
22787 <rdar://problem/6115804> Don't scroll when highlighting (21000)
22788 https://bugs.webkit.org/show_bug.cgi?id=21000
22789
22790 Reviewed by Dan Bernstein.
22791
22792 * page/InspectorController.cpp:
22793 (WebCore::InspectorController::drawNodeHighlight):
22794
hyatt@apple.come6ebc992008-09-28 19:58:14 +0000227952008-09-28 David Hyatt <hyatt@apple.com>
22796
22797 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
22798 changed.
22799
22800 Reviewed by Dan Bernstein
22801
22802 * platform/mac/ScrollbarThemeMac.mm:
22803 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
22804
timothy@apple.com47a6d492008-09-28 19:52:30 +0000228052008-09-28 Timothy Hatcher <timothy@apple.com>
22806
22807 Clear the current search results in the Inspector when
22808 the search query is less than 3 characters long. Incremental
22809 searches only occur for 3 characters or longer, but deleting
22810 under this limit would not clear the results unless the whole
22811 query was deleted.
22812
22813 https://bugs.webkit.org/show_bug.cgi?id=21196
22814
22815 Reviewed by Dan Bernstein.
22816
22817 * page/inspector/inspector.js:
22818 (WebInspector.performSearch): Check for short queries in the
22819 if statement that triggers the clear.
22820
mitz@apple.comc7980632008-09-28 19:38:50 +0000228212008-09-28 Dan Bernstein <mitz@apple.com>
22822
22823 Reviewed by Dave Hyatt.
22824
22825 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
22826
22827 * platform/graphics/win/FontCustomPlatformData.cpp:
22828 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
22829 overlayLength parameters.
mitz@apple.com20ac00b2008-09-28 19:41:30 +000022830 (WebCore::EOTStream::read): Added code to overlay the
mitz@apple.comc7980632008-09-28 19:38:50 +000022831 m_overlayLength bytes starting at m_overlayDst with the same number of
22832 bytes from m_overlaySrc.
22833 (WebCore::createFontCustomPlatformData): Changed to get overlay
22834 parameters from getEOTHeader.
22835 * platform/graphics/win/GetEOTHeader.cpp:
22836 (WebCore::getEOTHeader): Added code to specify overlaying of the
22837 family name with the prefix of the full name if they differ, because
22838 that such a difference causes TTLoadEmbeddedFont to fail.
22839 * platform/graphics/win/GetEOTHeader.h:
22840
ap@webkit.orgdf67f132008-09-28 13:23:51 +0000228412008-09-28 Alexey Proskuryakov <ap@webkit.org>
22842
22843 Reviewed by Eric Seidel.
22844
22845 https://bugs.webkit.org/show_bug.cgi?id=20366
22846 Reproducible test failure for editing/undo/undo-iframe-location-change.html
22847
22848 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
22849
darin@apple.com80c76ce2008-09-28 09:35:06 +0000228502008-09-28 Darin Adler <darin@apple.com>
22851
22852 Reviewed by Sam Weinig (except for a few comment and header tweaks).
22853
22854 - https://bugs.webkit.org/show_bug.cgi?id=21158
22855 reduce use of virtual functions in Node for speed
22856
22857 Speeds up Dromaeo a bit less than 1%.
22858
22859 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
22860 Node.h now that some inlines are in there.
22861
22862 * dom/Attr.h: Override both the virtual and non-virtual name functions.
22863
22864 * dom/ChildNodeList.cpp:
22865 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
22866 * dom/ChildNodeList.h: Ditto.
22867 * dom/ClassNodeList.cpp:
22868 (WebCore::ClassNodeList::nodeMatches): Ditto.
22869 * dom/ClassNodeList.h: Ditto.
22870
22871 * dom/Document.h: Put the Node::isDocumentNode() function's inline
22872 definition here where it can see the Document class definition.
22873
22874 * dom/DynamicNodeList.cpp:
22875 (WebCore::DynamicNodeList::length): Changed to pass an Element.
22876 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
22877 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
22878 (WebCore::DynamicNodeList::itemWithName): Ditto.
22879 * dom/DynamicNodeList.h: Ditto.
22880
22881 * dom/Element.cpp: Removed virtualHasTagName.
22882 * dom/Element.h: Made localName, prefix, namespaceURI, and
22883 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
22884 virtualNamespaceURI, and removed virtualHasTagName. Put the
22885 Node::hasTagName, Node::hasAttributes, and Node::attributes
22886 functions' inline definitions here where they can see the Element
22887 class definition.
22888
22889 * dom/NameNodeList.cpp:
22890 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
22891 * dom/NameNodeList.h: Ditto.
22892
22893 * dom/Node.cpp:
22894 (WebCore::Node::virtualPrefix): Renamed from prefix.
22895 (WebCore::Node::virtualLocalName): Renamed from localName.
22896 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
22897 (WebCore::Node::styleForRenderer): Handle the Element case here.
22898
22899 * dom/Node.h: Removed definition of hasTagName that calls virtual,
22900 since we now have a non-virtual version. Made hasAttributes,
22901 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
22902 and styleForRenderer non-virtual. Added virtualPrefix,
22903 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
22904 and setMalformed, which are used only on HTMLFormElement objects.
22905
22906 * dom/TagNodeList.cpp:
22907 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
22908 * dom/TagNodeList.h: Ditto.
22909
22910 * html/HTMLAnchorElement.cpp: Added a comment.
22911 * html/HTMLFormControlElement.cpp: Ditto.
22912
22913 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
22914 function. Marked tabIndex function virtual explicitly for clarity.
22915
22916 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
22917 function. Marked isFocusable function virtual explicitly for clarity.
22918
22919 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
22920 clarity.
22921 * html/HTMLFormControlElement.h: Ditto.
22922
22923 * html/HTMLFormElement.h: Made isMalformed non-virtual.
22924
22925 * html/HTMLParser.cpp:
22926 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
22927 pointer to call localName since that one does not need to call a virtual
22928 function.
22929
22930 * rendering/RenderBlock.cpp:
22931 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
22932 calling isMalformed. We already did a tag name check so we know it's
22933 an HTMLFormELement.
22934
22935 * xml/XPathUtil.cpp:
22936 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
22937 to nodeType(), since it's a virtual function.
22938
hyatt@apple.com2225aef2008-09-28 08:52:26 +0000229392008-09-28 David Hyatt <hyatt@apple.com>
22940
22941 Make frameRectsChanged() cross-platform on ScrollView.
22942
22943 Reviewed by Oliver Hunt
22944
22945 * platform/ScrollView.cpp:
22946 (WebCore::ScrollView::frameRectsChanged):
22947 * platform/ScrollView.h:
22948 * platform/gtk/ScrollViewGtk.cpp:
22949 * platform/qt/ScrollViewQt.cpp:
22950 * platform/win/ScrollViewWin.cpp:
22951 * platform/wx/ScrollViewWx.cpp:
22952
oliver@apple.combec35402008-09-28 08:36:39 +0000229532008-09-28 Oliver Hunt <oliver@apple.com>
22954
22955 Reviewed by Maciej Stachowiak.
22956
22957 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
22958 <https://bugs.webkit.org/show_bug.cgi?id=21141>
22959
22960 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
22961 were not initialising their StructureID's to indicate that the wrapper
22962 overrides hasInstance, etc. The solution is simply to use the createStructureID
22963 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
22964
22965 * bindings/js/JSInspectedObjectWrapper.cpp:
22966 (WebCore::JSInspectedObjectWrapper::wrap):
22967
hyatt@apple.comaede3de2008-09-28 08:21:09 +0000229682008-09-28 David Hyatt <hyatt@apple.com>
22969
hyatt@apple.com8fdb58c2008-09-28 08:29:47 +000022970 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
22971 terms of lines.
22972
22973 Reviewed by Oliver Hunt
22974
22975 * dom/EventTargetNode.cpp:
22976 (WebCore::EventTargetNode::dispatchWheelEvent):
22977
229782008-09-28 David Hyatt <hyatt@apple.com>
22979
hyatt@apple.comaede3de2008-09-28 08:21:09 +000022980 https://bugs.webkit.org/show_bug.cgi?id=21191
22981
22982 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
22983 on ScrollView to be cross-platform.
22984
22985 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
22986 events are now pixel wheel events.
22987
22988 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
22989 (1) Page scrolling has been corrected to be properly detected (on Windows
22990 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
22991 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
22992 you could page scroll horizontally.
22993 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
22994 This caused the scroll amount for page scrolling to be way too large on layers.
22995
22996 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
22997
22998 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
22999 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
23000
23001 Reviewed by Oliver Hunt
23002
23003 * editing/EditorCommand.cpp:
23004 (WebCore::verticalScrollDistance):
23005 * page/EventHandler.cpp:
23006 (WebCore::scrollAndAcceptEvent):
23007 (WebCore::EventHandler::handleWheelEvent):
23008 * platform/PlatformWheelEvent.h:
23009 (WebCore::):
23010 (WebCore::PlatformWheelEvent::pos):
23011 (WebCore::PlatformWheelEvent::globalPos):
23012 (WebCore::PlatformWheelEvent::deltaX):
23013 (WebCore::PlatformWheelEvent::deltaY):
23014 (WebCore::PlatformWheelEvent::granularity):
23015 (WebCore::PlatformWheelEvent::x):
23016 (WebCore::PlatformWheelEvent::globalX):
23017 (WebCore::PlatformWheelEvent::ignore):
23018 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
23019 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
23020 * platform/ScrollView.cpp:
23021 (WebCore::ScrollView::wheelEvent):
23022 * platform/Scrollbar.h:
23023 * platform/gtk/ScrollViewGtk.cpp:
23024 (WebCore::ScrollView::updateScrollbars):
23025 * platform/gtk/WheelEventGtk.cpp:
23026 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
23027 * platform/mac/ScrollViewMac.mm:
23028 * platform/mac/WheelEventMac.mm:
23029 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
23030 * platform/qt/ScrollViewQt.cpp:
23031 (WebCore::ScrollView::updateScrollbars):
23032 * platform/qt/WheelEventQt.cpp:
23033 * platform/win/ScrollViewWin.cpp:
23034 (WebCore::ScrollView::updateScrollbars):
23035 * platform/win/WheelEventWin.cpp:
23036 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
23037 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
23038 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
23039 * platform/wx/ScrollViewWx.cpp:
23040 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
23041 (WebCore::ScrollView::wheelEvent):
23042 * rendering/RenderLayer.cpp:
23043 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
23044
eric.carlson@apple.comebb3e442008-09-28 05:38:57 +0000230452008-09-27 Eric Carlson <eric.carlson@apple.com>
23046
23047 Reviewed by Sam Weinig.
23048
23049 fix https://bugs.webkit.org/show_bug.cgi?id=20994
23050 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
23051
23052 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
23053 all unsigned media attributes from string with toUInt() instead of toInt().
23054
23055 * html/HTMLMediaElement.cpp:
23056 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
23057
23058 * html/HTMLVideoElement.cpp:
23059 (WebCore::HTMLVideoElement::videoWidth):
23060 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
23061 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
23062 unsigned value.
23063 (WebCore::HTMLVideoElement::height): Ditto.
23064 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
23065 (WebCore::HTMLVideoElement::setHeight): Ditto.
23066
23067 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
23068
23069 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
23070
timothy@apple.coma8215632008-09-28 04:40:53 +0000230712008-09-27 Timothy Hatcher <timothy@apple.com>
23072
timothy@apple.combe91da22008-09-28 04:40:58 +000023073 Fixes an exception when typing a command in the Console.
23074
23075 Reviewed by Oliver Hunt.
23076
23077 * page/inspector/Console.js:
23078 (WebInspector.Console.prototype.addMessage): Null check
23079 this.previosMessage.
23080
230812008-09-27 Timothy Hatcher <timothy@apple.com>
23082
timothy@apple.coma8215632008-09-28 04:40:53 +000023083 Fixes a bug where the Profiles panel sidebar would be empty
23084 after closing and reopening the Web Inspector.
23085
23086 https://bugs.webkit.org/show_bug.cgi?id=21179
23087
23088 Reviewed by Sam Weinig.
23089
23090 * page/inspector/ProfilesPanel.js:
23091 (WebInspector.ProfilesPanel.prototype.reset): Don't call
23092 populateInterface, it is called automatically.
23093 (WebInspector.ProfilesPanel.prototype._populateProfiles):
23094 Return early if the sidebar is already populated.
23095
hyatt@apple.com81664322008-09-28 04:38:21 +0000230962008-09-27 Dave Hyatt <hyatt@apple.com>
23097
23098 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
23099 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
23100 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
23101 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
23102
23103 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
23104 (which should never have landed in the first place).
23105
23106 Reviewed by Tim Hatcher, Sam Weinig
23107
23108 * platform/win/ScrollViewWin.cpp:
23109 (WebCore::adjustDeltaForPageScrollMode):
23110 (WebCore::ScrollView::updateScrollbars):
23111 (WebCore::ScrollView::wheelEvent):
23112
hyatt@apple.com880cbb12008-09-28 03:51:41 +0000231132008-09-27 David Hyatt <hyatt@apple.com>
23114
23115 Make the scrollbarUnderMouse method cross-platform.
23116
23117 Reviewed by Sam Weinig
23118
23119 * platform/ScrollView.cpp:
23120 (WebCore::ScrollView::scrollbarUnderMouse):
23121 * platform/gtk/ScrollViewGtk.cpp:
23122 * platform/mac/ScrollViewMac.mm:
23123 * platform/qt/ScrollViewQt.cpp:
23124 * platform/win/ScrollViewWin.cpp:
23125 * platform/wx/ScrollViewWx.cpp:
23126
zecke@webkit.org7bf12c62008-09-28 01:50:42 +0000231272008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
23128
23129 Gtk+ build fix.
23130
23131 * platform/gtk/ScrollViewGtk.cpp:
23132 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
23133
zecke@webkit.org202af282008-09-28 01:49:45 +0000231342008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
23135
23136 Reviewed by Holger Freyther.
23137
23138 https://bugs.webkit.org/show_bug.cgi?id=20287
23139 [Gtk] disable plugins for gtk/directfb target
23140
23141 Introduce WTF_PLATFORM_X11 for X11 builds.
23142 Also use target-specific packages when building the port
23143
23144 * platform/gtk/PlatformScreenGtk.cpp:
23145 * plugins/gtk/PluginViewGtk.cpp:
23146 (WebCore::PluginView::updatePluginWidget):
23147 (WebCore::PluginView::getValueStatic):
23148 (WebCore::PluginView::getValue):
23149 (WebCore::PluginView::init):
23150
hyatt@apple.come6f04e52008-09-28 01:07:05 +0000231512008-09-27 David Hyatt <hyatt@apple.com>
23152
23153 https://bugs.webkit.org/show_bug.cgi?id=21188
23154
23155 Make scrollbar suppression and resizer avoidance cross-platform.
23156
23157 Reviewed by Anders
23158
23159 * loader/FrameLoader.cpp:
23160 (WebCore::FrameLoader::transitionToCommitted):
23161 * page/FrameView.cpp:
23162 (WebCore::FrameView::resetScrollbars):
23163 (WebCore::FrameView::clear):
23164 (WebCore::FrameView::layout):
23165 (WebCore::FrameView::restoreScrollbar):
23166 (WebCore::FrameView::windowResizerRect):
23167 * page/FrameView.h:
23168 * platform/ScrollView.cpp:
23169 (WebCore::ScrollView::init):
23170 (WebCore::ScrollView::resizerOverlapsContent):
23171 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
23172 (WebCore::ScrollView::setParent):
23173 (WebCore::ScrollView::setScrollbarsSuppressed):
23174 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
23175 * platform/ScrollView.h:
23176 (WebCore::ScrollView::scrollbarsSuppressed):
23177 (WebCore::ScrollView::windowResizerRect):
23178 * platform/Scrollbar.cpp:
23179 (WebCore::Scrollbar::setFrameRect):
23180 (WebCore::Scrollbar::setParent):
23181 * platform/gtk/ScrollViewGtk.cpp:
23182 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
23183 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
23184 (WebCore::ScrollView::updateScrollbars):
23185 (WebCore::ScrollView::paint):
23186 * platform/mac/ScrollViewMac.mm:
23187 (WebCore::ScrollView::ScrollView):
23188 (WebCore::ScrollView::~ScrollView):
23189 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
23190 (WebCore::ScrollView::setScrollPosition):
23191 * platform/qt/ScrollViewQt.cpp:
23192 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
23193 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
23194 (WebCore::ScrollView::frameRectsChanged):
23195 (WebCore::ScrollView::updateScrollbars):
23196 (WebCore::ScrollView::paint):
23197 * platform/win/ScrollViewWin.cpp:
23198 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
23199 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
23200 (WebCore::ScrollView::updateScrollbars):
23201 (WebCore::ScrollView::paint):
23202 * platform/wx/ScrollViewWx.cpp:
23203 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
23204
zecke@webkit.org0034c712008-09-27 23:46:50 +0000232052008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
23206
23207 Rubber-stamped by Anders Carlsson.
23208
23209 Compile fix.
23210
23211 * plugins/PluginView.cpp:
23212 (WebCore::PluginView::load):
23213
mrowe@apple.com0f9c3da9d2008-09-27 23:23:24 +0000232142008-09-27 Mark Rowe <mrowe@apple.com>
23215
23216 Rubber-stamped by Sam Weinig.
23217
23218 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
23219 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
23220
23221 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
23222
23223 * loader/CachedResource.cpp:
23224 (WebCore::CachedResource::~CachedResource):
23225
zecke@webkit.org47132852008-09-27 22:45:21 +0000232262008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
23227
23228 Reviewed by Simon Hausmann.
23229
zecke@webkit.orgfe2082a2008-09-27 22:46:55 +000023230 [qt] Use QImageReader to figure out which image formats are supported
23231 - Qt can have many different plugins for different image formats. Instead
23232 of checking only for a few in WebCore use Qt to determine if this data
23233 can be treated as an image.
23234
23235 * platform/graphics/qt/ImageSourceQt.cpp:
23236 (WebCore::canHandleImage):
23237 (WebCore::createDecoder):
23238
232392008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
23240
23241
zecke@webkit.org47132852008-09-27 22:45:21 +000023242 [qt] Clean the pattern code
23243 - Use save/restore on the painter after manipulating the
23244 pen/brush
23245 - Make the context and object null checking consistent. CG is using
23246 the object unconditionally so the Qt webkit platform can do the
23247 same.
23248 - Move code below the early exit. Only use the m_ownerElement before
23249 the early exit as the CG code is doing it.
23250
23251 * svg/graphics/SVGPaintServerPattern.h:
23252 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
23253 (WebCore::SVGPaintServerPattern::setup):
23254 (WebCore::SVGPaintServerPattern::teardown):
23255
timothy@apple.com345f1af2008-09-27 22:18:35 +0000232562008-09-27 Keishi Hattori <casey.hattori@gmail.com>
23257
23258 Added support for console.trace.
23259
23260 https://bugs.webkit.org/show_bug.cgi?id=19157
23261
23262 Reviewed by Kevin McCullough and Tim Hatcher.
23263
23264 * bindings/js/JSConsoleCustom.cpp:
23265 (WebCore::JSConsole::trace):
23266 * page/Console.cpp:
23267 (WebCore::Console::trace): Calls Machine::retrieveCaller to
23268 get a stack trace.
23269 * page/Console.h:
23270 (WebCore::): Added TraceMessageLevel.
23271 * page/Console.idl: Added console.trace.
23272 * page/inspector/Console.js:
23273 (ConsoleMessage): Added case for TraceMessageLevel.
23274
andersca@apple.com6b8e0a22008-09-27 21:28:40 +0000232752008-09-27 Anders Carlsson <andersca@apple.com>
23276
23277 Reviewed by Sam Weinig.
23278
23279 https://bugs.webkit.org/show_bug.cgi?id=21178
23280 <rdar://problem/6248651>
23281
23282 Check if the plug-in is allowed to load the resource. This matches Firefox.
23283
23284 Test: http/tests/plugins/local-geturl-from-remote.html
23285
23286 * plugins/PluginView.cpp:
23287 (WebCore::PluginView::load):
23288
zecke@webkit.org91ee65a2008-09-27 21:06:35 +0000232892008-09-22 Dirk Schulze <vbs85@gmx.de>
23290
23291 Reviewed by Eric Seidel.
23292
23293 Added SVG pattern support to Qt.
23294
23295 [Qt] SVG patterns are missing
23296 https://bugs.webkit.org/show_bug.cgi?id=20973
23297
23298 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
23299 (WebCore::SVGPaintServerPattern::setup):
23300
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +0000233012008-09-27 Keishi Hattori <casey.hattori@gmail.com>
23302
23303 Fixed a bug in the JS syntax highlighter with multiple line tokens.
23304
23305 https://bugs.webkit.org/show_bug.cgi?id=21171
23306
23307 Reviewed by Tim Hatcher.
23308
23309 * page/inspector/SourceFrame.js:
23310 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
23311
timothy@apple.com5b4b3d02008-09-27 20:18:03 +0000233122008-09-27 Timothy Hatcher <timothy@apple.com>
23313
23314 Change searching in the Profiles panel to not match the
23315 Self and Total columns when there are no units. The only
23316 column that is matched for unitless number searches is
23317 now the Calls column.
23318
23319 https://bugs.webkit.org/show_bug.cgi?id=21169
23320
23321 Reviewed by Sam Weinig.
23322
23323 * page/inspector/ProfileView.js:
23324 (WebInspector.ProfileView.prototype.performSearch):
23325
hyatt@apple.com0fd13952008-09-27 19:56:56 +0000233262008-09-27 David Hyatt <hyatt@apple.com>
23327
23328 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
23329
23330 Reviewed by Sam Weinig
23331
23332 * platform/ScrollView.h:
23333 * platform/Widget.h:
23334 (WebCore::Widget::boundsRect):
23335 (WebCore::Widget::invalidate):
23336 (WebCore::Widget::frameRectsChanged):
23337 * platform/gtk/ScrollViewGtk.cpp:
23338 (WebCore::ScrollViewScrollbar::frameRectsChanged):
23339 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
23340 (WebCore::ScrollView::setFrameRect):
23341 (WebCore::ScrollView::updateScrollbars):
23342 (WebCore::ScrollView::frameRectsChanged):
23343 * platform/gtk/ScrollbarGtk.cpp:
23344 (ScrollbarGtk::setFrameRect):
23345 (ScrollbarGtk::frameRectsChanged):
23346 * platform/gtk/ScrollbarGtk.h:
23347 * platform/gtk/WidgetGtk.cpp:
23348 * platform/qt/ScrollViewQt.cpp:
23349 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
23350 (WebCore::ScrollView::setFrameRect):
23351 (WebCore::ScrollView::frameRectsChanged):
23352 (WebCore::ScrollView::updateScrollbars):
23353 * platform/win/ScrollViewWin.cpp:
23354 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
23355 (WebCore::ScrollView::setFrameRect):
23356 (WebCore::ScrollView::updateScrollbars):
23357 (WebCore::ScrollView::frameRectsChanged):
23358 * plugins/PluginView.cpp:
23359 (WebCore::PluginView::frameRectsChanged):
23360 * plugins/PluginView.h:
23361
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +0000233622008-09-27 Simon Hausmann <hausmann@webkit.org>
23363
hausmann@webkit.orge49722f2008-09-27 19:49:01 +000023364 Refix the previous build fix to compile on non-Qt platforms, too.
23365
23366 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
23367 WebCore to generate the PrototypeTable in the WebCore namespace
23368 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
23369 table remains in the Webcore namespace
23370 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
23371
233722008-09-27 Simon Hausmann <hausmann@webkit.org>
23373
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +000023374 Fix compilation with gcc 4.3 (probably > 4.0)
23375
23376 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
23377 get/put functions inside the WebCore namespace.
23378 * bindings/js/JSEventTargetBase.cpp: Ditto.
23379 * bindings/js/JSEventTargetNode.cpp: Ditto.
23380 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
23381 * bindings/js/JSEventTargetBase.h: Forward declare
23382 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
23383 defines it in the JSC namespace.
23384 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
23385 prefix for PrototypeTable symbol.
23386
hyatt@apple.come7c12342008-09-27 07:43:38 +0000233872008-09-27 David Hyatt <hyatt@apple.com>
23388
hyatt@apple.com53634ac2008-09-27 08:01:26 +000023389 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
23390
23391 Reviewed by Dan Bernstein
23392
23393 * WebCore.base.exp:
23394 * page/FrameView.cpp:
23395 (WebCore::FrameView::FrameView):
23396 (WebCore::FrameView::updateControlTints):
23397 * platform/ScrollView.h:
23398 * platform/Scrollbar.cpp:
23399 (WebCore::Scrollbar::Scrollbar):
23400 (WebCore::Scrollbar::paint):
23401 (WebCore::Scrollbar::setFrameRect):
23402 * platform/Scrollbar.h:
23403 * platform/ScrollbarThemeComposite.cpp:
23404 (WebCore::ScrollbarThemeComposite::paint):
23405 * platform/Widget.h:
23406 (WebCore::Widget::x):
23407 (WebCore::Widget::y):
23408 (WebCore::Widget::width):
23409 (WebCore::Widget::height):
23410 (WebCore::Widget::size):
23411 (WebCore::Widget::pos):
23412 (WebCore::Widget::resize):
23413 (WebCore::Widget::move):
23414 * platform/gtk/ScrollViewGtk.cpp:
23415 (WebCore::ScrollViewScrollbar::geometryChanged):
23416 (WebCore::ScrollView::update):
23417 (WebCore::ScrollView::setFrameRect):
23418 (WebCore::ScrollView::updateScrollbars):
23419 (WebCore::ScrollView::scrollbarUnderMouse):
23420 (WebCore::ScrollView::paint):
23421 * platform/gtk/ScrollbarGtk.cpp:
23422 (ScrollbarGtk::setFrameRect):
23423 (ScrollbarGtk::geometryChanged):
23424 * platform/gtk/ScrollbarGtk.h:
23425 * platform/gtk/WidgetGtk.cpp:
23426 (WebCore::Widget::frameRect):
23427 (WebCore::Widget::setFrameRect):
23428 * platform/mac/ScrollbarThemeMac.mm:
23429 (WebCore::ScrollbarThemeMac::trackRect):
23430 (WebCore::ScrollbarThemeMac::paint):
23431 * platform/mac/WidgetMac.mm:
23432 (WebCore::Widget::frameRect):
23433 (WebCore::Widget::setFrameRect):
23434 * platform/qt/ScrollViewQt.cpp:
23435 (WebCore::ScrollView::setFrameRect):
23436 (WebCore::ScrollView::updateScrollbars):
23437 (WebCore::ScrollView::scrollbarUnderMouse):
23438 (WebCore::ScrollView::paint):
23439 * platform/qt/ScrollbarThemeQt.cpp:
23440 (WebCore::styleOptionSlider):
23441 * platform/qt/WidgetQt.cpp:
23442 (WebCore::Widget::frameRect):
23443 (WebCore::Widget::setFrameRect):
23444 * platform/win/PopupMenuWin.cpp:
23445 (WebCore::PopupMenu::invalidateItem):
23446 (WebCore::PopupMenu::valueChanged):
23447 (WebCore::PopupWndProc):
23448 * platform/win/ScrollViewWin.cpp:
23449 (WebCore::ScrollView::setFrameRect):
23450 (WebCore::ScrollView::updateScrollbars):
23451 (WebCore::ScrollView::scrollbarUnderMouse):
23452 (WebCore::ScrollView::paint):
23453 * platform/win/ScrollbarThemeSafari.cpp:
23454 (WebCore::ScrollbarThemeSafari::trackRect):
23455 * platform/win/WidgetWin.cpp:
23456 (WebCore::Widget::frameRect):
23457 (WebCore::Widget::setFrameRect):
23458 * platform/wx/WidgetWx.cpp:
23459 (WebCore::Widget::frameRect):
23460 (WebCore::Widget::setFrameRect):
23461 * plugins/PluginView.cpp:
23462 (WebCore::PluginView::setFrameRect):
23463 * plugins/PluginView.h:
23464 * plugins/gtk/PluginViewGtk.cpp:
23465 (WebCore::PluginView::updatePluginWidget):
23466 (WebCore::PluginView::paint):
23467 (WebCore::PluginView::init):
23468 * plugins/qt/PluginViewQt.cpp:
23469 (WebCore::PluginView::updatePluginWidget):
23470 (WebCore::PluginView::init):
23471 * plugins/win/PluginViewWin.cpp:
23472 (WebCore::PluginView::updatePluginWidget):
23473 (WebCore::PluginView::paintMissingPluginIcon):
23474 (WebCore::PluginView::paint):
23475 (WebCore::PluginView::init):
23476 * rendering/RenderLayer.cpp:
23477 (WebCore::RenderLayer::positionOverflowControls):
23478 * rendering/RenderListBox.cpp:
23479 (WebCore::RenderListBox::paintScrollbar):
23480 * rendering/RenderPart.cpp:
23481 (WebCore::RenderPart::updateWidgetPosition):
23482 * rendering/RenderWidget.cpp:
23483 (WebCore::RenderWidget::setWidgetGeometry):
23484 (WebCore::RenderWidget::updateWidgetPosition):
23485
234862008-09-27 David Hyatt <hyatt@apple.com>
23487
hyatt@apple.come7c12342008-09-27 07:43:38 +000023488 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
23489
23490 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
23491 access an actual member variable.
23492
23493 Reviewed by Dan Bernstein
23494
23495 * page/FocusController.cpp:
23496 (WebCore::FocusController::setFocusedFrame):
23497
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +0000234982008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
23499
23500 Attempt to fix QT Build. Not reviewed.
23501
23502 * WebCore.pro: add -n WebCore parameter to create_hash_table
23503
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +0000235042008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
23505
23506 Reviewed by Eric Seidel.
23507
23508 http://bugs.webkit.org/show_bug.cgi?id=18905
23509 [GTK] Fix build with older pango (1.14.8)
23510
23511 * platform/graphics/gtk/FontGtk.cpp:
23512 * platform/gtk/Language.cpp:
23513 (_pango_get_lc_ctype):
23514 (pango_language_get_default):
23515
hyatt@apple.com0315e532008-09-27 06:23:58 +0000235162008-09-26 David Hyatt <hyatt@apple.com>
23517
23518 https://bugs.webkit.org/show_bug.cgi?id=21168
23519
23520 Make contentsToWindow/windowToContents cross-platform.
23521
23522 Reviewed by Oliver Hunt
23523
23524 * platform/ScrollView.cpp:
23525 (WebCore::ScrollView::windowToContents):
23526 (WebCore::ScrollView::contentsToWindow):
23527 * platform/ScrollView.h:
23528 * platform/gtk/ScrollViewGtk.cpp:
23529 * platform/mac/ScrollViewMac.mm:
23530 * platform/qt/ScrollViewQt.cpp:
23531 * platform/win/ScrollViewWin.cpp:
23532 * platform/wx/ScrollViewWx.cpp:
23533
weinig@apple.com0e6acf62008-09-27 06:15:45 +0000235342008-09-26 Sam Weinig <sam@webkit.org>
23535
23536 GTK build fix.
23537
23538 * GNUmakefile.am:
23539
hyatt@apple.comb37db692008-09-27 04:43:00 +0000235402008-09-26 David Hyatt <hyatt@apple.com>
23541
hyatt@apple.com8d329412008-09-27 05:26:38 +000023542 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
23543 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
23544 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
23545
23546 Reviewed by Oliver Hunt
23547
23548 * page/FrameView.cpp:
23549 (WebCore::FrameView::repaintContentRectangle):
23550 * page/FrameView.h:
23551 * platform/ScrollView.h:
23552 * platform/gtk/ScrollViewGtk.cpp:
23553 (WebCore::ScrollView::isOffscreen):
23554 * platform/mac/ScrollViewMac.mm:
23555 (WebCore::ScrollView::updateContents):
23556 (WebCore::ScrollView::isOffscreen):
23557 * platform/qt/ScrollViewQt.cpp:
23558 (WebCore::ScrollView::isOffscreen):
23559 * platform/win/ScrollViewWin.cpp:
23560 (WebCore::ScrollView::isOffscreen):
23561 * platform/wx/ScrollViewWx.cpp:
23562 (WebCore::ScrollView::isOffscreen):
23563 * rendering/RenderObject.cpp:
23564 (WebCore::RenderObject::willRenderImage):
23565
235662008-09-26 David Hyatt <hyatt@apple.com>
23567
hyatt@apple.comb37db692008-09-27 04:43:00 +000023568 https://bugs.webkit.org/show_bug.cgi?id=21164
23569
23570 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
23571
23572 Reviewed by Sam Weinig
23573
23574 * WebCore.base.exp:
23575 * page/FrameView.cpp:
23576 (WebCore::FrameView::setAllowsScrolling):
23577 * page/FrameView.h:
23578 * platform/ScrollView.cpp:
23579 (WebCore::ScrollView::setAllowsScrolling):
23580 * platform/ScrollView.h:
23581 (WebCore::ScrollView::allowsScrolling):
23582 * platform/win/ScrollViewWin.cpp:
23583 (WebCore::ScrollView::wheelEvent):
23584
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +0000235852008-09-26 Kevin Ollivier <kevino@theolliviers.com>
23586
23587 wx build fixes after Widget/ScrollView changes.
23588
23589 * platform/wx/PopupMenuWx.cpp:
23590 (WebCore::PopupMenu::show):
23591 * platform/wx/ScrollViewWx.cpp:
23592 (WebCore::ScrollView::platformSetContentsSize):
23593 (WebCore::ScrollView::platformSetScrollbarModes):
23594 (WebCore::ScrollView::wheelEvent):
23595 * platform/wx/TemporaryLinkStubs.cpp:
23596 * platform/wx/WidgetWx.cpp:
23597 (WebCore::Widget::containingWindow):
23598
timothy@apple.com9b486082008-09-27 02:44:05 +0000235992008-09-26 Timothy Hatcher <timothy@apple.com>
23600
23601 Allow searching for paths by always performing the
23602 three search methods in the Elements panel and not
23603 assume a search with a "/" is a XPath query.
23604
23605 https://bugs.webkit.org/show_bug.cgi?id=21159
23606
23607 Reviewed by Geoff Garen.
23608
23609 * page/inspector/ElementsPanel.js:
23610 (WebInspector.ElementsPanel.prototype.performSearch):
23611
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +0000236122008-09-26 Sam Weinig <sam@webkit.org>
23613
23614 Reviewed by Darin Adler.
23615
23616 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
23617 Speedup static property get/put
23618
23619 * DerivedSources.make:
23620 * GNUmakefile.am:
23621 * WebCore.pro:
23622 * WebCore.vcproj/WebCore.vcproj:
23623 * WebCore.xcodeproj/project.pbxproj:
23624 * bindings/js/JSDOMBinding.cpp:
23625 * bindings/js/JSDOMBinding.h:
23626 * bindings/js/JSDOMWindowBase.cpp:
23627 (WebCore::getDOMConstructor):
23628 (WebCore::jsDOMWindowBaseCrypto):
23629 (WebCore::jsDOMWindowBaseEvent):
23630 (WebCore::jsDOMWindowBaseImage):
23631 (WebCore::jsDOMWindowBaseMessageChannel):
23632 (WebCore::jsDOMWindowBaseOption):
23633 (WebCore::jsDOMWindowBaseXMLHttpRequest):
23634 (WebCore::jsDOMWindowBaseAudio):
23635 (WebCore::jsDOMWindowBaseXSLTProcessor):
23636 (WebCore::jsDOMWindowBaseOnabort):
23637 (WebCore::jsDOMWindowBaseOnblur):
23638 (WebCore::jsDOMWindowBaseOnchange):
23639 (WebCore::jsDOMWindowBaseOnclick):
23640 (WebCore::jsDOMWindowBaseOndblclick):
23641 (WebCore::jsDOMWindowBaseOnerror):
23642 (WebCore::jsDOMWindowBaseOnfocus):
23643 (WebCore::jsDOMWindowBaseOnkeydown):
23644 (WebCore::jsDOMWindowBaseOnkeypress):
23645 (WebCore::jsDOMWindowBaseOnkeyup):
23646 (WebCore::jsDOMWindowBaseOnload):
23647 (WebCore::jsDOMWindowBaseOnmousedown):
23648 (WebCore::jsDOMWindowBaseOnmousemove):
23649 (WebCore::jsDOMWindowBaseOnmouseout):
23650 (WebCore::jsDOMWindowBaseOnmouseover):
23651 (WebCore::jsDOMWindowBaseOnmouseup):
23652 (WebCore::jsDOMWindowBaseOnMouseWheel):
23653 (WebCore::jsDOMWindowBaseOnreset):
23654 (WebCore::jsDOMWindowBaseOnresize):
23655 (WebCore::jsDOMWindowBaseOnscroll):
23656 (WebCore::jsDOMWindowBaseOnsearch):
23657 (WebCore::jsDOMWindowBaseOnselect):
23658 (WebCore::jsDOMWindowBaseOnsubmit):
23659 (WebCore::jsDOMWindowBaseOnbeforeunload):
23660 (WebCore::jsDOMWindowBaseOnunload):
23661 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
23662 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
23663 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
23664 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
23665 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
23666 (WebCore::JSDOMWindowBase::put):
23667 (WebCore::setJSDOMWindowBaseOnabort):
23668 (WebCore::setJSDOMWindowBaseOnblur):
23669 (WebCore::setJSDOMWindowBaseOnchange):
23670 (WebCore::setJSDOMWindowBaseOnclick):
23671 (WebCore::setJSDOMWindowBaseOndblclick):
23672 (WebCore::setJSDOMWindowBaseOnerror):
23673 (WebCore::setJSDOMWindowBaseOnfocus):
23674 (WebCore::setJSDOMWindowBaseOnkeydown):
23675 (WebCore::setJSDOMWindowBaseOnkeypress):
23676 (WebCore::setJSDOMWindowBaseOnkeyup):
23677 (WebCore::setJSDOMWindowBaseOnload):
23678 (WebCore::setJSDOMWindowBaseOnmousedown):
23679 (WebCore::setJSDOMWindowBaseOnmousemove):
23680 (WebCore::setJSDOMWindowBaseOnmouseout):
23681 (WebCore::setJSDOMWindowBaseOnmouseover):
23682 (WebCore::setJSDOMWindowBaseOnmouseup):
23683 (WebCore::setJSDOMWindowBaseOnMouseWheel):
23684 (WebCore::setJSDOMWindowBaseOnreset):
23685 (WebCore::setJSDOMWindowBaseOnresize):
23686 (WebCore::setJSDOMWindowBaseOnscroll):
23687 (WebCore::setJSDOMWindowBaseOnsearch):
23688 (WebCore::setJSDOMWindowBaseOnselect):
23689 (WebCore::setJSDOMWindowBaseOnsubmit):
23690 (WebCore::setJSDOMWindowBaseOnbeforeunload):
23691 (WebCore::setJSDOMWindowBaseOnunload):
23692 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
23693 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
23694 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
23695 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
23696 (WebCore::setJSDOMWindowBaseEvent):
23697 (WebCore::setJSDOMWindowBaseAudio):
23698 (WebCore::setJSDOMWindowBaseImage):
23699 (WebCore::setJSDOMWindowBaseMessageChannel):
23700 (WebCore::setJSDOMWindowBaseOption):
23701 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
23702 (WebCore::setJSDOMWindowBaseXSLTProcessor):
23703 * bindings/js/JSDOMWindowBase.h:
23704 * bindings/js/JSDOMWindowCustom.cpp:
23705 (WebCore::nonCachingStaticCloseFunctionGetter):
23706 (WebCore::nonCachingStaticBlurFunctionGetter):
23707 (WebCore::nonCachingStaticFocusFunctionGetter):
23708 (WebCore::nonCachingStaticPostMessageFunctionGetter):
23709 * bindings/js/JSDOMWindowCustom.h:
23710 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
23711 * bindings/js/JSEventTargetBase.cpp:
23712 * bindings/js/JSEventTargetBase.h:
23713 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
23714 (WebCore::JSEventTargetBasePrototype::classInfo):
23715 * bindings/js/JSEventTargetNode.cpp:
23716 (WebCore::):
23717 (WebCore::JSEventTargetNode::getOwnPropertySlot):
23718 (WebCore::JSEventTargetNode::put):
23719 * bindings/js/JSEventTargetNode.h:
23720 (WebCore::JSEventTargetNode::classInfo):
23721 (WebCore::JSEventTargetNode::prototypeClassName):
23722 * bindings/js/JSEventTargetSVGElementInstance.cpp:
23723 (WebCore::):
23724 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
23725 (WebCore::JSEventTargetSVGElementInstance::put):
23726 * bindings/js/JSEventTargetSVGElementInstance.h:
23727 (WebCore::JSEventTargetSVGElementInstance::classInfo):
23728 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
23729 * bindings/js/JSHTMLInputElementCustom.cpp:
23730 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
23731 * bindings/js/JSHistoryCustom.cpp:
23732 (WebCore::nonCachingStaticBackFunctionGetter):
23733 (WebCore::nonCachingStaticForwardFunctionGetter):
23734 (WebCore::nonCachingStaticGoFunctionGetter):
23735 (WebCore::JSHistory::customGetOwnPropertySlot):
23736 * bindings/js/JSLocationCustom.cpp:
23737 (WebCore::nonCachingStaticReplaceFunctionGetter):
23738 (WebCore::nonCachingStaticReloadFunctionGetter):
23739 (WebCore::nonCachingStaticAssignFunctionGetter):
23740 (WebCore::JSLocation::customGetOwnPropertySlot):
23741 (WebCore::JSLocation::customPut):
23742 * bindings/scripts/CodeGeneratorJS.pm:
23743
hyatt@apple.com01adde82008-09-26 20:49:34 +0000237442008-09-26 David Hyatt <hyatt@apple.com>
23745
23746 https://bugs.webkit.org/show_bug.cgi?id=21149
23747
23748 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
23749 Eliminate the unused isScrollable() method.
23750
23751 Reviewed by Sam Weinig
23752
23753 * WebCore.base.exp:
23754 * page/FrameView.cpp:
23755 (WebCore::FrameView::resetScrollbars):
23756 (WebCore::FrameView::initScrollbars):
23757 (WebCore::FrameView::layout):
23758 * page/FrameView.h:
23759 * page/mac/WebCoreFrameView.h:
23760 * platform/ScrollView.cpp:
23761 (WebCore::ScrollView::init):
23762 (WebCore::ScrollView::setScrollbarModes):
23763 (WebCore::ScrollView::scrollbarModes):
23764 (WebCore::ScrollView::platformSetScrollbarModes):
23765 (WebCore::ScrollView::platformScrollbarModes):
23766 * platform/ScrollView.h:
23767 (WebCore::ScrollView::horizontalScrollbar):
23768 (WebCore::ScrollView::verticalScrollbar):
23769 (WebCore::ScrollView::isScrollViewScrollbar):
23770 (WebCore::ScrollView::setHorizontalScrollbarMode):
23771 (WebCore::ScrollView::setVerticalScrollbarMode):
23772 (WebCore::ScrollView::horizontalScrollbarMode):
23773 (WebCore::ScrollView::verticalScrollbarMode):
23774 (WebCore::ScrollView::convertSelfToChild):
23775 * platform/gtk/ScrollViewGtk.cpp:
23776 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
23777 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
23778 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
23779 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
23780 (WebCore::ScrollView::updateScrollbars):
23781 (WebCore::ScrollView::scrollbarUnderMouse):
23782 (WebCore::ScrollView::isScrollViewScrollbar):
23783 (WebCore::ScrollView::paint):
23784 (WebCore::ScrollView::scroll):
23785 * platform/mac/ScrollViewMac.mm:
23786 (WebCore::ScrollView::platformSetScrollbarModes):
23787 (WebCore::ScrollView::platformScrollbarModes):
23788 * platform/qt/ScrollViewQt.cpp:
23789 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
23790 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
23791 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
23792 (WebCore::ScrollView::horizontalScrollbar):
23793 (WebCore::ScrollView::verticalScrollbar):
23794 (WebCore::ScrollView::invalidateScrollbars):
23795 (WebCore::ScrollView::updateScrollbars):
23796 (WebCore::ScrollView::scrollbarUnderMouse):
23797 (WebCore::ScrollView::paint):
23798 (WebCore::ScrollView::scroll):
23799 * platform/win/ScrollViewWin.cpp:
23800 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
23801 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
23802 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
23803 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
23804 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
23805 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
23806 (WebCore::ScrollView::suppressScrollbars):
23807 (WebCore::ScrollView::updateScrollbars):
23808 (WebCore::ScrollView::scrollbarUnderMouse):
23809 (WebCore::ScrollView::paint):
23810 (WebCore::ScrollView::scroll):
23811 * platform/wx/ScrollViewWx.cpp:
23812 (WebCore::ScrollView::platformSetScrollbarModes):
23813 (WebCore::ScrollView::platformScrollbarModes):
23814
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +0000238152008-09-26 David Kilzer <ddkilzer@apple.com>
23816
23817 Fix Mac build with XPATH and XSLT disabled
23818
23819 Reviewed by Alexey.
23820
23821 * bindings/objc/DOMUtility.mm:
23822 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
23823 * dom/XMLTokenizerLibxml2.cpp:
23824 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
23825 prevent an unused code warning.
23826
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +0000238272008-09-26 Kevin McCullough <kmccullough@apple.com>
23828
23829 Rubber stamped by Tim Hatcher.
23830
23831 Bug 21098: Crashing under Console::log
23832 - Speculative ASSERT to help find the problem.
23833
23834 * page/InspectorController.cpp:
23835 (WebCore::ConsoleMessage::isEqual):
23836
zecke@webkit.org00c54bb2008-09-26 17:56:08 +0000238372008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
23838
23839 [gtk+] Build fix for the latest ScrollView changes
23840
23841 * platform/gtk/ScrollViewGtk.cpp:
23842 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
23843 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
23844
timothy@apple.comf49116e2008-09-26 17:27:52 +0000238452008-09-26 Timothy Hatcher <timothy@apple.com>
23846
23847 Fixes a bug where the console message repeat count would be wrong
23848 when typing commands in between repeated messages.
23849
23850 https://bugs.webkit.org/show_bug.cgi?id=21145
23851
23852 Reviewed by Kevin McCullough.
23853
23854 * page/InspectorController.cpp:
23855 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
23856 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
23857 * page/inspector/Console.js:
23858 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
23859 for each message as totalRepeatCount, since we now modify repeatCount to mean
23860 repeats since previous console command. If repeatCountBeforeCommand is a number,
23861 subtract that value from the repeatCount.
23862 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
23863 and commandSincePreviousMessage properties.
23864
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +0000238652008-09-26 Eric Carlson <eric.carlson@apple.com>
23866
23867 Reviewed by Antti
23868
23869 https://bugs.webkit.org/show_bug.cgi?id=21116
23870 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
23871 back to page with <video>, then closing tab
23872
23873 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
23874 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
23875 deletion.
23876
23877 * dom/Document.cpp:
23878 (WebCore::Document::documentWillBecomeInactive):
23879 (WebCore::Document::documentDidBecomeActive):
23880 (WebCore::Document::registerForDocumentActivationCallbacks):
23881 (WebCore::Document::unregisterForDocumentActivationCallbacks):
23882 * dom/Document.h:
23883 * dom/Element.h:
23884 (WebCore::Element::documentWillBecomeInactive):
23885 (WebCore::Element::documentDidBecomeActive):
23886 * history/CachedPage.cpp:
23887 (WebCore::CachedPage::CachedPage):
23888 * html/HTMLFormElement.cpp:
23889 (WebCore::HTMLFormElement::~HTMLFormElement):
23890 (WebCore::HTMLFormElement::parseMappedAttribute):
23891 (WebCore::HTMLFormElement::documentDidBecomeActive):
23892 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
23893 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
23894 * html/HTMLFormElement.h:
23895 * html/HTMLInputElement.cpp:
23896 (WebCore::HTMLInputElement::~HTMLInputElement):
23897 (WebCore::HTMLInputElement::setInputType):
23898 (WebCore::HTMLInputElement::parseMappedAttribute):
23899 (WebCore::HTMLInputElement::needsActivationCallback):
23900 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
23901 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
23902 (WebCore::HTMLInputElement::documentDidBecomeActive):
23903 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
23904 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
23905 * html/HTMLInputElement.h:
23906 * html/HTMLMediaElement.cpp:
23907 (WebCore::HTMLMediaElement::HTMLMediaElement):
23908 (WebCore::HTMLMediaElement::~HTMLMediaElement):
23909 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
23910 (WebCore::HTMLMediaElement::documentDidBecomeActive):
23911 * html/HTMLMediaElement.h:
23912 (WebCore::HTMLMediaElement::inActiveDocument):
23913 * loader/FrameLoader.cpp:
23914 (WebCore::FrameLoader::opened):
23915 * page/Page.cpp:
23916 (WebCore::Page::~Page):
23917 * rendering/RenderMedia.cpp:
23918 (WebCore::RenderMedia::updateControls):
23919 * rendering/RenderVideo.cpp:
23920 (WebCore::RenderVideo::updatePlayer):
23921 * svg/SVGSVGElement.cpp:
23922 (WebCore::SVGSVGElement::SVGSVGElement):
23923 (WebCore::SVGSVGElement::~SVGSVGElement):
23924 (WebCore::SVGSVGElement::documentWillBecomeInactive):
23925 (WebCore::SVGSVGElement::documentDidBecomeActive):
23926 * svg/SVGSVGElement.h:
23927
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +0000239282008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
23929
23930 Reviewed by Simon
23931
23932 Fix the build inside Qt, don't create faulty prl files for now.
23933
23934 * WebCore.pro:
23935
hausmann@webkit.org809f4242008-09-26 13:17:31 +0000239362008-09-26 Simon Hausmann <hausmann@webkit.org>
23937
23938 Fix compilation on Qt/Windows
23939
23940 * Add WebCore/ to the include path so that config.h is found that enables JSC
23941 * Link against winmm for the multimedia timer functions
23942 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
23943 subdirectory
23944 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
23945 but set m_window directly as setPlatformWidget takes a QWidget*.
23946
23947 * WebCore.pro:
23948 * platform/win/SystemTimeWin.cpp:
23949 * plugins/win/PluginViewWin.cpp:
23950 (WebCore::PluginView::init):
23951
oliver@apple.com38feb8e2008-09-26 11:53:40 +0000239522008-09-26 Oliver Hunt <oliver@apple.com>
23953
23954 Reviewed by Maciej Stachowiak.
23955
23956 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
23957 <https://bugs.webkit.org/show_bug.cgi?id=21054>
23958
23959 This performance regression is actually just a symptom of a correctness
23960 bug. The constructor objects for a number of properties that have security
23961 checks on access were returning new objects each time. The most obvious
23962 symptom of this bug is that window.Image != window.Image, etc.
23963
23964 The solution to this is to make sure we cache these constructors
23965 in the same way as all the other DOM constructors. To achieve this
23966 without causing any refcount cycles it is necessary to replace the
23967 refcounted document pointer in the Image, MessageChannel, Option,
23968 XMLHttpRequest, and Audio constructor objects with a reference to
23969 the document's JS wrapper.
23970
23971 Tests: fast/dom/constructors-cached-navigate.html
23972 fast/dom/constructors-cached.html
23973
23974 * WebCore.xcodeproj/project.pbxproj:
23975 * bindings/js/JSAudioConstructor.cpp:
23976 (WebCore::JSAudioConstructor::mark):
23977 * bindings/js/JSAudioConstructor.h:
23978 (WebCore::JSAudioConstructor::document):
23979 * bindings/js/JSDOMWindowBase.cpp:
23980 (WebCore::getDOMConstructor):
23981 (WebCore::JSDOMWindowBase::getValueProperty):
23982 * bindings/js/JSDOMWindowBase.h:
23983 * bindings/js/JSHTMLOptionElementConstructor.cpp:
23984 (WebCore::JSHTMLOptionElementConstructor::mark):
23985 * bindings/js/JSHTMLOptionElementConstructor.h:
23986 (WebCore::JSHTMLOptionElementConstructor::document):
23987 * bindings/js/JSImageConstructor.cpp:
23988 (WebCore::JSImageConstructor::mark):
23989 * bindings/js/JSImageConstructor.h:
23990 (WebCore::JSImageConstructor::document):
23991 * bindings/js/JSXMLHttpRequestConstructor.cpp:
23992 (WebCore::JSXMLHttpRequestConstructor::mark):
23993 * bindings/js/JSXMLHttpRequestConstructor.h:
23994 (WebCore::JSXMLHttpRequestConstructor::document):
23995
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +0000239962008-09-26 Simon Hausmann <hausmann@webkit.org>
23997
23998 Unreviewed one-liner build fix for the Qt/Windows build.
23999
24000 The build requires NPAPI support to be enabled, fix the condition in
24001 the .pro file for that.
24002
24003 * WebCore.pro:
24004
hausmann@webkit.org1ba35342008-09-26 10:51:33 +0000240052008-09-26 Trenton Schulz <twschulz@trolltech.com>
24006
24007 Reviewed by Simon.
24008
24009 Fix compilation with the Qt/Cocoa port.
24010
24011 * platform/qt/ScrollViewQt.cpp:
24012 (WebCore::ScrollView::updateScrollbars):
24013
hausmann@webkit.orge359dd12008-09-26 09:37:09 +0000240142008-09-26 Simon Hausmann <hausmann@webkit.org>
24015
24016 Reviewed by Holger.
24017
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +000024018 Fix compilation with VC9SP1, work around bug in TR1 library by
24019 disabling it.
24020
24021 * WebCore.pro:
24022
240232008-09-26 Simon Hausmann <hausmann@webkit.org>
24024
24025 Reviewed by Holger.
24026
hausmann@webkit.orge359dd12008-09-26 09:37:09 +000024027 Fix an lupdate() warning.
24028
24029 Don't use tr() in a class that is not a QObject, use
24030 QCoreApplication::translate() directly.
24031
24032 * platform/qt/ScrollbarQt.cpp:
24033 (WebCore::Scrollbar::handleContextMenuEvent):
24034
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +0000240352008-09-25 David Hyatt <hyatt@apple.com>
24036
hyatt@apple.com4c833152008-09-26 06:21:22 +000024037 Remove the scrollTo() method from FrameView, since it is not used by anyone.
24038
24039 Reviewed by Oliver Hunt
24040
24041 * page/FrameView.cpp:
24042 * page/FrameView.h:
24043
240442008-09-25 David Hyatt <hyatt@apple.com>
24045
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +000024046 Make scrollRectIntoViewRecursively cross-platform.
24047
24048 Reviewed by Oliver Hunt
24049
24050 * platform/ScrollView.cpp:
24051 (WebCore::ScrollView::scrollRectIntoViewRecursively):
24052 * platform/gtk/ScrollViewGtk.cpp:
24053 * platform/mac/ScrollViewMac.mm:
24054 * platform/qt/ScrollViewQt.cpp:
24055 * platform/win/ScrollViewWin.cpp:
24056 * platform/wx/ScrollViewWx.cpp:
24057
240582008-09-25 David Hyatt <hyatt@apple.com>
24059
hyatt@apple.com25cd25e2008-09-26 06:07:14 +000024060 https://bugs.webkit.org/show_bug.cgi?id=21133
24061
24062 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
24063 cross-platform.
24064
24065 Reviewed by Oliver Hunt
24066
24067 * loader/FrameLoader.cpp:
24068 (WebCore::FrameLoader::begin):
24069 * page/FrameView.cpp:
24070 (WebCore::FrameView::adjustViewSize):
24071 * platform/ScrollView.cpp:
24072 (WebCore::ScrollView::setContentsSize):
24073 * platform/ScrollView.h:
24074 (WebCore::ScrollView::updateScrollbars):
24075 * platform/gtk/ScrollViewGtk.cpp:
24076 * platform/mac/ScrollViewMac.mm:
24077 (WebCore::ScrollView::platformSetContentsSize):
24078 * platform/qt/ScrollViewQt.cpp:
24079 * platform/win/ScrollViewWin.cpp:
24080 * platform/wx/ScrollViewWx.cpp:
24081 (WebCore::ScrollView::platformSetContentsSize):
24082
240832008-09-25 David Hyatt <hyatt@apple.com>
24084
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +000024085 https://bugs.webkit.org/show_bug.cgi?id=21132
24086
24087 Clean up the methods that actually do the scrolling in ScrollView.
24088
24089 Reviewed by Oliver Hunt
24090
24091 * html/HTMLBodyElement.cpp:
24092 (WebCore::HTMLBodyElement::setScrollLeft):
24093 (WebCore::HTMLBodyElement::setScrollTop):
24094 * loader/FrameLoader.cpp:
24095 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
24096 * loader/ImageDocument.cpp:
24097 (WebCore::ImageDocument::imageClicked):
24098 * page/DOMWindow.cpp:
24099 (WebCore::DOMWindow::scrollBy):
24100 (WebCore::DOMWindow::scrollTo):
24101 * page/FrameView.cpp:
24102 (WebCore::FrameView::scrollTo):
24103 (WebCore::FrameView::setScrollPosition):
24104 * page/FrameView.h:
24105 * platform/ScrollView.cpp:
24106 (WebCore::ScrollView::maximumScrollPosition):
24107 * platform/ScrollView.h:
24108 (WebCore::ScrollView::contentsWidth):
24109 (WebCore::ScrollView::contentsHeight):
24110 (WebCore::ScrollView::scrollBy):
24111 * platform/gtk/ScrollViewGtk.cpp:
24112 (WebCore::ScrollView::setScrollPosition):
24113 * platform/mac/ScrollViewMac.mm:
24114 (WebCore::ScrollView::setScrollPosition):
24115 * platform/qt/ScrollViewQt.cpp:
24116 (WebCore::ScrollView::setScrollPosition):
24117 (WebCore::ScrollView::scrollRectIntoViewRecursively):
24118 * platform/win/ScrollViewWin.cpp:
24119 (WebCore::ScrollView::setScrollPosition):
24120 (WebCore::ScrollView::scrollRectIntoViewRecursively):
24121 * platform/wx/ScrollViewWx.cpp:
24122 (WebCore::ScrollView::setScrollPosition):
24123 * rendering/RenderLayer.cpp:
24124 (WebCore::RenderLayer::scrollByRecursively):
24125 (WebCore::RenderLayer::scrollRectToVisible):
24126
mitz@apple.com5c920f12008-09-26 05:25:41 +0000241272008-09-25 Dan Bernstein <mitz@apple.com>
24128
24129 - attempted Windows build fix
24130
24131 * platform/win/ScrollViewWin.cpp:
24132 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
24133 (WebCore::ScrollView::setContentsPos):
24134 (WebCore::ScrollView::paint):
24135
timothy@apple.comd884aae2008-09-26 04:35:48 +0000241362008-09-25 Timothy Hatcher <timothy@apple.com>
24137
24138 Revert the padding changes done in r36905 to prevent the
24139 scrollbar from overlapping the URLs in the Console.
24140
24141 https://bugs.webkit.org/show_bug.cgi?id=21126
24142
24143 * page/inspector/inspector.css:
24144
hyatt@apple.comc01fb232008-09-26 04:28:25 +0000241452008-09-25 David Hyatt <hyatt@apple.com>
24146
24147 https://bugs.webkit.org/show_bug.cgi?id=21129
24148
24149 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
24150 of platform-specific methods required of ScrollView implementations.
24151
24152 Reviewed by Tim Hatcher
24153
24154 * dom/MouseRelatedEvent.cpp:
24155 (WebCore::contentsX):
24156 (WebCore::contentsY):
24157 * html/HTMLBodyElement.cpp:
24158 (WebCore::HTMLBodyElement::scrollLeft):
24159 (WebCore::HTMLBodyElement::setScrollLeft):
24160 (WebCore::HTMLBodyElement::scrollTop):
24161 (WebCore::HTMLBodyElement::setScrollTop):
24162 * loader/FrameLoader.cpp:
24163 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
24164 * page/DOMWindow.cpp:
24165 (WebCore::DOMWindow::scrollX):
24166 (WebCore::DOMWindow::scrollY):
24167 * page/EventHandler.cpp:
24168 (WebCore::EventHandler::hitTestResultAtPoint):
24169 * page/FrameView.cpp:
24170 (WebCore::FrameView::scrollTo):
24171 (WebCore::FrameView::windowClipRect):
24172 * platform/ScrollView.cpp:
24173 (WebCore::ScrollView::visibleContentRect):
24174 (WebCore::ScrollView::contentsSize):
24175 (WebCore::ScrollView::platformContentsSize):
24176 * platform/ScrollView.h:
24177 (WebCore::ScrollView::scrollPosition):
24178 (WebCore::ScrollView::scrollOffset):
24179 (WebCore::ScrollView::scrollX):
24180 (WebCore::ScrollView::scrollY):
24181 (WebCore::ScrollView::contentsWidth):
24182 (WebCore::ScrollView::contentsHeight):
24183 * platform/gtk/ScrollViewGtk.cpp:
24184 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
24185 (WebCore::ScrollView::setGtkAdjustments):
24186 (WebCore::ScrollView::resizeContents):
24187 (WebCore::ScrollView::contentsWidth):
24188 (WebCore::ScrollView::contentsHeight):
24189 (WebCore::ScrollView::scrollOffset):
24190 (WebCore::ScrollView::maximumScroll):
24191 (WebCore::ScrollView::scrollBy):
24192 (WebCore::ScrollView::suppressScrollbars):
24193 (WebCore::ScrollView::setHScrollbarMode):
24194 (WebCore::ScrollView::setVScrollbarMode):
24195 (WebCore::ScrollView::setScrollbarsMode):
24196 (WebCore::ScrollView::setFrameGeometry):
24197 (WebCore::ScrollView::updateScrollbars):
24198 * platform/mac/ScrollViewMac.mm:
24199 (WebCore::ScrollView::platformContentsSize):
24200 (WebCore::ScrollView::scrollBy):
24201 * platform/mac/WidgetMac.mm:
24202 (WebCore::Widget::convertFromContainingWindow):
24203 (WebCore::Widget::convertToContainingWindow):
24204 * platform/qt/ScrollViewQt.cpp:
24205 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
24206 (WebCore::ScrollView::resizeContents):
24207 (WebCore::ScrollView::setFrameGeometry):
24208 (WebCore::ScrollView::scrollOffset):
24209 (WebCore::ScrollView::maximumScroll):
24210 (WebCore::ScrollView::scrollBy):
24211 (WebCore::ScrollView::setHScrollbarMode):
24212 (WebCore::ScrollView::setVScrollbarMode):
24213 (WebCore::ScrollView::setScrollbarsMode):
24214 (WebCore::ScrollView::updateScrollbars):
24215 * platform/win/ScrollViewWin.cpp:
24216 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
24217 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
24218 (WebCore::ScrollView::resizeContents):
24219 (WebCore::ScrollView::setFrameGeometry):
24220 (WebCore::ScrollView::scrollOffset):
24221 (WebCore::ScrollView::maximumScroll):
24222 (WebCore::ScrollView::scrollBy):
24223 (WebCore::ScrollView::setHScrollbarMode):
24224 (WebCore::ScrollView::setVScrollbarMode):
24225 (WebCore::ScrollView::setScrollbarsMode):
24226 (WebCore::ScrollView::updateScrollbars):
24227 * platform/wx/ScrollViewWx.cpp:
24228 (WebCore::ScrollView::platformVisibleContentRect):
24229 (WebCore::ScrollView::platformContentsSize):
24230 * rendering/RenderBlock.cpp:
24231 (WebCore::RenderBlock::nodeAtPoint):
24232 * rendering/RenderLayer.cpp:
24233 (WebCore::RenderLayer::scrollRectToVisible):
24234 (WebCore::RenderLayer::calculateClipRects):
24235 (WebCore::RenderLayer::calculateRects):
24236 * rendering/RenderView.cpp:
24237 (WebCore::RenderView::absolutePosition):
24238 (WebCore::RenderView::computeAbsoluteRepaintRect):
24239
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +0000242402008-09-25 David Smith <catfish.man@gmail.com>
24241
dsmith@webkit.org0fedb622008-09-26 04:05:57 +000024242 Reviewed by Dave Hyatt.
24243
24244 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
24245
24246 * dom/Element.cpp:
24247 (WebCore::Element::rareData):
24248 * dom/Element.h:
24249 * dom/Node.cpp:
24250 (WebCore::Node::rareData):
24251 * dom/Node.h:
24252
242532008-09-25 David Smith <catfish.man@gmail.com>
24254
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000024255 Reviewed by Darin Adler.
24256
24257 https://bugs.webkit.org/show_bug.cgi?id=20980
24258 Split off uncommonly used data from Node similar to ElementRareData
24259
24260 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
24261 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
24262 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
24263
24264 * WebCore.base.exp:
24265 * WebCore.xcodeproj/project.pbxproj:
24266 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
24267 * dom/ContainerNode.cpp: Set isContainer to true
24268 (WebCore::ContainerNode::ContainerNode):
24269 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
24270 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
24271 (WebCore::Node::containerChildNode): ditto
24272 (WebCore::Node::containerFirstChild): ditto
24273 (WebCore::Node::containerLastChild): ditto
24274 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
24275 (WebCore::Element::Element):
24276 (WebCore::Element::~Element):
24277 (WebCore::Element::rareData):
24278 (WebCore::Element::ensureRareData): Renamed from createRareData
24279 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
24280 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
24281 (WebCore::Element::detach): ditto
24282 (WebCore::Element::recalcStyle): ditto
24283 (WebCore::Element::focus):
24284 (WebCore::Element::minimumSizeForResizing): ditto
24285 (WebCore::Element::setMinimumSizeForResizing): ditto
24286 (WebCore::Element::computedStyle):
24287 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
24288 * dom/Element.h:
24289 * dom/ElementRareData.h: Added; everything copied from Element.cpp
24290 (WebCore::defaultMinimumSizeForResizing):
24291 (WebCore::ElementRareData::ElementRareData):
24292 (WebCore::ElementRareData::resetComputedStyle):
24293 * dom/EventTargetNode.cpp:
24294 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
24295 * dom/EventTargetNode.h:
24296 * dom/Node.cpp:
24297 (WebCore::Node::Node):
24298 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
24299 (WebCore::Node::rareData):
24300 (WebCore::Node::ensureRareData):
24301 (WebCore::Node::createRareData):
24302 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
24303 (WebCore::Node::setTabIndexExplicitly):
24304 (WebCore::Node::childNodes): NodeLists are now in rareData
24305 (WebCore::Node::setFocus):
24306 (WebCore::Node::rareDataFocused):
24307 (WebCore::Node::isFocusable):
24308 (WebCore::Node::isKeyboardFocusable):
24309 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
24310 (WebCore::Node::unregisterDynamicNodeList): ditto
24311 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
24312 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
24313 (WebCore::Node::getElementsByName): ditto
24314 (WebCore::Node::getElementsByClassName): ditto
24315 * dom/Node.h:
24316 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
24317 (WebCore::Node::lastChild): ditto
24318 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
24319 (WebCore::Node::focused): focus is in rareData if set
24320 (WebCore::Node::childTypeAllowed):
24321 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
24322 (WebCore::Node::childNode): ditto
24323 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
24324 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
24325 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
24326 (WebCore::NodeRareData::NodeRareData):
24327 (WebCore::NodeRareData::rareDataMap):
24328 (WebCore::NodeRareData::rareDataFromMap):
24329 (WebCore::NodeRareData::clearNodeLists):
24330 (WebCore::NodeRareData::setNodeLists):
24331 (WebCore::NodeRareData::nodeLists):
24332 (WebCore::NodeRareData::tabIndex):
24333 (WebCore::NodeRareData::setTabIndex):
24334 (WebCore::NodeRareData::tabIndexSetExplicitly):
24335 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
24336 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
24337
zecke@webkit.orge1370432008-09-26 01:47:30 +0000243382008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
24339
24340 Reviewed by Simon Hausmann.
24341
zecke@webkit.org9ea87f62008-09-26 01:54:04 +000024342 [qt] ImageBuffer::toDataURL implementation
24343
24344 There needs to be a Qt specific test result for the above mentioned
24345 implementation.
24346
24347 * platform/graphics/qt/ImageBufferQt.cpp:
24348 (WebCore::ImageBuffer::toDataURL):
24349
243502008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
24351
24352 Reviewed by Simon Hausmann.
24353
zecke@webkit.orge1370432008-09-26 01:47:30 +000024354 [qt] Implement SharedBuffer for Qt.
24355
24356 * WebCore.pro:
24357 * platform/qt/SharedBufferQt.cpp: Added.
24358 (WebCore::SharedBuffer::createWithContentsOfFile):
24359 * platform/qt/TemporaryLinkStubs.cpp:
24360
ddkilzer@apple.com91eae552008-09-26 00:53:18 +0000243612008-09-25 Feng Qian <feng@chromium.org>
24362
24363 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
24364 <rdar://problem/6243032>
24365
24366 Reviewed by Dave Hyatt.
24367
24368 Test: fast/dom/attribute-downcast-right.html
24369
24370 Add isMappedAttribute function to Attribute for checking if an object
24371 is an instance of MappedAttribute. Removed attributeItem,
24372 getAttributeItem functions from NamedMappedAttrMap, and callers
24373 expecting MappedAttribute have to check isMappedAttribute before
24374 downcasting the return value to MappedAttribute.
24375
24376 * css/CSSStyleSelector.cpp:
24377 (WebCore::CSSStyleSelector::styleForElement):
24378 * dom/Attribute.h:
24379 (WebCore::Attribute::isMappedAttribute):
24380 * dom/MappedAttribute.h:
24381 (WebCore::MappedAttribute::isMappedAttribute):
24382 * dom/NamedMappedAttrMap.cpp:
24383 (WebCore::NamedMappedAttrMap::declCount):
24384 (WebCore::NamedMappedAttrMap::mapsEquivalent):
24385 * dom/NamedMappedAttrMap.h:
24386 * dom/StyledElement.cpp:
24387 (WebCore::StyledElement::attributeChanged):
24388 * html/HTMLInputElement.cpp:
24389 (WebCore::HTMLInputElement::setInputType):
24390 * svg/SVGForeignObjectElement.cpp:
24391 (WebCore::addCSSPropertyAndNotifyAttributeMap):
24392 * svg/SVGStyledElement.cpp:
24393 (WebCore::SVGStyledElement::getPresentationAttribute):
24394
hyatt@apple.com79be62c2008-09-25 22:25:22 +0000243952008-09-25 David Hyatt <hyatt@apple.com>
24396
24397 https://bugs.webkit.org/show_bug.cgi?id=21120
24398
24399 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
24400 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
24401 didn't want to mix that change in with this patch).
24402
24403 Reviewed by Sam Weinig
24404
24405 * page/Frame.cpp:
24406 (WebCore::Frame::markAllMatchesForText):
24407 * page/FrameView.cpp:
24408 (WebCore::FrameView::repaintContentRectangle):
24409 (WebCore::FrameView::windowClipRect):
24410 (WebCore::FrameView::updateControlTints):
24411 * platform/ScrollView.cpp:
24412 (WebCore::ScrollView::visibleContentRect):
24413 (WebCore::ScrollView::platformVisibleContentRect):
24414 * platform/ScrollView.h:
24415 (WebCore::ScrollView::visibleWidth):
24416 (WebCore::ScrollView::visibleHeight):
24417 * platform/gtk/ScrollViewGtk.cpp:
24418 (WebCore::ScrollView::horizontalScrollbar):
24419 (WebCore::ScrollView::verticalScrollbar):
24420 * platform/mac/ScrollViewMac.mm:
24421 (WebCore::ScrollView::horizontalScrollbar):
24422 (WebCore::ScrollView::verticalScrollbar):
24423 (WebCore::ScrollView::platformVisibleContentRect):
24424 * platform/qt/ScrollViewQt.cpp:
24425 (WebCore::ScrollView::horizontalScrollbar):
24426 (WebCore::ScrollView::verticalScrollbar):
24427 * platform/win/ScrollViewWin.cpp:
24428 (WebCore::ScrollView::horizontalScrollbar):
24429 (WebCore::ScrollView::verticalScrollbar):
24430 * platform/wx/ScrollViewWx.cpp:
24431 (WebCore::ScrollView::platformVisibleContentRect):
24432 (WebCore::ScrollView::horizontalScrollbar):
24433 (WebCore::ScrollView::verticalScrollbar):
24434 * rendering/RenderLayer.cpp:
24435 (WebCore::RenderLayer::scrollRectToVisible):
24436 (WebCore::frameVisibleRect):
24437 * rendering/RenderView.cpp:
24438 (WebCore::RenderView::viewRect):
24439
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +0000244402008-09-25 David Smith <catfish.man@gmail.com>
24441
24442 Reviewed by Timothy Hatcher
24443
24444 https://bugs.webkit.org/show_bug.cgi?id=21052
24445 Generalize id selector special case for querySelectorAll
24446
24447 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
24448 Changes results on http://native.khan.mozilla.org
24449 from
24450 #title: 2ms
24451 h1#title: 55ms
24452 div #title: 55ms
24453
24454 to:
24455 #title: 1ms
24456 h1#title: 2ms
24457 div #title: 5ms
24458
24459 * dom/Node.cpp:
24460 (WebCore::Node::querySelector):
24461 * dom/SelectorNodeList.cpp:
24462 (WebCore::createSelectorNodeList):
24463
hyatt@apple.com64a3be22008-09-25 20:49:17 +0000244642008-09-25 David Hyatt <hyatt@apple.com>
24465
24466 https://bugs.webkit.org/show_bug.cgi?id=21118
24467
24468 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
24469
24470 Reviewed by Sam Weinig
24471
24472 * page/FrameView.cpp:
24473 (WebCore::FrameView::clear):
24474 (WebCore::FrameView::layout):
24475 (WebCore::FrameView::setUseSlowRepaints):
24476 (WebCore::FrameView::addSlowRepaintObject):
24477 (WebCore::FrameView::removeSlowRepaintObject):
24478 * platform/ScrollView.cpp:
24479 (WebCore::ScrollView::init):
24480 (WebCore::ScrollView::addChild):
24481 (WebCore::ScrollView::removeChild):
24482 (WebCore::ScrollView::setCanBlitOnScroll):
24483 * platform/ScrollView.h:
24484 (WebCore::ScrollView::canBlitOnScroll):
24485 * platform/gtk/ScrollViewGtk.cpp:
24486 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
24487 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
24488 (WebCore::ScrollView::ScrollView):
24489 * platform/mac/ScrollViewMac.mm:
24490 (WebCore::ScrollView::ScrollView):
24491 (WebCore::ScrollView::platformAddChild):
24492 (WebCore::ScrollView::platformRemoveChild):
24493 (WebCore::ScrollView::platformSetCanBlitOnScroll):
24494 * platform/qt/ScrollViewQt.cpp:
24495 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
24496 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
24497 (WebCore::ScrollView::ScrollView):
24498 * platform/win/ScrollViewWin.cpp:
24499 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
24500 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
24501 (WebCore::ScrollView::ScrollView):
24502 * platform/wx/ScrollViewWx.cpp:
24503 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
24504 (WebCore::ScrollView::ScrollView):
24505 (WebCore::ScrollView::scrollBy):
24506
kmccullough@apple.com03b515b2008-09-25 20:29:57 +0000245072008-09-25 Kevin McCullough <kmccullough@apple.com>
24508
24509 Reviewed by Tim Hatcher.
24510
24511 Bug 21109: Console should right-align urls
24512
24513 * page/inspector/Console.js: Re-order the message elements so that when
24514 it overflows it doesn't get mixed in with the next message.
24515 * page/inspector/inspector.css:
24516
hyatt@apple.com95d18752008-09-25 20:15:44 +0000245172008-09-25 David Hyatt <hyatt@apple.com>
24518
24519 https://bugs.webkit.org/show_bug.cgi?id=21113
24520
24521 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
24522
24523 Reviewed by Darin Adler
24524
24525 * css/CSSImportRule.cpp:
24526 (WebCore::CSSImportRule::insertedIntoParent):
24527 * css/CSSRule.cpp:
24528 (WebCore::CSSRule::parentStyleSheet):
24529 (WebCore::CSSRule::parentRule):
24530 * css/CSSStyleSheet.cpp:
24531 (WebCore::CSSStyleSheet::CSSStyleSheet):
24532 * css/CSSStyleSheet.h:
24533
darin@apple.com6ca04432008-09-25 20:02:11 +0000245342008-09-25 Darin Adler <darin@apple.com>
24535
24536 Reviewed by Adele Peterson.
24537
24538 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
24539 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
24540 bundled documents
24541
24542 * html/HTMLFormElement.cpp:
24543 (WebCore::HTMLFormElement::formData): Use files() instead of value()
24544 to get the path, since value() now returns just the basename.
24545
beidson@apple.comb9a40052008-09-25 18:37:09 +0000245462008-09-25 Brady Eidson <beidson@apple.com>
24547
24548 Rubberstamped by Mark Rowe
24549
24550 Roll out 36771 as it caused <rdar://problem/6246554>
24551 "nytimes.com doesn't display after returning to it with back/forward"
24552
24553 * css/CSSImportRule.cpp:
24554 (WebCore::CSSImportRule::insertedIntoParent):
24555 * css/CSSRule.cpp:
24556 (WebCore::CSSRule::parentStyleSheet):
24557 (WebCore::CSSRule::parentRule):
24558 * css/CSSStyleSheet.cpp:
24559 (WebCore::CSSStyleSheet::CSSStyleSheet):
24560 (WebCore::CSSStyleSheet::docLoader):
24561 * css/CSSStyleSheet.h:
24562 (WebCore::CSSStyleSheet::doc):
24563
aroben@apple.comdf5a7322008-09-25 17:47:15 +0000245642008-09-25 Adam Roben <aroben@apple.com>
24565
24566 Windows build fix
24567
24568 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
24569
mitz@apple.com0565bc92008-09-25 17:27:37 +0000245702008-09-25 Dan Bernstein <mitz@apple.com>
24571
24572 - Windows build fix
24573
24574 * platform/win/ScrollViewWin.cpp:
24575 (WebCore::ScrollView::addChildPlatformWidget):
24576 (WebCore::ScrollView::removeChildPlatformWidget):
24577
timothy@apple.com7a4bf192008-09-25 17:07:43 +0000245782008-09-25 Timothy Hatcher <timothy@apple.com>
24579
24580 Fixes a leak of ConsoleMessage seen when repeated console
24581 messages occur.
24582
24583 Reviewed by Mark Rowe.
24584
24585 * page/InspectorController.cpp:
24586 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
24587 since we don't add it to m_consoleMessages.
24588
kmccullough@apple.com340e7272008-09-25 16:04:20 +0000245892008-09-25 Kevin McCullough <kmccullough@apple.com>
24590
kmccullough@apple.com364f2992008-09-25 16:48:34 +000024591 Reviewed by Dan Bernstein.
24592
24593 Bug 21105: XHRs logged in the console may show the wrong URL for the
24594 source
24595 - Get the url at the time of the send() and pass it on to the XHR.
24596
24597 * bindings/js/JSXMLHttpRequestCustom.cpp:
24598 (WebCore::JSXMLHttpRequest::send):
24599 * xml/XMLHttpRequest.cpp:
24600 (WebCore::XMLHttpRequest::didFinishLoading):
24601 * xml/XMLHttpRequest.h:
24602 (WebCore::XMLHttpRequest::setLastSendURL):
24603
246042008-09-25 Kevin McCullough <kmccullough@apple.com>
24605
kmccullough@apple.com340e7272008-09-25 16:04:20 +000024606 Reviewed by Geoff and Tim.
24607
24608 Bug 20322: XHRs logged in the console do not have line numbers
24609 - Get the line number at the time of the send and pass it on to the XHR.
24610
24611 * bindings/js/JSXMLHttpRequestCustom.cpp:
24612 (WebCore::JSXMLHttpRequest::send):
24613 * xml/XMLHttpRequest.cpp:
24614 (WebCore::XMLHttpRequest::XMLHttpRequest):
24615 (WebCore::XMLHttpRequest::didFinishLoading):
24616 * xml/XMLHttpRequest.h:
24617 (WebCore::XMLHttpRequest::setLastSendLineNumber):
24618
eric.carlson@apple.comb9404142008-09-25 15:33:02 +0000246192008-09-25 Eric Carlson <eric.carlson@apple.com>
24620
24621 Reviewed by Eric Seidel.
24622
24623 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
24624 https://bugs.webkit.org/show_bug.cgi?id=21003
24625
24626 * dom/EventNames.h: remove "begin" event
24627 * html/HTMLMediaElement.cpp:
24628 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
24629
ap@webkit.orgcdec56d2008-09-25 11:30:02 +0000246302008-09-25 Alexey Proskuryakov <ap@webkit.org>
24631
24632 Reviewed by Eric Seidel.
24633
24634 https://bugs.webkit.org/show_bug.cgi?id=21097
24635 Calling a MessageChannel constructor from a destroyed document results in a crash
24636
24637 Test: fast/events/message-port-constructor-for-deleted-document.html
24638
24639 * bindings/js/JSMessageChannelConstructor.cpp:
24640 (WebCore::JSMessageChannelConstructor::construct):
24641 * bindings/js/JSMessageChannelConstructor.h:
24642 Made m_document a RefPtr.
24643
ap@webkit.org28b51752008-09-25 10:15:11 +0000246442008-09-24 Alexey Proskuryakov <ap@webkit.org>
24645
24646 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
24647
24648 https://bugs.webkit.org/show_bug.cgi?id=20879
24649 Implement HTML5 channel messaging
24650
24651 Tests: fast/events/message-channel-gc.html
24652 fast/events/message-port-deleted-document.html
24653 fast/events/message-port-deleted-frame.html
24654 fast/events/message-port-inactive-document.html
24655 fast/events/message-port.html
24656 http/tests/security/MessagePort/event-listener-context.html
24657
24658 * Configurations/WebCore.xcconfig:
24659 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
24660
24661 * DerivedSources.make:
24662 Added MessageChannel and MessagePort.
24663
24664 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
24665 turmed off anyway. Added new files.
24666
24667 * GNUmakefile.am:
24668 * WebCore.pro:
24669 * WebCore.vcproj/WebCore.vcproj:
24670 * WebCore.xcodeproj/project.pbxproj:
24671 * WebCoreSources.bkl:
24672 Added new files.
24673
24674 * bindings/js/JSDOMWindowBase.h:
24675 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
24676 Added suport for window.MessageChannel constructor.
24677
24678 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
24679 * page/DOMWindow.cpp:
24680 (WebCore::DOMWindow::postMessage):
24681 * page/DOMWindow.h:
24682 * page/DOMWindow.idl:
24683 Added support for three-argument postMessage (that posts a MessagePort).
24684
24685 * dom/EventTarget.cpp:
24686 (WebCore::EventTarget::toMessagePort):
24687 * dom/EventTarget.h:
24688 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
24689 EventTarget variant.
24690
24691 * bindings/js/JSMessageChannelConstructor.h:
24692 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
24693 take a browsing context (document) parameter.
24694
24695 * bindings/js/JSMessageChannelCustom.cpp: Added.
24696 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
24697 port1 and port2 that it owns.
24698
24699 * bindings/js/JSMessagePortCustom.cpp: Added.
24700 (WebCore::JSMessagePort::startConversation):
24701 (WebCore::JSMessagePort::addEventListener):
24702 (WebCore::JSMessagePort::removeEventListener):
24703 (WebCore::JSMessagePort::dispatchEvent):
24704 (WebCore::JSMessagePort::setOnmessage):
24705 (WebCore::JSMessagePort::onmessage):
24706 (WebCore::JSMessagePort::setOnclose):
24707 (WebCore::JSMessagePort::onclose):
24708 (WebCore::JSMessagePort::mark):
24709 * dom/MessagePort.cpp: Added.
24710 * dom/MessagePort.h: Added.
24711 * dom/MessagePort.idl: Added.
24712 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
24713 with Documents as contexts, but in the future, it will be used for communication with worker
24714 threads.
24715
24716 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
24717 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
24718 needed for MessageEvent.
24719
24720 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
24721
24722 * dom/Document.cpp:
24723 (WebCore::MessagePortTimer::MessagePortTimer):
24724 (WebCore::MessagePortTimer::fired):
24725 (WebCore::Document::processMessagePortMessagesSoon):
24726 (WebCore::Document::~Document):
24727 (WebCore::Document::dispatchMessagePortEvents):
24728 (WebCore::Document::createdMessagePort):
24729 (WebCore::Document::destroyedMessagePort):
24730 * dom/Document.h:
24731 Document keeps track of all MessagePort objects that were created when it was fully active
24732 in its context.
24733
24734 * dom/EventNames.h: Added closeEvent.
24735
24736 * dom/MessageChannel.cpp: Added.
24737 (WebCore::MessageChannel::MessageChannel):
24738 (WebCore::MessageChannel::~MessageChannel):
24739 * dom/MessageChannel.h: Added.
24740 (WebCore::MessageChannel::create):
24741 (WebCore::MessageChannel::port1):
24742 (WebCore::MessageChannel::port2):
24743 * dom/MessageChannel.idl: Added.
24744 Addded JSMessageChannel implementation.
24745
24746 * dom/MessageEvent.cpp:
24747 (WebCore::MessageEvent::MessageEvent):
24748 (WebCore::MessageEvent::initMessageEvent):
24749 * dom/MessageEvent.h:
24750 (WebCore::MessageEvent::create):
24751 (WebCore::MessageEvent::messagePort):
24752 * dom/MessageEvent.idl:
24753 MessageEvent has a MessagePort member now, making it possible to pass ports across
24754 documents.
24755
dsmith@webkit.org3e32f422008-09-25 08:57:31 +0000247562008-09-25 David Smith <catfish.man@gmail.com>
24757
24758 Reviewed by Eric Seidel
24759
24760 fix https://bugs.webkit.org/show_bug.cgi?id=21091
24761 Regression: querySelector matches tag names case sensitively
24762
24763 Tests: fast/dom/SelectorAPI/caseTag.html
24764 fast/dom/SelectorAPI/caseTagX.xhtml
24765
24766 * css/CSSParser.cpp:
24767 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
24768 * css/CSSParser.h:
24769 * dom/Node.cpp:
24770 (WebCore::Node::querySelector):
24771 (WebCore::Node::querySelectorAll):
24772
hyatt@apple.com912c1b12008-09-25 07:38:56 +0000247732008-09-24 David Hyatt <hyatt@apple.com>
24774
24775 https://bugs.webkit.org/show_bug.cgi?id=21084
24776
24777 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
24778 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
24779
24780 Reviewed by Sam Weinig
24781
24782 * GNUmakefile.am:
24783 * WebCore.pro:
24784 * WebCore.vcproj/WebCore.vcproj:
24785 * WebCore.xcodeproj/project.pbxproj:
24786 * WebCoreSources.bkl:
24787 * platform/ScrollView.h:
24788 (WebCore::ScrollView::children):
24789 * platform/Widget.h:
24790 * platform/gtk/ScrollViewGtk.cpp:
24791 (WebCore::ScrollView::addChildPlatformWidget):
24792 (WebCore::ScrollView::removeChildPlatformWidget):
24793 (WebCore::ScrollView::geometryChanged):
24794 * platform/mac/ScrollViewMac.mm:
24795 (WebCore::ScrollView::addChildPlatformWidget):
24796 (WebCore::ScrollView::removeChildPlatformWidget):
24797 * platform/qt/ScrollViewQt.cpp:
24798 (WebCore::ScrollView::geometryChanged):
24799 (WebCore::ScrollView::addChildPlatformWidget):
24800 (WebCore::ScrollView::removeChildPlatformWidget):
24801 * platform/win/ScrollViewWin.cpp:
24802 (WebCore::ScrollView::geometryChanged):
24803 (WebCore::ScrollView::setParentVisible):
24804 (WebCore::ScrollView::show):
24805 (WebCore::ScrollView::hide):
24806 * platform/wx/ScrollViewWx.cpp:
24807 (WebCore::ScrollView::addChildPlatformWidget):
24808 (WebCore::ScrollView::removeChildPlatformWidget):
24809
mitz@apple.com982d2cc2008-09-25 07:16:05 +0000248102008-09-25 Dan Bernstein <mitz@apple.com>
24811
24812 Reviewed by Dave Hyatt.
24813
24814 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
24815 <rdar://problem/6240821> Scrollbar not painted until hovered
24816
24817 * rendering/RenderWidget.cpp:
24818 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
24819 this method, which sets both the location and the size.
24820 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
24821 with a call to the new method setWidgetGeometry. Positioning the
24822 widget correctly ensures that the scroll bars invalidate correctly when
24823 they are created and resized.
24824 * rendering/RenderWidget.h:
24825
mitz@apple.com61969a62008-09-25 00:50:05 +0000248262008-09-24 Dan Bernstein <mitz@apple.com>
24827
24828 Rubber-stamped by Sam Weinig.
24829
24830 - create a "style" subfolder under "rendering" and move style files to that folder
24831
24832 * WebCore.vcproj/WebCore.vcproj:
24833
weinig@apple.comacfb9e12008-09-25 00:39:11 +0000248342008-09-24 Sam Weinig <sam@webkit.org>
24835
24836 Reviewed by Maciej Stachowiak.
24837
24838 Remove staticFunctionGetter. There is only one remaining user of
24839 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
24840
24841 * bindings/js/JSDOMWindowBase.cpp:
24842 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
24843
mitz@apple.com0cb3dff2008-09-24 23:40:29 +0000248442008-09-24 Jeremy Moskovich <jeremy@chromium.org>
24845
24846 Reviewed by Dan Bernstein.
24847
24848 Test: editing/spelling/inline_spelling_markers.html
24849
24850 - https://bugs.webkit.org/show_bug.cgi?id=20092
24851 Spelling markers positioned incorrectly in RTL text
24852
24853 Measure spelling markers with selectionRectForText() to fix RTL.
24854
24855 This patch also fixes hit-testing for spelling marker tool tips,
24856 which used to work only on the first line.
24857
24858 * rendering/InlineTextBox.cpp:
24859 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
24860
hyatt@apple.come5925322008-09-24 21:28:08 +0000248612008-09-24 David Hyatt <hyatt@apple.com>
24862
hyatt@apple.com31cd6d62008-09-24 21:45:19 +000024863 https://bugs.webkit.org/show_bug.cgi?id=21074
24864
hyatt@apple.come5925322008-09-24 21:28:08 +000024865 Make sure the viewless scrollbar knows how to paint properly when transformed.
24866
24867 Reviewed by Sam Weinig
24868
24869 * platform/mac/ScrollbarThemeMac.mm:
24870 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
24871 (WebCore::ScrollbarThemeMac::paint):
24872
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +0000248732008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
24874
24875 Not reviewed. Try to fix win build.
24876
24877 * bindings/js/JSSVGElementInstanceCustom.cpp:
24878 (WebCore::toJS):
24879 * dom/ContainerNodeAlgorithms.h:
24880 (WebCore::removeAllChildrenInContainer):
24881 (WebCore::appendChildToContainer):
24882 (WebCore::Private::addChildNodesToDeletionQueue):
24883
248842008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
24885
24886 Reviewed by Oliver.
24887
24888 Add ContainerNodeAlgorithms.h, as central place to share algorithms
24889 operating on TreeShared-derived classes with a Node-style interface.
24890
24891 This allows SVGElementInstance & ContainerNode to share code.
24892
24893 * dom/ContainerNode.cpp:
24894 (WebCore::ContainerNode::removeAllChildren):
24895 (WebCore::ContainerNode::addChild):
24896 * dom/ContainerNode.h:
24897 * dom/ContainerNodeAlgorithms.h: Added.
24898 (WebCore::removeAllChildrenInContainer):
24899 (WebCore::appendChildToContainer):
24900 (WebCore::Private::NodeRemovalDispatcher::dispatch):
24901 (WebCore::Private::addChildNodesToDeletionQueue):
24902
simon.fraser@apple.com557a0472008-09-24 21:08:23 +0000249032008-09-24 Simon Fraser <simon.fraser@apple.com>
24904
24905 Reviewed by Dave Hyatt
24906
24907 Wrap up dirtying the z-order list of the stacking context
24908 RenderLayer into a method.
24909 https://bugs.webkit.org/show_bug.cgi?id=21072
24910
24911 * rendering/RenderLayer.cpp:
24912 (WebCore::RenderLayer::setHasVisibleContent):
24913 (WebCore::RenderLayer::addChild):
24914 (WebCore::RenderLayer::removeChild):
24915 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
24916 (WebCore::RenderLayer::styleChanged):
24917 * rendering/RenderLayer.h:
24918 * rendering/RenderObject.cpp:
24919 (WebCore::RenderObject::setStyle):
24920
kmccullough@apple.comaf908e62008-09-24 20:22:23 +0000249212008-09-24 Kevin McCullough <kmccullough@apple.com>
24922
24923 Reviewed by Tim.
24924
24925 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
24926 or displayed multiple times
24927 - The Insepctor Controller was comparing JSValue pointers so thought the
24928 message was not a repeat, but the JS of the inspector compared the
24929 strings and so knew it was the same message and so overwrote the old
24930 message.
24931
24932 * page/InspectorController.cpp:
24933 (WebCore::ConsoleMessage::isEqual):
24934 (WebCore::InspectorController::addMessageToConsole):
24935 (WebCore::InspectorController::addConsoleMessage):
24936 (WebCore::InspectorController::startGroup):
24937 (WebCore::InspectorController::endGroup):
24938 * page/InspectorController.h:
24939
hyatt@apple.comf4c8f172008-09-24 20:19:26 +0000249402008-09-24 David Hyatt <hyatt@apple.com>
24941
24942 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
24943 arrow placement preference and the thumb jump preference).
24944
24945 Reviewed by Adam Roben
24946
24947 * platform/Scrollbar.cpp:
24948 (WebCore::Scrollbar::Scrollbar):
24949 (WebCore::Scrollbar::~Scrollbar):
24950 * platform/ScrollbarTheme.h:
24951 (WebCore::ScrollbarTheme::registerScrollbar):
24952 (WebCore::ScrollbarTheme::unregisterScrollbar):
24953 * platform/mac/ScrollbarThemeMac.h:
24954 * platform/mac/ScrollbarThemeMac.mm:
24955 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
24956 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
24957 (+[ScrollbarPrefsObserver registerAsObserver]):
24958 (WebCore::ScrollbarThemeMac::registerScrollbar):
24959 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
24960 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
24961 (WebCore::ScrollbarThemeMac::preferencesChanged):
24962
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +0000249632008-09-24 Rob Buis <buis@kde.org>
24964
24965 Reviewed by Darin.
24966
24967 https://bugs.webkit.org/show_bug.cgi?id=20557
24968 getScreenCTM() returns wrong values
24969
24970 Use the absolute position of the svg root when
24971 determining the screen ctm.
24972
24973 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
24974
24975 * svg/SVGSVGElement.cpp:
24976 (WebCore::SVGSVGElement::getScreenCTM):
24977
hyatt@apple.com40a73652008-09-24 18:15:15 +0000249782008-09-24 David Hyatt <hyatt@apple.com>
24979
hyatt@apple.come77b7d42008-09-24 18:26:51 +000024980 Turn off support for CSS variables.
24981
24982 * ChangeLog:
24983 * css/CSSParser.cpp:
24984 (WebCore::CSSParser::createVariablesRule):
24985 (WebCore::CSSParser::addVariable):
24986 (WebCore::CSSParser::addVariableDeclarationBlock):
24987
249882008-09-24 David Hyatt <hyatt@apple.com>
24989
hyatt@apple.com40a73652008-09-24 18:15:15 +000024990 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
24991
24992 * css/CSSGrammar.y:
24993 * css/CSSParserValues.cpp:
24994 (WebCore::CSSParserValue::isVariable):
24995 * css/CSSPrimitiveValue.cpp:
24996 (WebCore::CSSPrimitiveValue::cleanup):
24997 (WebCore::CSSPrimitiveValue::getStringValue):
24998 (WebCore::CSSPrimitiveValue::cssText):
24999 (WebCore::CSSPrimitiveValue::parserValue):
25000 * css/CSSPrimitiveValue.h:
25001 (WebCore::CSSPrimitiveValue::):
25002 (WebCore::CSSPrimitiveValue::isVariable):
25003
timothy@apple.com0214f092008-09-24 16:23:17 +0000250042008-09-24 Timothy Hatcher <timothy@apple.com>
25005
25006 Fixes a regression where the "incorrect MIME-type" warning would not
25007 show up correctly in the Console or the resources sidebar.
25008
25009 Reviewed by Kevin McCullough.
25010
25011 * page/inspector/Resource.js:
25012 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
25013 to the WebInspector.ConsoleMessage constructor call.
25014 (WebInspector.Resource.prototype._checkWarning): Ditto.
25015
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +0000250162008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
25017
25018 Reviewed by Simon.
25019
25020 Remove deprecated JS Qt bindings object call/construct code and fix autotests
25021
25022 * bridge/qt/qt_instance.cpp:
25023 (JSC::Bindings::QtInstance::QtInstance):
25024 * bridge/qt/qt_instance.h:
25025
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +0000250262008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
25027
25028 Reviewed by Alp Toker. Landed by Jan Alonzo.
25029
25030 Bug 20883: [CURL] Add deferred loading
25031 https://bugs.webkit.org/show_bug.cgi?id=20883
25032
25033 Implement deferred loading for the libcURL backend using curl_easy_pause.
25034 As the method was introduced in version 7.18.0, all the code checks for libcURL
25035 version.
25036
25037 * platform/network/curl/ResourceHandleCurl.cpp:
25038 (WebCore::ResourceHandle::setDefersLoading):
25039 * platform/network/curl/ResourceHandleManager.cpp:
25040 (WebCore::writeCallback): Add an assertion that deferred loading is not
25041 activated.
25042 (WebCore::headerCallback): Ditto.
25043 (WebCore::readCallback): Ditto.
25044 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
25045 defersLoading to be false in order to avoid triggering an assertion.
25046 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
25047 activated, pause the easy handle.
25048
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +0000250492008-09-23 Matt Lilek <webkit@mattlilek.com>
25050
25051 Reviewed by Tim Hatcher.
25052
25053 Inspector search field style tweaks.
25054
25055 * page/inspector/inspector.css:
25056
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +0000250572008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
25058
25059 Reviewed by Eric.
25060
25061 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
25062
25063 Fix missing negation in EventTargetNode::insertedIntoDocument.
25064 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
25065 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
25066
25067 * dom/EventTargetNode.cpp:
25068 (WebCore::EventTargetNode::insertedIntoDocument):
25069 (WebCore::EventTargetNode::dispatchGenericEvent):
25070 * dom/EventTargetNode.h:
25071
timothy@apple.combffde042008-09-24 02:07:39 +0000250722008-09-23 Timothy Hatcher <timothy@apple.com>
25073
timothy@apple.com99c03532008-09-24 02:08:44 +000025074 Adds search support to the Profiles panel.
25075
25076 The Profiles panel supports a few types of queries:
25077 * Standard string matching for function names and file URLs.
25078 * Greater than and less than search for numeric columns.
25079 So a query of ">24" will match all rows that have calls
25080 greater than 24. Or "<=42" will match all 42 or less.
25081 * Percent and time units. Adding a unit of "s", "ms" or "%"
25082 is supported and will match only the Self and Total columns.
25083 So a query of ">1.25s" will match all rows that took longer
25084 than 1.25 seconds.
25085
25086 Reviewed by Oliver Hunt.
25087
25088 * page/inspector/ProfileView.js:
25089 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
25090 it will start at the first result.
25091 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
25092 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
25093 data grid nodes.
25094 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
25095 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
25096 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
25097 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
25098 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
25099 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
25100 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
25101 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
25102 Expand all the ancestors first so the profile node will have a DataGridNode.
25103 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
25104 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
25105 have search matches.
25106 * page/inspector/ProfilesPanel.js:
25107 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
25108 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
25109 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
25110 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
25111 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
25112 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
25113 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
25114 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
25115 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
25116 * page/inspector/inspector.css: New style rules for the cell highlight color.
25117
251182008-09-23 Timothy Hatcher <timothy@apple.com>
25119
timothy@apple.com33c28442008-09-24 02:08:39 +000025120 Adds search support to the Resources and Scripts panels.
25121
25122 https://bugs.webkit.org/show_bug.cgi?id=21005
25123
25124 Reviewed by Oliver Hunt.
25125
25126 * page/inspector/Images/searchSmallBlue.png: Added.
25127 * page/inspector/Images/searchSmallBrightBlue.png: Added.
25128 * page/inspector/Images/searchSmallGray.png: Added.
25129 * page/inspector/Images/searchSmallWhite.png: Added.
25130 * page/inspector/ResourceView.js:
25131 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
25132 or "script-resource-views" since one might not be created yet.
25133 * page/inspector/ResourcesPanel.js:
25134 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
25135 are not this panel's current visible view. This can happen when a ResourceView is
25136 visible in the Scripts panel then switched to the this panel.
25137 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
25138 visibleView first.
25139 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
25140 that uses the current graph search function. So cycling through results will be in the order
25141 things appear in the sidebar.
25142 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
25143 resource's sidebar tree element.
25144 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
25145 in the sidebar. Calls the Panel prototype's searchCanceled.
25146 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
25147 in the sidebar. Calls the Panel prototype's performSearch.
25148 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
25149 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
25150 if there is a current search query.
25151 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
25152 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
25153 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
25154 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
25155 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
25156 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
25157 * page/inspector/ScriptView.js:
25158 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
25159 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
25160 it will start at the first result.
25161 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
25162 highlighting complete".
25163 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
25164 * page/inspector/ScriptsPanel.js:
25165 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
25166 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
25167 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
25168 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
25169 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
25170 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
25171 * page/inspector/SourceFrame.js:
25172 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
25173 * page/inspector/SourceView.js:
25174 (WebInspector.SourceView.prototype.hide):
25175 (WebInspector.SourceView.prototype.detach):
25176 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
25177 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
25178 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
25179 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
25180 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
25181 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
25182 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
25183 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
25184 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
25185 (WebInspector.SourceView.prototype.showingFirstSearchResult):
25186 (WebInspector.SourceView.prototype.showingLastSearchResult):
25187 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
25188 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
25189 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
25190 * page/inspector/inspector.css:
25191
251922008-09-23 Timothy Hatcher <timothy@apple.com>
25193
timothy@apple.com18950ed2008-09-24 02:08:32 +000025194 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
25195 so future code can be shared.
25196
25197 https://bugs.webkit.org/show_bug.cgi?id=21005
25198
25199 Reviewed by Oliver Hunt.
25200
25201 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
25202 And visibleResourceView to visibleView.
25203 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
25204
252052008-09-23 Timothy Hatcher <timothy@apple.com>
25206
timothy@apple.comcb23f4a2008-09-24 02:08:27 +000025207 Highlight all matched search results in the Elements panel DOM tree.
25208
25209 https://bugs.webkit.org/show_bug.cgi?id=21005
25210
25211 Reviewed by Oliver Hunt.
25212
25213 * page/inspector/ElementsPanel.js:
25214 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
25215 on all previous search results.
25216 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
25217 on all new search results.
25218 * page/inspector/ElementsTreeOutline.js:
25219 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
25220 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
25221 the highlighted class on the listItemElement.
25222 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
25223 if needed. Calls _updateTitle.
25224 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
25225 class so it can be styled when the highlighted class is present.
25226 * page/inspector/inspector.css: New style rules for the hihglight.
25227
252282008-09-23 Timothy Hatcher <timothy@apple.com>
25229
timothy@apple.com574c0522008-09-24 02:08:19 +000025230 Add search support to the Elements panel.
25231
25232 https://bugs.webkit.org/show_bug.cgi?id=21005
25233
25234 Reviewed by Oliver Hunt.
25235
25236 * page/inspector/ElementsPanel.js:
25237 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
25238 with a 0 match count to rest. Reset the other search properties.
25239 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
25240 query and a CSS selector on all the Documents in the page. Remembers the found nodes
25241 and avoids duplicates. Focuses the first result.
25242 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
25243 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
25244
252452008-09-23 Timothy Hatcher <timothy@apple.com>
25246
timothy@apple.com82d233c2008-09-24 02:08:15 +000025247 Add support to Panel that allows easy searching of sub-views.
25248
25249 https://bugs.webkit.org/show_bug.cgi?id=21005
25250
25251 Reviewed by Oliver Hunt.
25252
25253 * page/inspector/Panel.js:
25254 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
25255 views in the search results and delete the currentQuery property. Call
25256 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
25257 other search properties.
25258 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
25259 reset everything we need before doing a new search. Get an array of searchableViews
25260 from the panel, implemented by sub-classes. Iterate over the views one-by-one
25261 with an interval to prevent blocking the UI for large lists of searchableViews.
25262 This keeps the interface really responsive. Pass a finishedCallback function to
25263 the performSearch on each view so it can notify the panel of results.
25264 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
25265 searchResults of the visibleView, so we know where in the results we are.
25266 This is done every time incase the user manually navigates to a new view.
25267 If the view is showing the last result, jump to the next view and show it's
25268 first result. Otherwise jump to the next result in the current view.
25269 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
25270
252712008-09-23 Timothy Hatcher <timothy@apple.com>
25272
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +000025273 Add support for asking the current panel to perform a search, find next/previous and clear.
25274 A search is performed on the new new current panel when switching between panels. The search
25275 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
25276 be searched. The search field contents are selected when Command/Control-F or Enter/Return
25277 is pressed, so the user can easily type an entirely new query. The search match count shows
25278 up in the toolbar next to the search field.
25279
25280 Also changed:
25281 * Rename lastQuery to currentQuery since it better matches the truth.
25282 * Set the search field "results" attribute to zero since results arn't saved for
25283 how we use the search field.
25284 * Make repeated presses of the Return key jump to the next search result instead
25285 of doing nothing.
25286 * Increased the search field width.
25287
25288 https://bugs.webkit.org/show_bug.cgi?id=21005
25289
25290 Reviewed by Oliver Hunt.
25291
25292 * English.lproj/localizedStrings.js: New strings.
25293 * page/inspector/inspector.css: New styles.
25294 * page/inspector/inspector.html: Add the search-results-matches element. Add the
25295 incremental attribute to the search field and set the results attribute to zero.
25296 * page/inspector/inspector.js:
25297 (WebInspector.set currentPanel): perform the search on the new panel.
25298 (WebInspector.loaded): Change the event listeners and remove code that changes
25299 the search label text.
25300 (WebInspector.documentKeyDown): Add support for Command/Control-G and
25301 Command/Control-Shift-G. To jump to the next and previous search results.
25302 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
25303 This does different things depending on the attached state.
25304 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
25305 This prevents a "search" event from firing for key down. We handle the Enter key
25306 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
25307 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
25308 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
25309 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
25310 Call updateSearchMatchesCount to reset the matches count in the toolbar.
25311 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
25312
253132008-09-23 Timothy Hatcher <timothy@apple.com>
25314
timothy@apple.com1d5227a2008-09-24 02:08:01 +000025315 Remove the previous Inspector search code to make room for the new stuff.
25316
25317 https://bugs.webkit.org/show_bug.cgi?id=21005
25318
25319 Reviewed by Oliver Hunt.
25320
25321 * page/inspector/inspector.css:
25322 * page/inspector/inspector.html:
25323 * page/inspector/inspector.js:
25324 (WebInspector.get/set showingSearchResults): Removed.
25325 (WebInspector.searchResultsKeyDown): Removed.
25326 (WebInspector.searchResultsResizerDragStart): Removed.
25327 (WebInspector.searchResultsResizerDragEnd): Removed.
25328 (WebInspector.searchResultsResizerDrag): Removed.
25329 (WebInspector.performSearch): Removed searching parts.
25330
253312008-09-23 Timothy Hatcher <timothy@apple.com>
25332
timothy@apple.com5e915b722008-09-24 02:07:56 +000025333 Use the Array.remove helper function in more places.
25334
25335 https://bugs.webkit.org/show_bug.cgi?id=21037
25336
25337 Reviewed by Kevin McCullough.
25338
25339 * page/inspector/ResourceCategory.js:
25340 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
25341 * page/inspector/ResourcesPanel.js:
25342 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
25343 * page/inspector/inspector.js:
25344 (WebInspector.removeResource): Ditto.
25345
253462008-09-23 Timothy Hatcher <timothy@apple.com>
25347
timothy@apple.com3e116f12008-09-24 02:07:50 +000025348 Fixes a bug where inspecting a node after reloading the page
25349 would not reveal the node in the DOM tree. The TreeOutline
25350 was not being told to forget decendants of a removed child.
25351 So old TreeElements would be found that are not in the tree.
25352
25353 https://bugs.webkit.org/show_bug.cgi?id=21036
25354
25355 Reviewed by Kevin McCullough.
25356
25357 * page/inspector/treeoutline.js:
25358 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
25359 in addition to _forgetTreeElement.
25360 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
25361 in addition to _forgetTreeElement.
25362 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
25363 search for known elements.
25364 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
25365 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
25366 descendants and call _forgetTreeElement.
25367 * page/inspector/utilities.js:
25368 (Array.prototype.remove): Speed up this function by using Array.indexOf
25369 when onlyFirst is true.
25370
253712008-09-23 Timothy Hatcher <timothy@apple.com>
25372
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +000025373 Fixes a bug where inspecting some short text nodes does
25374 not reveal them in the Elements panel DOM tree.
25375
25376 https://bugs.webkit.org/show_bug.cgi?id=21035
25377
25378 Reviewed by Oliver Hunt.
25379
25380 * page/inspector/ElementsTreeOutline.js:
25381 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
25382 The revealAndSelectNode() method might find a different element
25383 if there is inlined text, and the select() call would change the
25384 focusedDOMNode and reenter this setter. So to avoid calling
25385 focusedNodeChanged() twice, first check if _focusedDOMNode is
25386 the same node as the one passed in.
25387 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
25388 this.treeOutline, since this is the TreeOutline.
25389 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
25390 Provides default functions for isAncestor, getParet and equal.
25391 Calls the base protoype's findTreeElement. If that returns null
25392 and the node is a text node, try finding it's parent.
25393 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
25394 Renamed to revealAndSelectNode.
25395 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
25396 Selects and reveals the node passed in. Use the simple findTreeElement.
25397 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
25398 Remove use of this.treeOutline, since this is the TreeOutline.
25399
254002008-09-23 Timothy Hatcher <timothy@apple.com>
25401
timothy@apple.combffde042008-09-24 02:07:39 +000025402 Fixes an exception that happened when removing a Resource
25403 from the ResourcesPanel.
25404
25405 https://bugs.webkit.org/show_bug.cgi?id=21034
25406
25407 Reviewed by Kevin McCullough.
25408
25409 * page/inspector/ResourcesPanel.js:
25410 (WebInspctor.ResourcesPanel.prototype.removeResource):
25411 Remove the graphElement.
25412
kmccullough@apple.com70d32f22008-09-24 01:18:31 +0000254132008-09-23 Kevin McCullough <kmccullough@apple.com>
25414
25415 Fixed "Time" to "Tim"
25416
25417 * ChangeLog:
25418
zimmermann@webkit.org718a2232008-09-24 01:00:42 +0000254192008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
25420
25421 Reviewed by Oliver.
25422
25423 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
25424 from SVGDocumentExtensions to SVGElement. It's more useful to store
25425 the list of SVGElementInstances per SVGElement, instead of using
25426 a document-wide hash for this purpose.
25427
25428 * svg/SVGAnimateMotionElement.cpp:
25429 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
25430 * svg/SVGAnimateTransformElement.cpp:
25431 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
25432 * svg/SVGAnimationElement.cpp:
25433 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
25434 * svg/SVGDocumentExtensions.cpp:
25435 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
25436 * svg/SVGDocumentExtensions.h:
25437 * svg/SVGElement.cpp:
25438 (WebCore::SVGElement::mapInstanceToElement):
25439 (WebCore::SVGElement::removeInstanceMapping):
25440 (WebCore::SVGElement::instancesForElement):
25441 * svg/SVGElement.h:
25442 * svg/SVGElementInstance.cpp:
25443 (WebCore::SVGElementInstance::SVGElementInstance):
25444 (WebCore::SVGElementInstance::~SVGElementInstance):
25445 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
25446 * svg/SVGElementInstance.h:
25447 * svg/SVGStyledElement.cpp:
25448 (WebCore::SVGStyledElement::svgAttributeChanged):
25449 (WebCore::SVGStyledElement::childrenChanged):
25450 * svg/SVGStyledElement.h:
25451
kevino@webkit.org706ea432008-09-24 00:53:56 +0000254522008-09-23 Kevin Ollivier <kevino@theolliviers.com>
25453
25454 wx build fix.
25455
25456 * WebCoreSources.bkl:
25457
zimmermann@webkit.org97c71082008-09-24 00:23:28 +0000254582008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
25459
25460 Rubber stamped by Sam.
25461
25462 Move code from EventTarget to EventTargetNode.
25463
25464 I refactored most parts to live in EventTarget, a year ago,
25465 though the implementation of EventTargetSVGElementInstance is
25466 done in another way, that obsoletes this.
25467
25468 * dom/Document.cpp:
25469 (WebCore::Document::addListenerTypeIfNeeded):
25470 * dom/Document.h:
25471 * dom/EventTarget.cpp:
25472 * dom/EventTarget.h:
25473 (WebCore::allowEventDispatch):
25474 * dom/EventTargetNode.cpp:
25475 (WebCore::EventTargetNode::insertedIntoDocument):
25476 (WebCore::EventTargetNode::removedFromDocument):
25477 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
25478 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
25479 (WebCore::EventTargetNode::addEventListener):
25480 (WebCore::EventTargetNode::removeEventListener):
25481 (WebCore::EventTargetNode::removeAllEventListeners):
25482 (WebCore::EventTargetNode::handleLocalEvents):
25483 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
25484 (WebCore::EventTargetNode::dispatchEvent):
25485 (WebCore::EventTargetNode::dispatchGenericEvent):
25486 (WebCore::EventTargetNode::dispatchWindowEvent):
25487 (WebCore::EventTargetNode::removeEventListenerForType):
25488 * dom/EventTargetNode.h:
25489 * svg/EventTargetSVGElementInstance.cpp:
25490 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
25491 * svg/SVGElement.cpp:
25492 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
25493 * svg/SVGElement.h:
25494 (WebCore::SVGElement::supplementalTransform):
25495
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +0000254962008-09-23 Dave Hyatt <hyatt@apple.com>
25497
25498 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
25499 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
25500
25501 Reviewed by Sam Weinig
25502
25503 * platform/mac/ScrollbarThemeMac.mm:
25504 (WebCore::ScrollbarThemeMac::trackRect):
25505 * platform/win/ScrollbarThemeSafari.cpp:
25506 (WebCore::ScrollbarTheme::nativeTheme):
25507 (WebCore::ScrollbarThemeSafari::trackRect):
25508
bdakin@apple.comaab5d692008-09-24 00:09:33 +0000255092008-09-23 Beth Dakin <bdakin@apple.com>
25510
25511 Reviewed by Sam Weinig.
25512
25513 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
25514 link at gmail does not support AXPress action
25515 and corresponding: <rdar://problem/6216178>
25516
25517 I fixed this bug by making AccessibilityObject::anchorElement
25518 support ARIA links.
25519
25520 * page/AccessibilityImageMapLink.cpp:
25521 (WebCore::AccessibilityImageMapLink::anchorElement):
25522 * page/AccessibilityImageMapLink.h:
25523 * page/AccessibilityObject.cpp:
25524 (WebCore::AccessibilityObject::anchorElement):
25525 * page/AccessibilityObject.h:
25526 (WebCore::AccessibilityObject::isNativeAnchor):
25527 * page/AccessibilityRenderObject.cpp:
25528 (WebCore::AccessibilityRenderObject::isNativeAnchor):
25529 (WebCore::AccessibilityRenderObject::anchorElement):
25530 (WebCore::AccessibilityRenderObject::internalLinkElement):
25531 (WebCore::AccessibilityRenderObject::url):
25532 * page/AccessibilityRenderObject.h:
25533 * page/mac/AccessibilityObjectWrapper.mm:
25534 (AXLinkElementForNode):
25535
kmccullough@apple.com58f6b182008-09-24 00:05:34 +0000255362008-09-23 Kevin McCullough <kmccullough@apple.com>
25537
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000025538 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000025539
25540 Bug 20949: Catch repeated messages in Inspector Controller to limit
25541 memory usage
25542 - Store the repeat count in the Console Message object, in the
25543 Inspector Controller and JS ConsoleMessage object.
25544
25545 * page/InspectorController.cpp:
25546 (WebCore::ConsoleMessage::ConsoleMessage):
25547 (WebCore::ConsoleMessage::operator==):
25548 (WebCore::InspectorController::InspectorController):
25549 (WebCore::InspectorController::addConsoleMessage):
25550 (WebCore::InspectorController::addScriptConsoleMessage):
25551 * page/InspectorController.h:
25552 * page/inspector/Console.js:
25553 * page/inspector/Resource.js:
25554 * page/inspector/ResourcesPanel.js:
25555 * page/inspector/SourceFrame.js:
25556
zimmermann@webkit.org29d22032008-09-23 23:44:20 +0000255572008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
25558
25559 Reviewed by Eric.
25560
25561 Working on proper EventTarget support for SVGElementInstance.
25562
25563 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
25564 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
25565
25566 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
25567 implementation. Let it use TreeShared directly.
25568
25569 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
25570 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
25571
25572 * GNUmakefile.am:
25573 * WebCore.pro:
25574 * WebCore.vcproj/WebCore.vcproj:
25575 * WebCore.xcodeproj/project.pbxproj:
25576 * bindings/js/JSEventTargetBase.cpp:
25577 (WebCore::retrieveEventTargetAndCorrespondingNode):
25578 (WebCore::toJS):
25579 * bindings/js/JSEventTargetBase.h:
25580 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
25581 (WebCore::):
25582 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
25583 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
25584 (WebCore::JSEventTargetSVGElementInstance::setListener):
25585 (WebCore::JSEventTargetSVGElementInstance::getListener):
25586 (WebCore::toEventTargetSVGElementInstance):
25587 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
25588 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
25589 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
25590 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
25591 (WebCore::JSEventTargetSVGElementInstance::put):
25592 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
25593 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
25594 (WebCore::toJS):
25595 * bindings/objc/DOM.mm:
25596 (+[DOMNode _wrapEventTarget:WebCore::]):
25597 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
25598 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
25599 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
25600 (-[DOMSVGElementInstance WebCore::]):
25601 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
25602 (-[DOMSVGElementInstance addEventListener:::]):
25603 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
25604 (-[DOMSVGElementInstance removeEventListener:::]):
25605 (-[DOMSVGElementInstance dispatchEvent:]):
25606 * bindings/objc/DOMEvents.h:
25607 * bindings/scripts/CodeGeneratorJS.pm:
25608 * bindings/scripts/CodeGeneratorObjC.pm:
25609 * svg/EventTargetSVGElementInstance.cpp: Added.
25610 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
25611 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
25612 (WebCore::EventTargetSVGElementInstance::addEventListener):
25613 (WebCore::EventTargetSVGElementInstance::removeEventListener):
25614 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
25615 * svg/EventTargetSVGElementInstance.h: Added.
25616 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
25617 (WebCore::EventTargetSVGElementInstance::toNode):
25618 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
25619 (WebCore::EventTargetSVGElementInstance::refEventTarget):
25620 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
25621 (WebCore::EventTargetSVGElementInstanceCast):
25622 * svg/SVGElement.cpp:
25623 (WebCore::SVGElement::dispatchEvent):
25624 * svg/SVGElementInstance.cpp:
25625 (WebCore::SVGElementInstance::SVGElementInstance):
25626 (WebCore::SVGElementInstance::~SVGElementInstance):
25627 * svg/SVGElementInstance.h:
25628 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
25629 * svg/SVGElementInstance.idl:
25630
mitz@apple.come47c5af2008-09-23 21:47:54 +0000256312008-09-23 Dan Bernstein <mitz@apple.com>
25632
25633 Reviewed by Dave Hyatt.
25634
25635 - https://bugs.webkit.org/show_bug.cgi?id=21040
25636 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
25637
25638 * platform/graphics/mac/SimpleFontDataMac.mm:
25639 (WebCore::SimpleFontData::getCTFont):
25640
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +0000256412008-09-23 David Hyatt <hyatt@apple.com>
25642
25643 https://bugs.webkit.org/show_bug.cgi?id=21039
25644
25645 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
25646
25647 Reviewed by Sam Weinig
25648
25649 * platform/ScrollView.h:
25650 * platform/Scrollbar.cpp:
25651 (WebCore::Scrollbar::setFrameGeometry):
25652 * platform/Scrollbar.h:
25653 * platform/Widget.cpp:
25654 (WebCore::Widget::convertFromContainingWindow):
25655 * platform/Widget.h:
25656 * platform/mac/ScrollViewMac.mm:
25657 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
25658 (WebCore::ScrollView::ScrollView):
25659 (WebCore::ScrollView::~ScrollView):
25660 (WebCore::ScrollView::windowResizerRect):
25661 (WebCore::ScrollView::resizerOverlapsContent):
25662 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
25663 (WebCore::ScrollView::setParent):
25664 * platform/mac/WidgetMac.mm:
25665 (WebCore::Widget::convertFromContainingWindow):
25666
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +0000256672008-09-23 Dirk Schulze <vbs85@gmx.de>
25668
25669 Reviewed by Darin Adler. Landed by Jan Alonzo.
25670
25671 Added support for getImageData() and putImageData()
25672 to Cairo.
25673
25674 [CAIRO] needs getImageData and putImageData support
25675 https://bugs.webkit.org/show_bug.cgi?id=20838
25676
25677 * platform/graphics/cairo/ImageBufferCairo.cpp:
25678 (WebCore::ImageBuffer::ImageBuffer):
25679 (WebCore::ImageBuffer::getImageData):
25680 (WebCore::ImageBuffer::putImageData):
25681
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +0000256822008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
25683
25684 Reviewed by Holger Freyther.
25685
25686 http://bugs.webkit.org/show_bug.cgi?id=18987
25687 [GTK] Implement SharedBuffer::createWithContentsOfFile and
25688 KURL::fileSystemPath
25689
25690 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
25691 * platform/gtk/KURLGtk.cpp: Added.
25692 (WebCore::KURL::fileSystemPath): Implemented.
25693 * platform/gtk/SharedBufferGtk.cpp: Added.
25694 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
25695 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
25696
ap@webkit.org198304c2008-09-23 16:34:41 +0000256972008-09-23 Alexey Proskuryakov <ap@webkit.org>
25698
ap@webkit.orgccfa60a2008-09-23 20:39:22 +000025699 Reviewed by Oliver Hunt, okayed by Darin Adler.
25700
25701 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
25702
25703 * rendering/InlineTextBox.cpp:
25704 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
25705
257062008-09-23 Alexey Proskuryakov <ap@webkit.org>
25707
ap@webkit.org198304c2008-09-23 16:34:41 +000025708 Reviewed by Darin Adler.
25709
25710 https://bugs.webkit.org/show_bug.cgi?id=21023
25711 Don't use TEC for encodings supported by ICU
25712
25713 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
25714 x-mac-greek, and x-mac-turkish.
25715
25716 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
25717 Register aliases for these encodings that are not registered automatically; updated comments.
25718
mjs@apple.coma6dc93d2008-09-23 07:46:55 +0000257192008-09-23 Maciej Stachowiak <mjs@apple.com>
25720
25721 Reviewed by Darin.
25722
25723 - speed up instanceof some more
25724 https://bugs.webkit.org/show_bug.cgi?id=20818
25725
25726 ~2% speedup on EarleyBoyer
25727
25728 (WebCore updates.)
25729
25730 * bindings/js/JSQuarantinedObjectWrapper.h:
25731 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
25732
oliver@apple.combc10aae2008-09-23 07:40:49 +0000257332008-09-22 Darin Adler <darin@apple.com>
25734
25735 Reviewed by Oliver Hunt.
25736
25737 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
25738 getting pixels by index from CanvasPixelArray is unnecessarily slow
25739
25740 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
25741 * WebCore.vcproj/WebCore.vcproj: Ditto.
25742 * WebCore.xcodeproj/project.pbxproj: Ditto.
25743
25744 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
25745 indexSetter. These are now both inlined, so in the header.
25746 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
25747 function is what's used for HasCustomIndexGetter. Also moved the
25748 indexSetter function here.
25749
25750 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
25751 to use a getByIndex member function rather than an indexGetter static
25752 member function in a property slot. This lets us avoid the property
25753 slot mechanism's rule where it turns numeric property names into
25754 strings in the identifier table, which is good because that's slow.
25755 Also added a new property CustomHeader that allows IDL files to
25756 introduce headers to be included -- useful when we have functions
25757 that we want to inline into the binding.
25758
25759 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
25760
eric@webkit.org924a2d32008-09-23 07:04:11 +0000257612008-09-23 Eric Seidel <eric@webkit.org>
25762
25763 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +000025764
25765 Another blind stab in the dark.
25766
25767 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
25768
257692008-09-23 Eric Seidel <eric@webkit.org>
25770
25771 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +000025772
25773 Third time's the charm, eh? My local build is sadly still not done...
25774
25775 * platform/graphics/AffineTransform.cpp: remove extra &
25776 * platform/graphics/AffineTransform.h: remove extra &
25777
eric@webkit.orgf394f462008-09-23 06:38:10 +0000257782008-09-22 Eric Seidel <eric@webkit.org>
25779
25780 No review, build fix only.
25781
eric@webkit.orgf9212312008-09-23 06:47:51 +000025782 * platform/graphics/AffineTransform.cpp: remove extra ;
25783
257842008-09-22 Eric Seidel <eric@webkit.org>
25785
25786 No review, build fix only.
25787
eric@webkit.orgf394f462008-09-23 06:38:10 +000025788 Speculative fix for the build while I wait for my compile to finish.
25789
25790 * platform/graphics/AffineTransform.cpp:
25791
eric@webkit.org10583212008-09-23 06:05:59 +0000257922008-09-22 Dirk Schulze <vbs85@gmx.de>
25793
25794 Reviewed by eseidel. Landed by eseidel.
25795
25796 Moved makeMapBetweenRects from SVG/CG to AffineTransform
25797 Make SVGResourceClipper::applyClip more cross-platform
25798
25799 * platform/graphics/AffineTransform.cpp:
25800 * platform/graphics/AffineTransform.h:
25801 * svg/graphics/cg/CgSupport.cpp:
25802 * svg/graphics/cg/CgSupport.h:
25803 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
25804 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
25805 * svg/graphics/cg/SVGResourceClipperCg.cpp:
25806 (WebCore::SVGResourceClipper::applyClip):
25807
alp@webkit.orgfaa63e42008-09-23 03:08:57 +0000258082008-09-22 Alp Toker <alp@nuanti.com>
25809
25810 Reviewed by David Hyatt.
25811
25812 https://bugs.webkit.org/show_bug.cgi?id=16331
25813 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
25814
25815 Obey GTK+ focusing conventions for controls and anchor elements.
25816
25817 It could be interesting to push these decisions up to Settings or
25818 ChromeClient some day but this gets things working.
25819
25820 Right and middle click events still need some work to match GTK+
25821 conventions.
25822
25823 * html/HTMLAnchorElement.cpp:
25824 (WebCore::HTMLAnchorElement::isMouseFocusable):
25825 * html/HTMLFormControlElement.cpp:
25826 (WebCore::HTMLFormControlElement::isMouseFocusable):
25827 * page/EventHandler.cpp:
25828 (WebCore::EventHandler::sendContextMenuEvent):
25829
darin@apple.com4a266462008-09-23 01:24:31 +0000258302008-09-22 Darin Adler <darin@apple.com>
25831
25832 * page/mac/FrameMac.mm:
25833 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
25834
weinig@apple.comb6a39b72008-09-23 01:19:56 +0000258352008-09-22 Sam Weinig <sam@webkit.org>
25836
25837 Reviewed by Dan Bernstein.
25838
25839 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
25840 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
25841 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
25842 class!
25843
25844 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
25845 non-selectable input types, but return undefined when accessed.
25846
25847 * DerivedSources.make:
25848 * GNUmakefile.am:
25849 * WebCore.pro:
25850 * WebCore.vcproj/WebCore.vcproj:
25851 * WebCore.xcodeproj/project.pbxproj:
25852 * WebCoreSources.bkl:
25853 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
25854 * bindings/js/JSHTMLInputElementBase.h: Removed.
25855 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
25856 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
25857 (WebCore::JSHTMLInputElement::selectionStart):
25858 (WebCore::JSHTMLInputElement::selectionEnd):
25859 * bindings/js/JSHTMLInputElementCustom.h: Added.
25860 * html/HTMLInputElement.idl:
25861
mitz@apple.com895c54c2008-09-23 00:48:17 +0000258622008-09-22 Dan Bernstein <mitz@apple.com>
25863
25864 Reviewed by Sam Weinig.
25865
25866 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
25867
25868 Not testable in DumpRenderTree or in Safari
25869
25870 * page/mac/FrameMac.mm:
25871 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
25872 case that the selection start node is a block.
25873
hyatt@apple.com78083552008-09-22 22:17:40 +0000258742008-09-22 David Hyatt <hyatt@apple.com>
25875
25876 https://bugs.webkit.org/show_bug.cgi?id=21007
25877
25878 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
25879
25880 Reviewed by Sam Weinig
25881
25882 * page/EventHandler.cpp:
25883 (WebCore::EventHandler::handleMouseDoubleClickEvent):
25884
eric@webkit.orgb57170b2008-09-22 21:44:28 +0000258852008-09-22 Eric Seidel <eric@webkit.org>
25886
25887 No review, rollback only.
25888
25889 Roll out Peter's change (per his request)
25890 http://trac.webkit.org/changeset/36069
25891 https://bugs.webkit.org/show_bug.cgi?id=19663
25892 This change has been the source of numerous regressions
25893 (several of which were latent bugs revealed by this change,
25894 others were bugs in this change)
25895
25896 * platform/graphics/BitmapImage.cpp:
25897 (WebCore::BitmapImage::BitmapImage):
25898 (WebCore::BitmapImage::startAnimation):
25899 (WebCore::BitmapImage::advanceAnimation):
25900 * platform/graphics/BitmapImage.h:
25901 * platform/graphics/cairo/ImageCairo.cpp:
25902 (WebCore::BitmapImage::draw):
25903 * platform/graphics/cg/ImageCG.cpp:
25904 (WebCore::BitmapImage::draw):
25905 * platform/graphics/qt/ImageQt.cpp:
25906 (WebCore::BitmapImage::draw):
25907 * platform/graphics/wx/ImageWx.cpp:
25908 (WebCore::BitmapImage::draw):
25909
mitz@apple.comdc318202008-09-22 21:32:14 +0000259102008-09-22 Dan Bernstein <mitz@apple.com>
25911
25912 Reviewed by Sam Weinig.
25913
25914 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
25915
25916 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
25917 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
25918
25919 * config.h: Use Core Text if not building for Leopard or Tiger.
25920
hyatt@apple.com143e97c2008-09-22 21:03:02 +0000259212008-09-22 David Hyatt <hyatt@apple.com>
25922
25923 https://bugs.webkit.org/show_bug.cgi?id=21006
25924
25925 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
25926 switched on. There are still a few more refinements to make to the rendering and behavior.
25927
25928 Reviewed by Darin Adler
25929
25930 * platform/ScrollbarThemeComposite.cpp:
25931 (WebCore::ScrollbarThemeComposite::paint):
25932 * platform/ScrollbarThemeComposite.h:
25933 (WebCore::ScrollbarThemeComposite::paintTrack):
25934 (WebCore::ScrollbarThemeComposite::paintButton):
25935 (WebCore::ScrollbarThemeComposite::paintThumb):
25936 * platform/mac/ScrollbarThemeMac.h:
25937 * platform/mac/ScrollbarThemeMac.mm:
25938 (WebCore::ScrollbarThemeMac::backButtonRect):
25939 (WebCore::ScrollbarThemeMac::forwardButtonRect):
25940 (WebCore::scrollbarPartToHIPressedState):
25941 (WebCore::ScrollbarThemeMac::paint):
25942 * platform/mac/WidgetMac.mm:
25943 (WebCore::Widget::invalidateRect):
25944
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +0000259452008-09-22 Chris Marrin <cmarrin@apple.com>
25946
25947 Reviewed by Sam Weinig
25948
25949 transition end event when -webkit-transition-property: all puts wrong
25950 propertyName in event
25951 https://bugs.webkit.org/show_bug.cgi?id=20903
25952
25953 * page/animation/ImplicitAnimation.cpp:
25954 (WebCore::ImplicitAnimation::sendTransitionEvent):
25955
cfleizach@apple.com70013042008-09-22 18:30:36 +0000259562008-09-22 Chris Fleizach <cfleizach@apple.com>
25957
25958 Reviewed by Darin Adler.
25959
cfleizach@apple.comdebb8722008-09-22 18:47:16 +000025960 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
25961
25962 Test: accessibility/table-one-cell.html
25963
25964 * page/AccessibilityTable.cpp:
25965 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
25966
259672008-09-22 Chris Fleizach <cfleizach@apple.com>
25968
25969 Reviewed by Darin Adler.
25970
cfleizach@apple.com70013042008-09-22 18:30:36 +000025971 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
25972
25973 Test: accessibility/textarea-selected-text-range.html
25974
25975 * page/AccessibilityRenderObject.cpp:
25976 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
25977
hyatt@apple.com4139b152008-09-22 18:21:37 +0000259782008-09-22 David Hyatt <hyatt@apple.com>
25979
25980 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
25981 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
25982 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
25983 rule.
25984
25985 Reviewed by Sam Weinig
25986
25987 Added fast/css/nested-rule-parent-sheet.html
25988
25989 * css/CSSImportRule.cpp:
25990 (WebCore::CSSImportRule::insertedIntoParent):
25991 * css/CSSRule.cpp:
25992 (WebCore::CSSRule::parentStyleSheet):
25993 (WebCore::CSSRule::parentRule):
25994 * css/CSSStyleSheet.cpp:
25995 (WebCore::CSSStyleSheet::CSSStyleSheet):
25996 * css/CSSStyleSheet.h:
25997
mitz@apple.comd409a262008-09-22 18:17:57 +0000259982008-09-22 Dan Bernstein <mitz@apple.com>
25999
26000 Reviewed by Sam Weinig.
26001
26002 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
26003 Make the ATSUI code path respect spacingDisabled()
26004
26005 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
26006
26007 * platform/graphics/mac/FontMacATSUI.mm:
26008 (WebCore::overrideLayoutOperation):
26009
mjs@apple.com221b4752008-09-22 15:03:52 +0000260102008-09-22 Maciej Stachowiak <mjs@apple.com>
26011
26012 Reviewed by Cameron Zwarich.
26013
26014 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
26015
26016 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
26017
26018 2.2% speedup on EarleyBoyer benchmark.
26019
26020 * bindings/js/JSQuarantinedObjectWrapper.cpp:
26021 * bindings/js/JSQuarantinedObjectWrapper.h:
26022 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
26023 * bindings/scripts/CodeGeneratorJS.pm:
26024
aroben@apple.comd5cbddc2008-09-22 14:31:08 +0000260252008-09-22 Adam Roben <aroben@apple.com>
26026
26027 Windows build fix
26028
26029 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
26030
mjs@apple.coma173abd2008-09-22 13:59:06 +0000260312008-09-22 Maciej Stachowiak <mjs@apple.com>
26032
26033 Reviewed by Dave Hyatt.
26034
26035 Based on initial work by Darin Adler.
26036
26037 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
26038 - use this to JIT inline code for eq_null and neq_null
26039 https://bugs.webkit.org/show_bug.cgi?id=20823
26040
26041 * WebCore.xcodeproj/project.pbxproj:
26042 * WebCore.vcproj/WebCore.vcproj:
26043 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
26044 (WebCore::JSCSSStyleDeclaration::nameGetter):
26045 * bindings/js/JSHTMLAllCollection.cpp: Added.
26046 (WebCore::):
26047 * bindings/js/JSHTMLAllCollection.h:
26048 (WebCore::JSHTMLAllCollection::createStructureID):
26049 (WebCore::JSHTMLAllCollection::toBoolean):
26050
vestbo@webkit.orgab848362008-09-22 13:27:06 +0000260512008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
26052
26053 Reviewed by Simon.
26054
26055 Fix the QtWebKit build
26056
26057 * bridge/qt/qt_instance.cpp:
26058 (JSC::Bindings::QtRuntimeObjectImp::construct):
26059 * bridge/qt/qt_runtime.cpp:
26060
alp@webkit.orgcc9b0812008-09-22 08:53:06 +0000260612008-09-22 Alp Toker <alp@nuanti.com>
26062
26063 Suggested by David Hyatt.
26064
26065 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
26066 so make it public.
26067
26068 * platform/ScrollView.h:
26069
hyatt@apple.com7cb18562008-09-22 07:57:52 +0000260702008-09-22 David Hyatt <hyatt@apple.com>
26071
hyatt@apple.combac66582008-09-22 08:36:44 +000026072 Fix a regression in Windows scrollbar painting. (Also fix the same
26073 bug in my new viewless Mac scrollbar painting code). The track rect
26074 was being improperly inflated when painting resulting in the scrollbar
26075 being too tall and painting in the border of overflow sections.
26076
26077 Reviewed by Oliver Hunt
26078
26079 * platform/mac/ScrollbarThemeMac.mm:
26080 (WebCore::ScrollbarThemeMac::trackRect):
26081 * platform/win/ScrollbarThemeSafari.cpp:
26082 (WebCore::ScrollbarThemeSafari::trackRect):
26083
260842008-09-22 David Hyatt <hyatt@apple.com>
26085
hyatt@apple.com7cb18562008-09-22 07:57:52 +000026086 Fix a hit testing bug where events are mistakenly passed to subframes
26087 if the mouse is over the border or padding area of the frame. Add
26088 a boolean flag, isOverWidget(), to hit test results so that EventHandler
26089 can check it to tell if the mouse is really over the content box of a
26090 RenderWidget and not just in the border/padding area.
26091
26092 This is not testable, since the old code properly recovered when it detected
26093 that the mouse was outside the bounds of the view, but this prevents
26094 the extra passdown from even occurring (and is basically a nice cleanup).
26095
26096 Reviewed by Oliver Hunt
26097
26098 * page/EventHandler.cpp:
26099 (WebCore::EventHandler::handleMousePressEvent):
26100 (WebCore::EventHandler::hitTestResultAtPoint):
26101 (WebCore::subframeForHitTestResult):
26102 (WebCore::EventHandler::handleMouseDoubleClickEvent):
26103 (WebCore::EventHandler::handleMouseMoveEvent):
26104 (WebCore::EventHandler::handleMouseReleaseEvent):
26105 (WebCore::EventHandler::handleWheelEvent):
26106 * page/MouseEventWithHitTestResults.h:
26107 (WebCore::MouseEventWithHitTestResults::isOverWidget):
26108 * rendering/HitTestResult.cpp:
26109 (WebCore::HitTestResult::HitTestResult):
26110 (WebCore::HitTestResult::operator=):
26111 * rendering/HitTestResult.h:
26112 (WebCore::HitTestResult::isOverWidget):
26113 (WebCore::HitTestResult::setIsOverWidget):
26114 * rendering/RenderWidget.cpp:
26115 (WebCore::RenderWidget::nodeAtPoint):
26116 * rendering/RenderWidget.h:
26117
hyatt@apple.comb2bf5272008-09-22 05:54:40 +0000261182008-09-21 David Hyatt <hyatt@apple.com>
26119
26120 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
26121 both it and ScrollView's updateContents method be off-limits to everyone in
26122 WebCore except for RenderView.
26123
26124 Make repaintViewRectangle the only possible method for WebCore code to do
26125 an invalidation. This ensures that all invalidates triggered by WebCore
26126 cross-platform code that cross ownerElement() boundaries are transform-aware.
26127
26128 Make sure that iframes/frames contained inside objects that have transforms
26129 or reflections are not allowed to blit (this was already true for transparency).
26130
26131 It is not possible to make a test for any of this, since iframe scrolling
26132 still doesn't work on Mac (since the invalidates are not being done
26133 through WebCore's cross-platform invalidation code but are instead going
26134 through NSScrollView's setNeedsDisplay still).
26135
26136 Reviewed by Oliver Hunt
26137
26138 * editing/SelectionController.cpp:
26139 (WebCore::SelectionController::recomputeCaretRect):
26140 (WebCore::SelectionController::invalidateCaretRect):
26141 (WebCore::SelectionController::focusedOrActiveStateChanged):
26142 * page/FrameView.cpp:
26143 (WebCore::FrameView::repaintContentRectangle):
26144 (WebCore::FrameView::endDeferredRepaints):
26145 * page/FrameView.h:
26146 * platform/ScrollView.h:
26147 * rendering/RenderBox.cpp:
26148 (WebCore::RenderBox::paintFillLayerExtended):
26149 * rendering/RenderLayer.cpp:
26150 (WebCore::RenderLayer::enclosingPositionedAncestor):
26151 (WebCore::RenderLayer::requiresSlowRepaints):
26152 * rendering/RenderLayer.h:
26153 (WebCore::RenderLayer::hasTransform):
26154 * rendering/RenderView.cpp:
26155 (WebCore::RenderView::paintBoxDecorations):
26156 (WebCore::RenderView::repaintViewRectangle):
26157 (WebCore::RenderView::setSelection):
26158
mjs@apple.com52b67602008-09-22 03:15:52 +0000261592008-09-21 Maciej Stachowiak <mjs@apple.com>
26160
26161 Reviewed by Darin.
26162
26163 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
26164 https://bugs.webkit.org/show_bug.cgi?id=20981
26165
26166 * bindings/js/JSAudioConstructor.cpp:
26167 (WebCore::JSAudioConstructor::JSAudioConstructor):
26168 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
26169 (WebCore::JSCSSStyleDeclaration::nameGetter):
26170 * bindings/js/JSDOMBinding.cpp:
26171 (WebCore::createDOMStructure):
26172 * bindings/js/JSDOMBinding.h:
26173 (WebCore::getDOMStructure):
26174 * bindings/js/JSDOMWindowShell.cpp:
26175 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
26176 (WebCore::JSDOMWindowShell::setWindow):
26177 * bindings/js/JSEventTargetNode.cpp:
26178 (WebCore::JSEventTargetNode::createPrototype):
26179 * bindings/js/JSHTMLOptionElementConstructor.cpp:
26180 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
26181 * bindings/js/JSImageConstructor.cpp:
26182 (WebCore::JSImageConstructor::JSImageConstructor):
26183 * bindings/js/JSXMLHttpRequestConstructor.cpp:
26184 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
26185 * bindings/js/JSXSLTProcessorConstructor.cpp:
26186 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
26187 * bindings/scripts/CodeGeneratorJS.pm:
26188
darin@apple.comad89d662008-09-22 02:12:57 +0000261892008-09-21 Darin Adler <darin@apple.com>
26190
26191 Reviewed by Maciej Stachowiak.
26192
26193 - fix problem Maciej noticed where every JSNamedNodesCollection
26194 gets its own StructureID
26195
26196 * bindings/js/JSNamedNodesCollection.cpp:
26197 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
26198 getDOMStructure to get the structure.
26199 * bindings/js/JSNamedNodesCollection.h:
26200 (WebCore::JSNamedNodesCollection::createPrototype): Return the
26201 object prototype.
26202
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +0000262032008-09-20 David Hyatt <hyatt@apple.com>
26204
26205 Make sure transformed scrollbars in overflow sections position
26206 properly. This patch mimics the same behavior that works for
26207 iframes, namely making sure that the same code that dynamically
26208 adjusts iframe widget positions at paint time for fixed positioning
26209 and transforms also applies to scrollbars. (This is as simple as passing
26210 in the current translation factor at paint time rather than crawling
26211 up the layer tree to compute a "false" absolute position.)
26212
26213 An existing transform test covers this (although only a pixel result
26214 reveals the correct rendering).
26215
26216 Reviewed by Darin Adler
26217
26218 * rendering/RenderLayer.cpp:
26219 (WebCore::RenderLayer::updateLayerPositions):
26220 (WebCore::RenderLayer::positionOverflowControls):
26221 (WebCore::RenderLayer::paintOverflowControls):
26222 (WebCore::RenderLayer::paintLayer):
26223 * rendering/RenderLayer.h:
26224
sfalken@apple.comd0274692008-09-22 00:08:30 +0000262252008-09-21 Steve Falkenburg <sfalken@apple.com>
26226
sfalken@apple.com4fe10f92008-09-22 00:12:28 +000026227 Removed unnecessary nested timer check.
26228
26229 Rubber-stamped by Dan Bernstein.
26230
26231 * platform/win/SharedTimerWin.cpp:
26232 (WebCore::TimerWindowWndProc):
26233
262342008-09-21 Steve Falkenburg <sfalken@apple.com>
26235
sfalken@apple.comd0274692008-09-22 00:08:30 +000026236 Improve timer resolution on WinXP.
26237 https://bugs.webkit.org/show_bug.cgi?id=20979
26238
26239 Removed last-chance timer. It should not be necessary.
26240 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
26241 Remove Vista checks. We now run the same code on both XP and Vista.
26242
26243 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
26244 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
26245
26246 Reviewed by Maciej Stachowiak.
26247
26248 * platform/win/SharedTimerWin.cpp:
26249 (WebCore::):
26250 (WebCore::TimerWindowWndProc):
26251 (WebCore::setSharedTimerFireTime):
26252 * platform/win/SystemTimeWin.cpp:
26253 (WebCore::currentTime):
26254
eric@webkit.org3e96c482008-09-21 07:59:58 +0000262552008-09-21 Dirk Schulze <vbs85@gmx.de>
26256
26257 Reviewed by eseidel. Landed by eseidel.
26258
eric@webkit.orgc3431282008-09-21 10:37:37 +000026259 All platforms use the DashArray in the GraphicsContext.
26260
26261 * svg/graphics/SVGPaintServer.h:
26262 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
26263 (WebCore::SVGPaintServerGradient::setup):
26264 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
26265 (WebCore::SVGPaintServerPattern::setup):
26266 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
26267 (WebCore::SVGPaintServerSolid::setup):
26268 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
26269 (WebCore::SVGPaintServerGradient::setup):
26270 * svg/graphics/qt/SVGPaintServerQt.cpp:
26271 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
26272 (WebCore::SVGPaintServerSolid::setup):
26273
262742008-09-21 Dirk Schulze <vbs85@gmx.de>
26275
26276 Reviewed by eseidel. Landed by eseidel.
26277
eric@webkit.org3e96c482008-09-21 07:59:58 +000026278 Moved DashArray to GraphicsContext.
26279
26280 * GNUmakefile.am:
26281 * WebCore.vcproj/WebCore.vcproj:
26282 * WebCore.xcodeproj/project.pbxproj:
26283 * platform/graphics/DashArray.h: Added.
26284 * platform/graphics/GraphicsContext.h:
26285 * platform/graphics/cairo/GraphicsContextCairo.cpp:
26286 (WebCore::GraphicsContext::setLineDash):
26287 * platform/graphics/cg/GraphicsContextCG.cpp:
26288 (WebCore::GraphicsContext::setLineDash):
26289 * platform/graphics/qt/GraphicsContextQt.cpp:
26290 (WebCore::GraphicsContext::setLineDash):
26291 * svg/graphics/SVGPaintServer.cpp:
26292 (WebCore::applyStrokeStyleToContext):
26293 * svg/graphics/SVGPaintServer.h:
26294 * svg/graphics/cg/CgSupport.cpp:
26295 * svg/graphics/cg/CgSupport.h:
26296
mitz@apple.com9138eca2008-09-21 07:16:29 +0000262972008-09-21 Dan Bernstein <mitz@apple.com>
26298
26299 Reviewed by Mark Rowe.
26300
26301 - fix linker warnings
26302
26303 * WebCore.base.exp:
26304
darin@apple.comb1491772008-09-21 06:34:40 +0000263052008-09-20 Darin Adler <darin@apple.com>
26306
darin@apple.comc3215132008-09-21 06:50:35 +000026307 - another try at fixing Qt
26308
26309 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
26310
263112008-09-20 Darin Adler <darin@apple.com>
26312
darin@apple.comb1491772008-09-21 06:34:40 +000026313 - blind attempt to fix Qt build
26314
26315 * bridge/qt/qt_runtime.cpp:
26316 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
26317 of regExpPrototype to make a RegExpObject. There should really be
26318 some sort of public helper function for this. Same thing for
26319 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
26320 (JSC::Bindings::):
26321 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
26322 It is not correct to do this inside the constructor because it could
26323 cause a garbage collect while the QtRuntimeMethod object is half-
26324 allocated, which could lead to a crash; note that RuntimeMethod,
26325 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
26326 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
26327
collinj@webkit.org8e01a432008-09-21 06:26:54 +0000263282008-09-20 Collin Jackson <collinj@webkit.org>
26329
26330 Prefetch DNS for hyperlinks that the user mouses over.
26331
26332 https://bugs.webkit.org/show_bug.cgi?id=20931
26333
26334 Reviewed by Sam Weinig.
26335
26336 * page/Chrome.cpp:
26337 (WebCore::Chrome::mouseDidMoveOverElement):
26338
darin@apple.com8281d832008-09-21 02:29:12 +0000263392008-09-20 Darin Adler <darin@apple.com>
26340
26341 Reviewed by Maciej Stachowiak.
26342
26343 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
26344 make each distinct C++ class get a distinct JSC::Structure
26345
26346 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
26347 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
26348 ID. Note that this makes a new structure every time -- we could
26349 optimize this slightly be caching and reusing a single one.
26350
26351 * bridge/runtime_method.cpp:
26352 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
26353 getDOMStructure.
26354 * bridge/runtime_method.h:
26355 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
26356 getDOMStructure will work.
26357
26358 * bindings/js/JSDOMWindowShell.cpp:
26359 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
26360 0; needed in case garbage collection happens while creating the
26361 JSDOMWindow.
26362
mitz@apple.com9b3ac792008-09-21 00:42:30 +0000263632008-09-20 Dan Bernstein <mitz@apple.com>
26364
mitz@apple.comf674f4f2008-09-21 00:49:49 +000026365 Reviewed by Eric Seidel.
26366
26367 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +000026368 <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 +000026369
26370 * svg/SVGTextContentElement.cpp:
26371 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
26372 not include the first character in the extraCharsAvailable count.
26373
kevino@webkit.org2bc0d822008-09-20 22:31:24 +0000263742008-09-20 Kevin Ollivier <kevino@theolliviers.com>
26375
kevino@webkit.orge66435f2008-09-20 23:39:25 +000026376 Reviewed by Dan Bernstein.
26377
26378 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +000026379
26380 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +000026381
26382 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
26383 (GetTextExtent):
26384
263852008-09-20 Kevin Ollivier <kevino@theolliviers.com>
26386
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000026387 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
26388
26389 * WebCoreSources.bkl:
26390 * platform/ScrollView.h:
26391 * platform/wx/PopupMenuWx.cpp:
26392 (WebCore::PopupMenu::show):
26393 * platform/wx/RenderThemeWx.cpp:
26394 (WebCore::RenderThemeWx::paintButton):
26395 (WebCore::RenderThemeWx::paintTextField):
26396 (WebCore::RenderThemeWx::paintMenuList):
26397 (WebCore::RenderThemeWx::paintMenuListButton):
26398 * platform/wx/ScrollViewWx.cpp:
26399 (WebCore::ScrollView::setPlatformWidget):
26400 (WebCore::ScrollView::updateContents):
26401 (WebCore::ScrollView::update):
26402 (WebCore::ScrollView::visibleWidth):
26403 (WebCore::ScrollView::visibleHeight):
26404 (WebCore::ScrollView::scrollBy):
26405 (WebCore::ScrollView::resizeContents):
26406 (WebCore::ScrollView::contentsWidth):
26407 (WebCore::ScrollView::contentsHeight):
26408 (WebCore::ScrollView::isScrollViewScrollbar):
26409 (WebCore::ScrollView::adjustScrollbars):
26410 (WebCore::ScrollView::inWindow):
26411 (WebCore::ScrollView::removeChild):
26412 * platform/wx/WidgetWx.cpp:
26413 * plugins/wx/PluginViewWx.cpp:
26414 (WebCore::PluginView::setParentVisible):
26415 (WebCore::PluginView::updatePluginWidget):
26416
timothy@apple.comb697f272008-09-20 22:21:59 +0000264172008-09-20 Timothy Hatcher <timothy@apple.com>
26418
26419 Fix the new Node Search button image to not be blurry.
26420
26421 * page/inspector/Images/nodeSearchButtons.png:
26422
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +0000264232008-09-20 Matt Lilek <webkit@mattlilek.com>
26424
26425 Reviewed by Tim Hatcher.
26426
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +000026427 Cut down some of the inspector javascript -> InspectorController glue code
26428 with two new macros. Also rearrange the exposed function list to be grouped
26429 by implementation and to all explicitly use the WebCore namespace.
26430
26431 * page/InspectorController.cpp:
26432 (WebCore::InspectorController::windowScriptObjectAvailable):
26433
264342008-09-20 Matt Lilek <webkit@mattlilek.com>
26435
26436 Reviewed by Tim Hatcher.
26437
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000026438 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
26439
26440 * page/inspector/inspector.css:
26441
zimmermann@webkit.org953b7442008-09-20 20:19:45 +0000264422008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
26443
26444 Reviewed by Eric.
26445
26446 Refactor HTMLImageLoader/SVGImageLoader code.
26447 Move html/HTMLImageLoader.* to loader/ImageLoader.*
26448
26449 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
26450 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
26451
26452 * GNUmakefile.am:
26453 * WebCore.pro:
26454 * WebCore.vcproj/WebCore.vcproj:
26455 * WebCore.xcodeproj/project.pbxproj:
26456 * WebCoreSources.bkl:
26457 * dom/Document.cpp:
26458 (WebCore::Document::dispatchImageLoadEventSoon):
26459 (WebCore::Document::removeImage):
26460 (WebCore::Document::dispatchImageLoadEventsNow):
26461 * dom/Document.h:
26462 * html/HTMLImageLoader.cpp:
26463 (WebCore::HTMLImageLoader::HTMLImageLoader):
26464 (WebCore::HTMLImageLoader::~HTMLImageLoader):
26465 (WebCore::HTMLImageLoader::sourceURI):
26466 (WebCore::HTMLImageLoader::notifyFinished):
26467 * html/HTMLImageLoader.h:
26468 * loader/DocLoader.h:
26469 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
26470 (WebCore::ImageLoader::ImageLoader):
26471 (WebCore::ImageLoader::~ImageLoader):
26472 (WebCore::ImageLoader::setImage):
26473 (WebCore::ImageLoader::setLoadingImage):
26474 (WebCore::ImageLoader::updateFromElement):
26475 (WebCore::ImageLoader::notifyFinished):
26476 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
26477 * svg/SVGImageElement.cpp:
26478 (WebCore::SVGImageElement::attach):
26479 (WebCore::SVGImageElement::insertedIntoDocument):
26480 (WebCore::SVGImageElement::imageSourceAttributeName):
26481 * svg/SVGImageElement.h:
26482 * svg/SVGImageLoader.cpp:
26483 (WebCore::SVGImageLoader::SVGImageLoader):
26484 (WebCore::SVGImageLoader::dispatchLoadEvent):
26485 (WebCore::SVGImageLoader::sourceURI):
26486 * svg/SVGImageLoader.h:
26487
zecke@webkit.orgf3834492008-09-20 14:23:55 +0000264882008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
26489
zecke@webkit.org7a15a532008-09-20 14:24:27 +000026490 Build fix.
26491
zecke@webkit.orga832cca2008-09-20 14:24:45 +000026492 [qtwebkit] ScrollBar build fix after r36684.
26493 BackButtonPart was split into Start and End Part
26494 ForwardButtonPart was split into Start and End Part
26495
zecke@webkit.orga832cca2008-09-20 14:24:45 +000026496 * platform/qt/ScrollbarThemeQt.cpp:
26497 (WebCore::scPart):
26498 (WebCore::scrollbarPart):
26499 (WebCore::styleOptionSlider):
26500
265012008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
26502
26503 Build fix.
26504
zecke@webkit.org7a15a532008-09-20 14:24:27 +000026505 [qtwebkit] Make qt_instance.cpp compile.
26506 Revision of 36675 introduced getDOMStructure to give unique
26507 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
26508 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
26509
26510 * bridge/qt/qt_instance.cpp:
26511 (JSC::Bindings::QtInstance::getRuntimeObject):
26512
265132008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
26514
zecke@webkit.orgf3834492008-09-20 14:23:55 +000026515 Reviewed by Nikolas Zimmermann.
26516
zecke@webkit.org95ff1412008-09-20 14:24:10 +000026517 [svg] Change SVGLocatable to deal with a plain SVGElement
26518 There is no requirement in the code that we have to have a
26519 SVGStyledElement. Remove that artificial limitation and compile
26520 with SVGElement.
26521
26522 * svg/SVGLocatable.cpp:
26523 * svg/SVGLocatable.h:
26524
265252008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
26526
26527 Reviewed by Nikolas Zimmermann.
26528
zecke@webkit.orgf3834492008-09-20 14:23:55 +000026529 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
26530 management.
26531
26532 * dom/Document.cpp:
26533 (WebCore::Document::~Document):
26534 (WebCore::Document::svgExtensions):
26535 (WebCore::Document::accessSVGExtensions):
26536 * dom/Document.h:
26537
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +0000265382008-09-19 David Hyatt <hyatt@apple.com>
26539
hyatt@apple.com1fe09172008-09-20 05:09:44 +000026540 Fix for crash in updateTransitions. Make sure to test for a style
26541 being null when comparing two RenderStyles.
26542
26543 Reviewed by Oliver Hunt
26544
26545 * page/animation/AnimationBase.cpp:
26546 (WebCore::PropertyWrapperGetter::equals):
26547
265482008-09-19 David Hyatt <hyatt@apple.com>
26549
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000026550 https://bugs.webkit.org/show_bug.cgi?id=20954
26551
26552 Roll out r36628 since it has caused horrible regressions with
26553 animated GIF CPU usage.
26554
26555 * platform/graphics/BitmapImage.cpp:
26556 (WebCore::BitmapImage::cacheFrame):
26557 (WebCore::BitmapImage::startAnimation):
26558 * platform/graphics/BitmapImage.h:
26559 (WebCore::FrameData::FrameData):
26560 * platform/graphics/cairo/ImageCairo.cpp:
26561 (WebCore::FrameData::clear):
26562 * platform/graphics/cg/ImageCG.cpp:
26563 (WebCore::FrameData::clear):
26564 * platform/graphics/qt/ImageQt.cpp:
26565 (WebCore::FrameData::clear):
26566 * platform/graphics/wx/ImageWx.cpp:
26567 (WebCore::FrameData::clear):
26568
alp@webkit.orgd1e860e2008-09-20 03:43:42 +0000265692008-09-20 Alp Toker <alp@nuanti.com>
26570
26571 Reviewed by Timothy Hatcher.
26572
26573 https://bugs.webkit.org/show_bug.cgi?id=20913
26574 Avoid redudant includes
26575
26576 Document.h is included excessively such that a modification to Document.h (or
26577 any of the header it includes itself) triggers a rebuild of many files
26578 including the whole of SVG and a lot of the JS bindings.
26579
26580 Some of these includes can be avoided by only including Document.h where
26581 necessary.
26582
26583 * bindings/js/JSAttrCustom.cpp:
26584 * bindings/js/JSElementCustom.cpp:
26585 * bindings/js/JSEventTargetBase.cpp:
26586 * bindings/js/JSEventTargetBase.h:
26587 * bindings/js/JSEventTargetNode.cpp:
26588 * bindings/js/JSHTMLFrameElementCustom.cpp:
26589 * bindings/js/JSHTMLIFrameElementCustom.cpp:
26590 * bindings/scripts/CodeGeneratorJS.pm:
26591 * css/CSSCursorImageValue.cpp:
26592 * css/SVGCSSStyleSelector.cpp:
26593 * dom/make_names.pl:
26594 * svg/SVGAnimateElement.h:
26595 * svg/SVGAnimatedProperty.h:
26596 (WebCore::::baseValue):
26597 (WebCore::::setBaseValue):
26598 (WebCore::::startAnimation):
26599 (WebCore::::stopAnimation):
26600 * svg/SVGElement.cpp:
26601 (WebCore::SVGElement::accessDocumentSVGExtensions):
26602 * svg/SVGElement.h:
26603 * svg/SVGElementInstance.cpp:
26604 * svg/SVGFitToViewBox.cpp:
26605 * svg/SVGFontElement.cpp:
26606 * svg/SVGFontFaceElement.cpp:
26607 * svg/SVGLinearGradientElement.cpp:
26608 * svg/SVGMPathElement.cpp:
26609 * svg/SVGViewSpec.cpp:
26610
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +0000266112008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
26612
26613 Reviewed by Antti & Eric.
26614
26615 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
26616
26617 Finish HTMLScriptElement / SVGScriptElement unification.
26618 SVG <script> support is complete now, full SVGLoad event
26619 respecting the influence of the externalResourcesRequired attribute
26620 as well as SVGError event support. All other features shared with HTML.
26621
26622 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
26623 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
26624 svg/dom/SVGScriptElement/script-load-and-error-events.svg
26625 svg/dom/SVGScriptElement/script-reexecution.svg
26626 svg/dom/SVGScriptElement/script-set-href.svg
26627
26628 * dom/ScriptElement.cpp:
26629 (WebCore::ScriptElementData::ScriptElementData):
26630 (WebCore::ScriptElementData::requestScript):
26631 * dom/ScriptElement.h:
26632 (WebCore::ScriptElementData::haveFiredLoadEvent):
26633 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
26634 * dom/XMLTokenizer.cpp:
26635 (WebCore::XMLTokenizer::notifyFinished):
26636 * html/HTMLScriptElement.cpp:
26637 (WebCore::HTMLScriptElement::dispatchLoadEvent):
26638 * svg/SVGScriptElement.cpp:
26639 (WebCore::SVGScriptElement::setCreatedByParser):
26640 (WebCore::SVGScriptElement::parseMappedAttribute):
26641 (WebCore::SVGScriptElement::svgAttributeChanged):
26642 (WebCore::SVGScriptElement::insertedIntoDocument):
26643 (WebCore::SVGScriptElement::removedFromDocument):
26644 (WebCore::SVGScriptElement::childrenChanged):
26645 (WebCore::SVGScriptElement::isURLAttribute):
26646 (WebCore::SVGScriptElement::finishParsingChildren):
26647 (WebCore::SVGScriptElement::type):
26648 (WebCore::SVGScriptElement::setType):
26649 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
26650 (WebCore::SVGScriptElement::dispatchLoadEvent):
26651 (WebCore::SVGScriptElement::dispatchErrorEvent):
26652 * svg/SVGScriptElement.h:
26653
mitz@apple.comc7b24ea2008-09-20 03:23:22 +0000266542008-09-19 Dan Bernstein <mitz@apple.com>
26655
26656 Reviewed by John Sullivan.
26657
26658 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
26659 Typo in Position::getInlineBoxAndOffset()
26660 and add an assertion
26661
26662 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
26663
26664 * dom/Position.cpp:
26665 (WebCore::Position::getInlineBoxAndOffset):
26666 * rendering/InlineTextBox.cpp:
26667 (WebCore::InlineTextBox::positionForOffset):
26668
hyatt@apple.comd48dbf32008-09-20 03:21:14 +0000266692008-09-19 David Hyatt <hyatt@apple.com>
26670
26671 Add support for hit testing of all five possible scrollbar button placements.
26672
26673 Reviewed by Sam Weinig
26674
26675 * platform/ScrollbarThemeComposite.cpp:
26676 (WebCore::ScrollbarThemeComposite::paint):
26677 * platform/mac/ScrollbarThemeMac.mm:
26678 (WebCore::):
26679 (WebCore::ScrollbarThemeMac::backButtonRect):
26680 (WebCore::ScrollbarThemeMac::forwardButtonRect):
26681 (WebCore::ScrollbarThemeMac::trackRect):
26682 (WebCore::ScrollbarThemeMac::paintButton):
26683
darin@apple.com1c4cd8f2008-09-20 01:05:35 +0000266842008-09-19 Darin Adler <darin@apple.com>
26685
26686 - try to fix Qt build
26687
26688 * bridge/qt/qt_instance.cpp:
26689 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
26690 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
26691 * bridge/runtime_object.cpp:
26692 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
26693 * bridge/runtime_object.h: Ditto.
26694
dino@apple.com7c236592008-09-20 00:53:49 +0000266952008-09-19 Chris Marrin <cmarrin@apple.com>
26696
26697 Reviewed by Dave Hyatt.
26698
26699 Transition starts running when it shouldn't
26700 https://bugs.webkit.org/show_bug.cgi?id=20892
26701
26702 When there is a transition and an animation on the
26703 same element, make sure the animation wins.
26704
26705 The fix is to save the unanimated style when an animation is started.
26706 Then, when starting a transition, check to see if there is a current
26707 animation on the same prop. If so, use the unanimated style as the
26708 fromStyle rather than the current style.
26709
26710 Test: animations/transition-and-animation-1.html
26711
26712 * page/animation/CompositeAnimation.cpp:
26713 (WebCore::CompositeAnimation::updateTransitions):
26714 (WebCore::CompositeAnimation::updateKeyframeAnimations):
26715 (WebCore::CompositeAnimation::animate):
26716 (WebCore::CompositeAnimation::getAnimationForProperty):
26717 * page/animation/CompositeAnimation.h:
26718 * page/animation/ImplicitAnimation.cpp:
26719 (WebCore::ImplicitAnimation::reset):
26720 * page/animation/ImplicitAnimation.h:
26721 * page/animation/KeyframeAnimation.cpp:
26722 (WebCore::KeyframeAnimation::hasAnimationForProperty):
26723 * page/animation/KeyframeAnimation.h:
26724 (WebCore::KeyframeAnimation::KeyframeAnimation):
26725 (WebCore::KeyframeAnimation::unanimatedStyle):
26726
hyatt@apple.comea254e22008-09-20 00:42:36 +0000267272008-09-19 David Hyatt <hyatt@apple.com>
26728
26729 Add support for painting/hit testing of four possible scrollbar buttons.
26730 The Windows themes simply ignore the two parts that they will never
26731 show. The Mac theme also ignores the other two buttons for now.
26732
26733 The cross-platform base for all three themes, ScrollbarThemeComposite,
26734 has all the proper support though.
26735
26736 Reviewed by Sam Weinig
26737
26738 * platform/ScrollbarThemeComposite.cpp:
26739 (WebCore::ScrollbarThemeComposite::hitTest):
26740 (WebCore::ScrollbarThemeComposite::invalidatePart):
26741 * platform/ScrollbarThemeComposite.h:
26742 * platform/mac/ScrollbarThemeMac.h:
26743 * platform/mac/ScrollbarThemeMac.mm:
26744 (WebCore::ScrollbarThemeMac::backButtonRect):
26745 (WebCore::ScrollbarThemeMac::forwardButtonRect):
26746 (WebCore::ScrollbarThemeMac::paintButton):
26747 * platform/win/ScrollbarThemeSafari.cpp:
26748 (WebCore::ScrollbarThemeSafari::backButtonRect):
26749 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
26750 (WebCore::ScrollbarThemeSafari::paintButton):
26751 * platform/win/ScrollbarThemeSafari.h:
26752 * platform/win/ScrollbarThemeWin.cpp:
26753 (WebCore::ScrollbarThemeWin::backButtonRect):
26754 (WebCore::ScrollbarThemeWin::forwardButtonRect):
26755 (WebCore::ScrollbarThemeWin::paintButton):
26756 * platform/win/ScrollbarThemeWin.h:
26757
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +0000267582008-09-19 Matt Lilek <webkit@mattlilek.com>
26759
26760 Reviewed by Tim Hatcher.
26761
26762 Bug 17772: Inspector should support point-and-click to select a node to inspect
26763 https://bugs.webkit.org/show_bug.cgi?id=17772
26764 <rdar://problem/5792395>
26765
26766 * English.lproj/localizedStrings.js:
26767 * page/Chrome.cpp:
26768 (WebCore::Chrome::mouseDidMoveOverElement):
26769 * page/EventHandler.cpp:
26770 (WebCore::EventHandler::handleMousePressEvent):
26771 * page/InspectorController.cpp:
26772 (WebCore::toggleNodeSearch):
26773 (WebCore::searchingForNode):
26774 (WebCore::InspectorController::InspectorController):
26775 (WebCore::InspectorController::toggleSearchForNodeInPage):
26776 (WebCore::InspectorController::mouseDidMoveOverElement):
26777 (WebCore::InspectorController::handleMousePressOnNode):
26778 (WebCore::InspectorController::windowScriptObjectAvailable):
26779 * page/InspectorController.h:
26780 (WebCore::InspectorController::searchingForNodeInPage):
26781 * page/inspector/ElementsPanel.js:
26782 * page/inspector/Images/nodeSearchButtons.png: Added.
26783 * page/inspector/inspector.css:
26784
hyatt@apple.com57b2d522008-09-19 23:39:26 +0000267852008-09-19 David Hyatt <hyatt@apple.com>
26786
26787 Add new scrollbar parts to be able to represent back and forward buttons
26788 at either end of the scrollbar. The current scrollbar still just draws
26789 a single button at either end, but the parts now exist.
26790
26791 Reviewed by Sam Weinig
26792
26793 * platform/ScrollTypes.h:
26794 (WebCore::):
26795 * platform/Scrollbar.cpp:
26796 (WebCore::Scrollbar::autoscrollTimerFired):
26797 (WebCore::Scrollbar::pressedPartScrollDirection):
26798 (WebCore::Scrollbar::pressedPartScrollGranularity):
26799 (WebCore::Scrollbar::handleMouseMoveEvent):
26800 * platform/ScrollbarTheme.h:
26801 (WebCore::ScrollbarTheme::buttonsPlacement):
26802 (WebCore::ScrollbarTheme::invalidateParts):
26803 * platform/ScrollbarThemeComposite.cpp:
26804 (WebCore::ScrollbarThemeComposite::paint):
26805 (WebCore::ScrollbarThemeComposite::hitTest):
26806 (WebCore::ScrollbarThemeComposite::invalidatePart):
26807 * platform/ScrollbarThemeComposite.h:
26808
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +0000268092008-09-19 Beth Dakin <bdakin@apple.com>
26810
26811 Reviewed by Dave Hyatt.
26812
26813 Fix for <rdar://problem/6231308> crash in AutoTableLayout
26814
26815 The code assumes later on that a TableSection's grid's row vector
26816 will never be empty. So make 1 the minimum number of columns.
26817
26818 * rendering/RenderTableSection.cpp:
26819 (WebCore::RenderTableSection::ensureRows):
26820
hyatt@apple.comaf711ec2008-09-19 22:55:56 +0000268212008-09-19 David Hyatt <hyatt@apple.com>
26822
26823 Add a new ScrollbarButtonsPlacement type for specifying where
26824 the button arrows are in a scrollbar.
26825
26826 Read in the placement settings for Mac. Nothing is done with the
26827 setting yet.
26828
26829 Add a new buttonsPlacement() method to ScrollbarTheme composite
26830 so that the arrow settings can be obtained.
26831
26832 Reviewed by Sam Weinig
26833
26834 * platform/ScrollTypes.h:
26835 (WebCore::):
26836 * platform/ScrollbarThemeComposite.h:
26837 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
26838 * platform/mac/ScrollbarThemeMac.mm:
26839 (WebCore::updateArrowPlacement):
26840 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
26841
sfalken@apple.com64602042008-09-19 22:47:45 +0000268422008-09-19 Steve Falkenburg <sfalken@apple.com>
26843
26844 Roll out r36626. It is causing variance in SunSpider numbers on XP.
26845
26846 Rubber stamped by Mark Rowe.
26847
26848 * platform/win/SharedTimerWin.cpp:
26849 (WebCore::isRunningOnVistaOrLater):
26850 (WebCore::setSharedTimerFireTime):
26851
kmccullough@apple.comd203b242008-09-19 21:56:14 +0000268522008-09-19 Kevin McCullough <kmccullough@apple.com>
26853
26854 Reviewed by Tim.
26855
26856 https://bugs.webkit.org/show_bug.cgi?id=20942
26857 Bug 20942: Repeated messages in resources don't collapse
26858 - Now repeated messages in a resource's view are collapsed and a message
26859 says how many were repeated.
26860
26861 * English.lproj/localizedStrings.js:
26862 * manual-tests/inspector/multiple-console-messages.html:
26863 * page/inspector/Console.js: Send all the messages to the resource's
26864 view before possibly returning early if the message is a repeat.
26865 * page/inspector/SourceFrame.js: Add the text about the message being
26866 repeated, if it is, and increment it when necessary.
26867
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +0000268682008-09-19 Chris Fleizach <cfleizach@apple.com>
26869
26870 Removed unnecessary #if
26871
26872 * page/mac/AccessibilityObjectWrapper.mm:
26873
hyatt@apple.comc9967ce92008-09-19 21:20:59 +0000268742008-09-19 David Hyatt <hyatt@apple.com>
26875
hyatt@apple.comf658e502008-09-19 22:12:07 +000026876 Read in prefs for the scroll delay repeat values for buttons. Also
26877 honor the option-click pref for jumping to the thumb when clicking in
26878 the track.
26879
26880 Reviewed by Sam Weinig
26881
26882 * platform/mac/ScrollbarThemeMac.h:
26883 * platform/mac/ScrollbarThemeMac.mm:
26884 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
26885 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
26886 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
26887 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
26888
268892008-09-19 David Hyatt <hyatt@apple.com>
26890
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000026891 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
26892 Set the initial button repeat delay to 0.5 for Mac.
26893
26894 Reviewed by Sam Weinig
26895
26896 * WebCore.xcodeproj/project.pbxproj:
26897 * platform/mac/ScrollbarThemeMac.cpp: Removed.
26898 * platform/mac/ScrollbarThemeMac.h:
26899 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
26900 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
26901
darin@apple.com39a180f2008-09-19 21:15:14 +0000269022008-09-19 Darin Adler <darin@apple.com>
26903
26904 Reviewed by Sam Weinig.
26905
26906 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
26907 make each distinct C++ class get a distinct JSC::Structure
26908
26909 + Fixed all cases where we were using a shared structure for multiple
26910 C++ classes in WebCore. This still has to be done in JavaScriptCore.
26911
26912 + Got rid of cacheGlobalObject.
26913
26914 + Improved use of PassRefPtr in bindings code.
26915
26916 + Removed a couple cases where we were potentially allocating prototypes
26917 inside a JSObject's construction process -- this can lead to trouble if
26918 we do a garbage collection while an object is only partly constructed.
26919
26920 * bindings/js/JSAudioConstructor.cpp:
26921 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
26922 so we don't implicitly share the structure with other objects that use the object
26923 prototype.
26924
26925 * bindings/js/JSDOMBinding.cpp:
26926 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
26927 don't need cacheGlobalObject any more.
26928 (WebCore::cacheDOMConstructor): Ditto.
26929
26930 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
26931 Added functions and a function template for getting cached DOM constructors.
26932 Removed cacheGlobalObject function template.
26933
26934 * bindings/js/JSDOMWindowBase.cpp:
26935 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
26936 we're taking ownership.
26937 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
26938 we're taking ownership. Added constructor map.
26939 * bindings/js/JSDOMWindowCustom.cpp:
26940 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
26941
26942 * bindings/js/JSDOMWindowShell.cpp:
26943 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
26944 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
26945 this is now done in only that one place.
26946 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
26947 the passed-in DOMWindow. Code was moved here and changed to allocate unique
26948 structures for both the window prototype and the window.
26949 * bindings/js/JSDOMWindowShell.h: Ditto.
26950
26951 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
26952 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
26953 private/friend in JSEventTargetBase. Removed comments referring to defunct
26954 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
26955 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
26956 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
26957
26958 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
26959 for caching structures and prototypes.
26960 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
26961 (WebCore::JSEventTargetNode::createPrototype): Added.
26962 * bindings/js/JSEventTargetNode.h: Updated for above changes.
26963
26964 * bindings/js/JSHTMLAllCollection.h:
26965 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
26966 * bindings/js/JSHTMLCollectionCustom.cpp:
26967 (WebCore::getNamedItems): Pass ExecState instead of prototype.
26968 * bindings/js/JSHTMLFormElementCustom.cpp:
26969 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
26970 * bindings/js/JSHTMLInputElementBase.cpp:
26971 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
26972 * bindings/js/JSHTMLInputElementBase.h: Ditto.
26973 * bindings/js/JSHTMLOptionElementConstructor.cpp:
26974 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
26975 Create a unique structure instead of sharing.
26976 * bindings/js/JSImageConstructor.cpp:
26977 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
26978
26979 * bindings/js/JSInspectedObjectWrapper.cpp:
26980 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
26981 a prototype rather than a structure. Made the use of inheritorID() here
26982 explicit.
26983 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
26984 * bindings/js/JSInspectorCallbackWrapper.cpp:
26985 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
26986 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
26987
26988 * bindings/js/JSNamedNodesCollection.cpp:
26989 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
26990 take an ExecState argument instead of a prototype. Create a unique
26991 StructureID instead of sharing.
26992 * bindings/js/JSNamedNodesCollection.h: Ditto.
26993
26994 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
26995 constructor that takes a prototype instead of a structure.
26996 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
26997
26998 * bindings/js/JSRGBColor.cpp:
26999 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
27000 prototype; create a unique structure.
27001 (WebCore::getJSRGBColor): Ditto.
27002 * bindings/js/JSRGBColor.h: Ditto.
27003
27004 * bindings/js/JSSQLResultSetRowListCustom.cpp:
27005 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
27006 of explicit coding the idiom for making a new object.
27007
27008 * bindings/js/JSXMLHttpRequestConstructor.cpp:
27009 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
27010 Create a unique structure instead of the shared one.
27011 * bindings/js/JSXSLTProcessorConstructor.cpp:
27012 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
27013 Ditto.
27014
27015 * bindings/js/ScriptController.cpp:
27016 (WebCore::ScriptController::clearWindowShell): Let the window shell's
27017 setWindow function create the JSDOMWindow instead of doing it here.
27018
27019 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
27020 the structure and the wrapped object when creating wrappers.
27021 Simplified some of the special cases for DOMWindow so they are
27022 different only in ways the need to be. Eliminated the
27023 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
27024 functions. Moved responsibility for creating the structure and
27025 parent prototype out of the prototype constructor into the
27026 createPrototype function. Removed the unused "DoNotCache" flag for
27027 objects other than DOMWindow. Use getDOMConstructor instead of
27028 cacheGlobalObject for constructors. Make each constructor have
27029 a unique structure ID.
27030
27031 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
27032 name of the info member to s_info so we can use the standard DOM
27033 binding macros to handl the prototype.
27034 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
27035 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
27036 Create a unique structure using getDOMStructure.
27037
27038 * bridge/runtime_array.cpp: Fixed namespacing a bit.
27039 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
27040 getDOMStructure.
27041 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
27042 will work.
27043
27044 * bridge/runtime_object.cpp:
27045 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
27046 getDOMStructure.
27047 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
27048 will work.
27049
27050 * history/CachedPage.cpp:
27051 (WebCore::CachedPage::restore): Let the window shell's
27052 setWindow function create the JSDOMWindow instead of doing it here.
27053
27054 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
27055
mitz@apple.comd6b74252008-09-19 21:02:55 +0000270562008-09-19 Dan Bernstein <mitz@apple.com>
27057
27058 Reviewed by Dave Hyatt.
27059
27060 This optimization was suggested by Daniel Fenwick
27061
27062 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
27063
27064 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +000027065 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +000027066 of one, due to the leading space being reordered to the left.
27067
27068 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
27069 getCFStringAttributes() and changed m_CFStringAttributes from an array
27070 to a single value.
27071 * platform/graphics/mac/CoreTextController.cpp:
27072 (WebCore::CoreTextController::CoreTextController): Added a
27073 mayUseNaturalWritingDirection parameter.
27074 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
27075 to force the bidi embedding level whenever
27076 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
27077 case, made the typesetter options dictionaries static.
27078 * platform/graphics/mac/CoreTextController.h:
27079 * platform/graphics/mac/FontMacCoreText.cpp:
27080 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
27081 (WebCore::Font::floatWidthForComplexText): Changed to allow the
27082 CoreTextController to not set the writing direction.
27083 * platform/graphics/mac/SimpleFontDataMac.mm:
27084 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
27085 parameter and the paragraph style attribute.
27086
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +0000270872008-09-19 David Hyatt <hyatt@apple.com>
27088
27089 Reviewed by Sam Weinig
27090
27091 https://bugs.webkit.org/show_bug.cgi?id=20941
27092
27093 Incorrect height calculation for replaced element inside nested
27094 positioned elements (where the inner has a percentage height and
27095 the outer implicitly has a fixed height because of explicit top/bottom
27096 values).
27097
27098 Added fast/block/positioning/replaced-inside-top-bottom.html
27099
27100 * rendering/RenderBox.cpp:
27101 (WebCore::RenderBox::availableHeightUsing):
27102
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +0000271032008-09-19 Chris Fleizach <cfleizach@apple.com>
27104
27105 Fix Tiger bustage
27106
27107 * page/mac/AccessibilityObjectWrapper.mm:
27108
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +0000271092008-09-18 Chris Fleizach <cfleizach@apple.com>
27110
27111 Reviewed by Darin Adler.
27112
27113 <rdar://problem/6211041> Expose legend tag in accessibility
27114
27115 Exposes the legend tag as the titleUIElement of a fieldset
27116
27117 Test: accessibility/legend.html
27118
27119 * page/AccessibilityObject.h:
27120 (WebCore::AccessibilityObject::isFieldset):
27121 * page/AccessibilityRenderObject.cpp:
27122 (WebCore::AccessibilityRenderObject::isFieldset):
27123 (WebCore::AccessibilityRenderObject::titleUIElement):
27124 * page/AccessibilityRenderObject.h:
27125 * rendering/RenderFieldset.h:
27126
cfleizach@apple.comcff26212008-09-19 20:04:13 +0000271272008-09-19 Chris Fleizach <cfleizach@apple.com>
27128
27129 Reviewed by Darin Adler.
27130
27131 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
27132
27133 Implement a few AX API methods that will be called by AppKit, which will
27134 speed up access to accessibility objects
27135
27136 * page/mac/AccessibilityObjectWrapper.mm:
27137 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
27138 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
27139 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
27140
zecke@webkit.org7594eb62008-09-19 11:06:55 +0000271412008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
27142
27143 Reviewed by Simon Hausmann.
27144
zecke@webkit.org3df68032008-09-19 11:43:27 +000027145 [qtwebkit] Set the m_should* flags to their proper value on entry
27146 With plugins it was possible that we finished a job twice. This was
27147 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
27148 setting the flag to (m_loadMode == LoadDeferred) they will always have
27149 the right value and we will not send responses twice.
27150
27151 * platform/network/qt/QNetworkReplyHandler.cpp:
27152
271532008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
27154
27155 Reviewed by Simon Hausmann.
27156
zecke@webkit.org7594eb62008-09-19 11:06:55 +000027157 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
27158 Handle text decoding errors before instructing the parser to parse. We
27159 have converted the text to QString and all encoding errors are gone and
27160 the parser will not be able to detect them. So handle them before parsing.
27161
27162 * dom/XMLTokenizerQt.cpp:
27163 (WebCore::XMLTokenizer::doWrite):
27164
darin@apple.comc9aea832008-09-19 06:49:35 +0000271652008-09-18 Darin Adler <darin@apple.com>
27166
27167 Reviewed by Maciej Stachowiak.
27168
27169 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
27170 make each distinct C++ class get a distinct JSC::Structure
27171
27172 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
27173 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
27174 instead of DOMExceptionTranslator.
27175
27176 * bindings/js/JSDOMBinding.cpp:
27177 (WebCore::getCachedDOMObjectWrapper): Updated function name.
27178 (WebCore::cacheDOMObjectWrapper): Ditto.
27179 (WebCore::forgetDOMObject): Ditto.
27180 (WebCore::getCachedDOMNodeWrapper): Ditto.
27181 (WebCore::forgetDOMNode): Ditto.
27182 (WebCore::cacheDOMNodeWrapper): Ditto.
27183 (WebCore::forgetAllDOMNodesForDocument): Ditto.
27184 (WebCore::markDOMNodesForDocument): Ditto.
27185 (WebCore::updateDOMNodeDocument): Ditto.
27186 (WebCore::getCachedDOMStructure): Added.
27187 (WebCore::createDOMStructure): Ditto.
27188
27189 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
27190 class and replace the static member functions with non-member
27191 functions. Added many other functions for getting at structures,
27192 prototypes, wrappers, and creating them. Also moved the
27193 cacheGlobalObject function here from JavaScriptCore; eventually
27194 I'll remove that once I get rid of the remaining callers. Also
27195 removed the DOMExceptionTranslator class.
27196
27197 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
27198 and put one of those maps in each window.
27199
27200 * bindings/js/JSDOMWindowCustom.cpp:
27201 (WebCore::markDOMObjectWrapper): Updated for function name change.
27202 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
27203 in the structure map.
27204
27205 * bindings/js/JSEventTargetNode.cpp:
27206 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
27207 a structure instead of a prototype.
27208 * bindings/js/JSEventTargetNode.h: Ditto.
27209 * bindings/js/JSHTMLAllCollection.h:
27210 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
27211
27212 * bindings/js/JSHTMLInputElementBase.cpp:
27213 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
27214 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
27215 structure instead of a prototype.
27216 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
27217 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
27218 to take a structure instead of a prototype. Created a dummy prototype
27219 class that causes the HTMLInputElement prototype to have the
27220 HTMLElement prototype.
27221
27222 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
27223 structures instead of prototypes. Changed the prototype self function
27224 to use the getDOMPrototype function -- later we can eliminate it and
27225 have callers invoke getDOMPrototype directly instead. Updated other
27226 functions that have name changes. Added code to generate the
27227 createPrototype member function. Changed use of cacheGlobalObject to
27228 get it from the WebCore namespace instead of the JSC namespace.
27229 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
27230
27231 * dom/Document.cpp:
27232 (WebCore::Document::~Document): Updated for name change and also
27233 removed unnecessary JSLock use -- there's no need to lock around this.
27234 * dom/Node.cpp:
27235 (WebCore::Node::setDocument): Ditto.
27236
27237 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
27238 instead of calling new directly.
27239
27240 * bindings/js/JSCSSRuleCustom.cpp:
27241 (WebCore::toJS): Updated for function name changes and used the
27242 CREATE_DOM_OBJECT_WRAPPER macro.
27243 * bindings/js/JSCSSValueCustom.cpp:
27244 (WebCore::toJS): Ditto.
27245 * bindings/js/JSCanvasPixelArrayCustom.cpp:
27246 (WebCore::toJS): Ditto.
27247 * bindings/js/JSDocumentCustom.cpp:
27248 (WebCore::JSDocument::mark): Ditto.
27249 (WebCore::toJS): Ditto.
27250 * bindings/js/JSElementCustom.cpp:
27251 (WebCore::toJSNewlyCreated): Ditto.
27252 * bindings/js/JSEventCustom.cpp:
27253 (WebCore::toJS): Ditto.
27254 * bindings/js/JSEventTargetBase.cpp:
27255 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
27256 of DOMExceptionTranslator.
27257 (WebCore::toJS): Updated for function name changes and used the
27258 CREATE_DOM_OBJECT_WRAPPER macro.
27259 * bindings/js/JSHTMLCollectionCustom.cpp:
27260 (WebCore::toJS): Ditto.
27261 * bindings/js/JSNodeCustom.cpp:
27262 (WebCore::JSNode::mark): Ditto.
27263 (WebCore::createWrapper): Ditto.
27264 (WebCore::toJS): Ditto.
27265 * bindings/js/JSSVGPathSegCustom.cpp:
27266 (WebCore::toJS): Ditto.
27267 * bindings/js/JSStyleSheetCustom.cpp:
27268 (WebCore::toJS): Ditto.
27269 (WebCore::JSStyleSheet::mark): Ditto.
27270 * bindings/js/JSTextCustom.cpp:
27271 (WebCore::toJSNewlyCreated): Ditto.
27272 * bindings/js/JSXMLHttpRequestConstructor.cpp:
27273 (WebCore::constructXMLHttpRequest): Ditto.
27274 * bindings/js/JSXMLHttpRequestCustom.cpp:
27275 (WebCore::JSXMLHttpRequest::mark): Ditto.
27276 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
27277 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
27278 * bindings/js/JSXSLTProcessorConstructor.cpp:
27279 (WebCore::constructXSLTProcessor): Ditto.
27280 * bindings/js/ScriptController.cpp:
27281 (WebCore::ScriptController::finishedWithEvent): Ditto.
27282 * xml/XMLHttpRequest.cpp:
27283 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
27284 (WebCore::XMLHttpRequest::dropProtection): Ditto.
27285
hyatt@apple.com083539d2008-09-19 06:30:16 +0000272862008-09-18 David Hyatt <hyatt@apple.com>
27287
27288 This patch gets a viewless scrollbar working on Mac. It is turned off
27289 by default. Hit testing works. For now the scrollbar just paints ugly
27290 debug rects in the place of the buttons, track and thumb. It does match
27291 Aqua metrics though.
27292
27293 Reviewed by Sam Weinig
27294
27295 * WebCore.xcodeproj/project.pbxproj:
27296 * page/mac/EventHandlerMac.mm:
27297 (WebCore::EventHandler::passMousePressEventToScrollbar):
27298 * platform/ScrollbarThemeComposite.cpp:
27299 (WebCore::ScrollbarThemeComposite::paint):
27300 (WebCore::ScrollbarThemeComposite::trackPosition):
27301 * platform/ScrollbarThemeComposite.h:
27302 * platform/mac/ScrollViewMac.mm:
27303 (WebCore::ScrollView::addChild):
27304 * platform/mac/ScrollbarThemeMac.cpp:
27305 (WebCore::):
27306 (WebCore::ScrollbarThemeMac::hasButtons):
27307 (WebCore::ScrollbarThemeMac::hasThumb):
27308 (WebCore::buttonRepaintRect):
27309 (WebCore::ScrollbarThemeMac::backButtonRect):
27310 (WebCore::ScrollbarThemeMac::forwardButtonRect):
27311 (WebCore::trackRepaintRect):
27312 (WebCore::ScrollbarThemeMac::trackRect):
27313 (WebCore::ScrollbarThemeMac::minimumThumbLength):
27314 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
27315 (WebCore::ScrollbarThemeMac::paintTrack):
27316 (WebCore::ScrollbarThemeMac::paintButton):
27317 (WebCore::ScrollbarThemeMac::paintThumb):
27318 * platform/mac/ScrollbarThemeMac.h:
27319 (WebCore::ScrollbarThemeMac::supportsControlTints):
27320 * platform/qt/ScrollbarThemeQt.cpp:
27321 (WebCore::ScrollbarThemeQt::trackPosition):
27322
collinj@webkit.org51261aa2008-09-19 06:13:22 +0000273232008-09-18 Collin Jackson <collinj@webkit.org>
27324
27325 Build fix; added missing header file to GNUmakefile.am
27326
27327 * GNUmakefile.am:
27328
weinig@apple.com39aecbe2008-09-19 04:56:21 +0000273292008-09-18 Sam Weinig <sam@webkit.org>
27330
27331 Reviewed by David "the Hair" Hyatt.
27332
27333 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
27334
27335 * GNUmakefile.am:
27336 * WebCore.pro:
27337 * WebCore.vcproj/WebCore.vcproj:
27338 * WebCore.xcodeproj/project.pbxproj:
27339 * rendering/DataRef.h: Removed.
27340 * rendering/SVGRenderStyle.cpp: Removed.
27341 * rendering/SVGRenderStyle.h: Removed.
27342 * rendering/SVGRenderStyleDefs.cpp: Removed.
27343 * rendering/SVGRenderStyleDefs.h: Removed.
27344 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
27345 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
27346 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
27347 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
27348 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
27349
mrowe@apple.coma5206592008-09-19 04:47:58 +0000273502008-09-18 Mark Rowe <mrowe@apple.com>
27351
27352 Reviewed by Dan Bernstein.
27353
27354 Add a means of clearing a FrameTree's name.
27355
27356 * WebCore.base.exp:
27357 * page/FrameTree.cpp:
27358 (WebCore::FrameTree::clearName):
27359 * page/FrameTree.h:
27360
hyatt@apple.com6eeef382008-09-19 04:30:53 +0000273612008-09-18 David Hyatt <hyatt@apple.com>
27362
27363 Eliminate addToSuperview from Widget, since it was only called
27364 by ScrollViewMac's addChild method. Just shift the original body
27365 of addToSuperView into addChild.
27366
27367 Reviewed by Sam Weinig
27368
27369 * platform/Widget.h:
27370 * platform/mac/ScrollViewMac.mm:
27371 (WebCore::ScrollView::addChild):
27372 * platform/mac/WidgetMac.mm:
27373
collinj@webkit.org9c672f62008-09-19 04:15:14 +0000273742008-09-18 Collin Jackson <collinj@webkit.org>
27375
27376 Reviewed by Antti Koivisto and Mark Rowe.
27377
27378 Test: http/tests/misc/dns-prefetch-control.html
27379
27380 https://bugs.webkit.org/show_bug.cgi?id=20690
27381
27382 Invoke WebCore::prefetchDNS() on host names that appear in
27383 in the href of hyperlinks and <link rel="dns-prefetch">. This
27384 can be used to implement DNS prefetching.
27385
27386 * WebCore.vcproj/WebCore.vcproj:
27387 * WebCore.xcodeproj/project.pbxproj:
27388 * dom/Document.cpp:
27389 (WebCore::Document::Document):
27390 (WebCore::Document::processHttpEquiv):
27391 (WebCore::Document::setSecurityOrigin):
27392 (WebCore::Document::initDNSPrefetch):
27393 (WebCore::Document::parseDNSPrefetchControlHeader):
27394 * dom/Document.h:
27395 (WebCore::Document::isDNSPrefetchEnabled):
27396 * html/HTMLAnchorElement.cpp:
27397 (WebCore::HTMLAnchorElement::parseMappedAttribute):
27398 * html/HTMLLinkElement.cpp:
27399 (WebCore::HTMLLinkElement::HTMLLinkElement):
27400 (WebCore::HTMLLinkElement::parseMappedAttribute):
27401 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
27402 (WebCore::HTMLLinkElement::process):
27403 * html/HTMLLinkElement.h:
27404 * html/PreloadScanner.cpp:
27405 (WebCore::PreloadScanner::processAttribute):
27406 * loader/FrameLoader.cpp:
27407 (WebCore::FrameLoader::begin):
27408 * platform/gtk/TemporaryLinkStubs.cpp:
27409 (WebCore::prefetchDNS):
27410 * platform/network/DNS.h: Added.
27411 * platform/network/cf/DNSCFNet.cpp: Added.
27412 (WebCore::prefetchDNS):
27413 * platform/qt/TemporaryLinkStubs.cpp:
27414 (WebCore::prefetchDNS):
27415 * platform/wx/TemporaryLinkStubs.cpp:
27416 (WebCore::prefetchDNS):
27417
hyatt@apple.comc5b931a2008-09-19 00:39:51 +0000274182008-09-18 David Hyatt <hyatt@apple.com>
27419
hyatt@apple.comcf31c162008-09-19 04:01:56 +000027420 Eliminate the convertToScreenCoordinate method on Widget, since
27421 ScrollView has redundant methods that already do the same thing.
27422
27423 Reviewed by Sam Weinig
27424
27425 * editing/mac/SelectionControllerMac.mm:
27426 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
27427 * platform/Widget.h:
27428 * platform/mac/WidgetMac.mm:
27429 (WebCore::Widget::containingWindow):
27430
274312008-09-18 David Hyatt <hyatt@apple.com>
27432
hyatt@apple.com179629b3c2008-09-19 03:16:26 +000027433 Move to only one constructor for Widgets. Rename data to m_data and make
27434 it have an #ifdef only for platforms that have platform-specific data (Mac
27435 and Gtk).
27436
27437 Reviewed by Sam Weinig
27438
27439 * WebCore.base.exp:
27440 * platform/Widget.cpp:
27441 (WebCore::Widget::init):
27442 * platform/Widget.h:
27443 * platform/gtk/WidgetGtk.cpp:
27444 (WebCore::Widget::Widget):
27445 (WebCore::Widget::~Widget):
27446 (WebCore::Widget::cursor):
27447 (WebCore::Widget::setCursor):
27448 * platform/mac/WidgetMac.mm:
27449 (WebCore::Widget::Widget):
27450 (WebCore::Widget::~Widget):
27451 (WebCore::Widget::addToSuperview):
27452 (WebCore::Widget::removeFromSuperview):
27453 (WebCore::Widget::beforeMouseDown):
27454 (WebCore::Widget::afterMouseDown):
27455 * platform/qt/WidgetQt.cpp:
27456 (WebCore::Widget::Widget):
27457 * platform/win/WidgetWin.cpp:
27458 (WebCore::Widget::Widget):
27459 * platform/wx/WidgetWx.cpp:
27460 (WebCore::Widget::Widget):
27461
274622008-09-18 David Hyatt <hyatt@apple.com>
27463
hyatt@apple.com470d7e72008-09-19 03:01:08 +000027464 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
27465 was no reason for it to be on Widget. This change eliminates Qt ifdefs
27466 from Widget.
27467
27468 Reviewed by Sam Weinig
27469
27470 * bindings/js/ScriptControllerQt.cpp:
27471 (WebCore::ScriptController::createScriptInstanceForWidget):
27472 * platform/qt/WidgetQt.cpp:
27473 (WebCore::WidgetPrivate::WidgetPrivate):
27474 (WebCore::WidgetPrivate::~WidgetPrivate):
27475 (WebCore::Widget::Widget):
27476 (WebCore::Widget::~Widget):
27477 * plugins/PluginView.cpp:
27478 (WebCore::PluginView::PluginView):
27479 * plugins/PluginView.h:
27480 (WebCore::PluginView::isNPAPIPlugin):
27481 (WebCore::PluginView::setIsNPAPIPlugin):
27482
274832008-09-18 David Hyatt <hyatt@apple.com>
27484
hyatt@apple.com557408b2008-09-19 02:36:08 +000027485 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
27486 ifdefs are now gone from Widget!
27487
27488 Reviewed by Sam Weinig
27489
27490 * platform/Widget.h:
27491 (WebCore::Widget::geometryChanged):
27492 * platform/gtk/WidgetGtk.cpp:
27493 * platform/qt/WidgetQt.cpp:
27494
274952008-09-18 David Hyatt <hyatt@apple.com>
27496
hyatt@apple.com17e57432008-09-19 02:29:27 +000027497 Consolidate convertTo/FromContainingWindow methods so that all platforms
27498 but Mac share the same code.
27499
27500 Move convertSelfToChild and convertChildToSelf to ScrollView, since
27501 Widget should know nothing about children. Make the methods cross-platform
27502 on ScrollView.
27503
27504 Reviewed by Sam Weinig
27505
27506 * platform/ScrollView.h:
27507 (WebCore::ScrollView::convertChildToSelf):
27508 (WebCore::ScrollView::convertSelfToChild):
27509 * platform/Widget.cpp:
27510 (WebCore::Widget::convertToContainingWindow):
27511 (WebCore::Widget::convertFromContainingWindow):
27512 * platform/Widget.h:
27513 (WebCore::Widget::geometryChanged):
27514 * platform/gtk/ScrollViewGtk.cpp:
27515 (WebCore::ScrollView::isScrollViewScrollbar):
27516 * platform/gtk/WidgetGtk.cpp:
27517 * platform/mac/ScrollViewMac.mm:
27518 (WebCore::ScrollView::isScrollViewScrollbar):
27519 * platform/mac/WidgetMac.mm:
27520 * platform/qt/ScrollViewQt.cpp:
27521 (WebCore::ScrollView::isScrollViewScrollbar):
27522 * platform/qt/WidgetQt.cpp:
27523 * platform/win/ScrollViewWin.cpp:
27524 (WebCore::ScrollView::isScrollViewScrollbar):
27525 * platform/win/WidgetWin.cpp:
27526
275272008-09-18 David Hyatt <hyatt@apple.com>
27528
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000027529 Make the conversion methods that go to and from some containingWindow
27530 cross-platform. Implement them on Mac.
27531
27532 Reviewed by Sam Weinig
27533
27534 * platform/Widget.h:
27535 (WebCore::Widget::setContainingWindow):
27536 * platform/mac/WidgetMac.mm:
27537 (WebCore::Widget::convertFromContainingWindow):
27538 (WebCore::Widget::convertToContainingWindow):
27539
weinig@apple.comd1ea02d2008-09-19 00:28:05 +0000275402008-09-18 Sam Weinig <sam@webkit.org>
27541
27542 Rubber-stamped by David "Yeah-yeah" Hyatt.
27543
27544 Cleanup RenderStyle.
27545
27546 * WebCore.xcodeproj/project.pbxproj:
27547 * rendering/style/CounterContent.h:
27548 * rendering/style/RenderStyle.cpp:
27549 * rendering/style/RenderStyle.h:
27550
dino@apple.comef93f532008-09-19 00:01:07 +0000275512008-09-18 Chris Marrin <cmarrin@apple.com>
27552
27553 Reviewed by Sam Weinig
27554
27555 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
27556 Now TransformOperations and AnimationList no longer
27557 inherit from Vector<> but rather have API to access.
27558
27559 * css/CSSComputedStyleDeclaration.cpp:
27560 (WebCore::computedTransform):
27561 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
27562 * css/CSSStyleSelector.cpp:
27563 (WebCore::CSSStyleSelector::createTransformOperations):
27564 * page/animation/AnimationBase.cpp:
27565 (WebCore::blendFunc):
27566 * page/animation/CompositeAnimation.cpp:
27567 (WebCore::CompositeAnimation::updateTransitions):
27568 (WebCore::CompositeAnimation::updateKeyframeAnimations):
27569 (WebCore::CompositeAnimation::animate):
27570 * page/animation/ImplicitAnimation.cpp:
27571 (WebCore::ImplicitAnimation::validateTransformFunctionList):
27572 * page/animation/KeyframeAnimation.cpp:
27573 (WebCore::KeyframeAnimation::validateTransformFunctionList):
27574 * rendering/RenderLayer.cpp:
27575 (WebCore::RenderLayer::updateReflectionStyle):
27576 * rendering/style/AnimationList.cpp:
27577 (WebCore::AnimationList::operator==):
27578 * rendering/style/AnimationList.h:
27579 (WebCore::AnimationList::operator!=):
27580 (WebCore::AnimationList::size):
27581 (WebCore::AnimationList::isEmpty):
27582 (WebCore::AnimationList::resize):
27583 (WebCore::AnimationList::remove):
27584 (WebCore::AnimationList::append):
27585 (WebCore::AnimationList::animation):
27586 * rendering/style/RenderStyle.cpp:
27587 (WebCore::StyleRareNonInheritedData::updateKeyframes):
27588 (WebCore::RenderStyle::applyTransform):
27589 (WebCore::RenderStyle::adjustAnimations):
27590 (WebCore::RenderStyle::adjustTransitions):
27591 (WebCore::RenderStyle::transitionForProperty):
27592 * rendering/style/RenderStyle.h:
27593 (WebCore::RenderStyle::hasTransform):
27594 * rendering/style/TransformOperations.cpp:
27595 (WebCore::TransformOperations::TransformOperations):
27596 (WebCore::TransformOperations::operator==):
27597 * rendering/style/TransformOperations.h:
27598 (WebCore::TransformOperations::apply):
27599 (WebCore::TransformOperations::operations):
27600
zecke@webkit.org20690ef2008-09-18 23:28:34 +0000276012008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
27602
zecke@webkit.org30db7422008-09-19 01:00:18 +000027603 Build fix.
27604
27605 [qt] Build fixes after the Widget/ScrollView cleanup
27606 topLevel() is now root()
27607
27608
27609 * platform/qt/ScrollViewQt.cpp:
27610 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
27611 (WebCore::ScrollView::addChild):
27612 (WebCore::ScrollView::removeChild):
27613
276142008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
27615
zecke@webkit.org20690ef2008-09-18 23:28:34 +000027616 Reviewed by Mark Rowe.
27617
27618 https://bugs.webkit.org/show_bug.cgi?id=20437
27619
27620 XMLTokenizer.cpp used to contain two different implementations. One was using
27621 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
27622 separating the two implementations from each other.
27623 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
27624 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
27625 XMLTokenizerLibxml2.cpp. There should be no functional changes.
27626
27627 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
27628 to work.
27629
27630 * GNUmakefile.am:
27631 * WebCore.pro:
27632 * WebCore.vcproj/WebCore.vcproj:
27633 * WebCore.xcodeproj/project.pbxproj:
27634 * WebCoreSources.bkl:
27635 * dom/XMLTokenizer.cpp:
27636 (WebCore::isScriptElement):
27637 (WebCore::castToScriptElement):
27638 (WebCore::XMLTokenizer::setCurrentNode):
27639 (WebCore::XMLTokenizer::write):
27640 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
27641 (WebCore::XMLTokenizer::enterText):
27642 (WebCore::toString):
27643 (WebCore::XMLTokenizer::exitText):
27644 (WebCore::XMLTokenizer::end):
27645 (WebCore::XMLTokenizer::insertErrorMessageBlock):
27646 * dom/XMLTokenizer.h:
27647 (WebCore::XMLTokenizer::wellFormed):
27648 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
27649 (WebCore::createMemoryParser):
27650 (WebCore::XMLTokenizer::XMLTokenizer):
27651 (WebCore::XMLTokenizer::~XMLTokenizer):
27652 (WebCore::XMLTokenizer::doWrite):
27653 (WebCore::ignorableWhitespaceHandler):
27654 (WebCore::XMLTokenizer::initializeParserContext):
27655 (WebCore::XMLTokenizer::doEnd):
27656 (WebCore::XMLTokenizer::lineNumber):
27657 (WebCore::XMLTokenizer::columnNumber):
27658 (WebCore::XMLTokenizer::stopParsing):
27659 (WebCore::XMLTokenizer::resumeParsing):
27660 (WebCore::parseXMLDocumentFragment):
27661 (WebCore::attributesStartElementNsHandler):
27662 (WebCore::parseAttributes):
27663 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
27664 (WebCore::EntityResolver::resolveUndeclaredEntity):
27665 (WebCore::XMLTokenizer::XMLTokenizer):
27666 (WebCore::XMLTokenizer::~XMLTokenizer):
27667 (WebCore::XMLTokenizer::doWrite):
27668 (WebCore::XMLTokenizer::initializeParserContext):
27669 (WebCore::XMLTokenizer::doEnd):
27670 (WebCore::XMLTokenizer::lineNumber):
27671 (WebCore::XMLTokenizer::columnNumber):
27672 (WebCore::XMLTokenizer::stopParsing):
27673 (WebCore::XMLTokenizer::resumeParsing):
27674 (WebCore::parseXMLDocumentFragment):
27675 (WebCore::attributesStartElementNsHandler):
27676 (WebCore::parseAttributes):
27677 (WebCore::):
27678
bdakin@apple.com4c244902008-09-18 23:08:35 +0000276792008-09-18 Beth Dakin <bdakin@apple.com>
27680
27681 Reviewed by Geoff Garen.
27682
27683 Build fix for non-Mac builds.
27684
27685 * css/CSSPrimitiveValue.cpp:
27686 (WebCore::CSSPrimitiveValue::cssText):
27687
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000276882008-09-18 Peter Kasting <pkasting@google.com>
27689
27690 Reviewed by hyatt. Landed by eseidel.
27691
27692 https://bugs.webkit.org/show_bug.cgi?id=20745
27693 Animated GIFs do not animate properly with (at least) CG.
27694
27695 * WebCore\platform\graphics\BitmapImage.cpp:
27696 * WebCore\platform\graphics\BitmapImage.h:
27697 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
27698 * WebCore\platform\graphics\cg\ImageCG.cpp:
27699 * WebCore\platform\graphics\qt\ImageQt.cpp:
27700 * WebCore\platform\graphics\wx\ImageWx.cpp:
27701
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +0000277022008-09-18 Chris Fleizach <cfleizach@apple.com>
27703
27704 Reviewed by Beth Dakin
27705
27706 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
27707 role specifies otherwise
27708
27709 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
27710
27711 Test: accessibility/table-with-aria-role.html
27712
27713 * page/AccessibilityTable.cpp:
27714 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
27715 (WebCore::AccessibilityTable::addChildren):
27716 (WebCore::AccessibilityTable::roleValue):
27717 (WebCore::AccessibilityTable::accessibilityIsIgnored):
27718 (WebCore::AccessibilityTable::title):
27719 * page/AccessibilityTableCell.cpp:
27720 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
27721 (WebCore::AccessibilityTableCell::isTableCell):
27722 (WebCore::AccessibilityTableCell::roleValue):
27723 * page/AccessibilityTableCell.h:
27724 * page/AccessibilityTableRow.cpp:
27725 (WebCore::AccessibilityTableRow::roleValue):
27726 (WebCore::AccessibilityTableRow::isTableRow):
27727 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
27728 * page/AccessibilityTableRow.h:
27729
sfalken@apple.coma96c5d32008-09-18 22:29:34 +0000277302008-09-18 Steve Falkenburg <sfalken@apple.com>
27731
27732 Use higher-resolution timers on all variants of Windows.
27733
27734 Reviewed by Darin Adler.
27735
27736 * platform/win/SharedTimerWin.cpp:
27737 (WebCore::setSharedTimerFireTime):
27738
27739
hyatt@apple.comb7d49b62008-09-18 22:21:25 +0000277402008-09-18 David Hyatt <hyatt@apple.com>
27741
27742 Make containingWindow() and setContainingWindow() cross-platform.
27743 Add a root() function cross-platform so Qt doesn't have to
27744 define its own.
27745
27746 Reviewed by Darin Adler
27747
27748 * platform/Widget.cpp:
27749 (WebCore::Widget::root):
27750 * platform/Widget.h:
27751 (WebCore::Widget::setContainingWindow):
27752 * platform/gtk/WidgetGtk.cpp:
27753 (WebCore::Widget::Widget):
27754 (WebCore::Widget::containingWindow):
27755 * platform/mac/ScrollViewMac.mm:
27756 (WebCore::ScrollView::addChild):
27757 (WebCore::ScrollView::removeChild):
27758 * platform/mac/WidgetMac.mm:
27759 (WebCore::Widget::containingWindow):
27760 * platform/qt/WidgetQt.cpp:
27761 (WebCore::Widget::invalidateRect):
27762 (WebCore::Widget::containingWindow):
27763 * platform/win/WidgetWin.cpp:
27764 (WebCore::Widget::Widget):
27765 (WebCore::Widget::~Widget):
27766 (WebCore::Widget::containingWindow):
27767
bdakin@apple.comfa1ce162008-09-18 22:18:01 +0000277682008-09-18 Beth Dakin <bdakin@apple.com>
27769
27770 Reviewed by Dave Hyatt.
27771
27772 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
27773 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
27774 dashboard-region=
27775 and corresponding: <rdar://problem/6174100>
27776
27777 This patch makes CSSParserValue::createCSSValue handle unknown
27778 identifiers.
27779
27780 * css/CSSParserValues.cpp:
27781 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
27782 with no id (an unknown identifier) create a CSSPrimitiveValue of
27783 type CSS_PARSER_IDENTIFIER
27784 * css/CSSPrimitiveValue.cpp:
27785 (WebCore::CSSPrimitiveValue::cssText):
27786 (WebCore::CSSPrimitiveValue::parserValue):
27787 * css/CSSPrimitiveValue.h:
27788 (WebCore::CSSPrimitiveValue::):
27789
weinig@apple.comfce49be2008-09-18 21:46:14 +0000277902008-09-18 Sam Weinig <sam@webkit.org>
27791
27792 Rubber-stamped by David "I'd prefer not" Hyatt.
27793
27794 More the remaining class out of RenderStyle.h/cpp
27795
27796 * GNUmakefile.am:
27797 * WebCore.pro:
27798 * WebCore.vcproj/WebCore.vcproj:
27799 * WebCore.xcodeproj/project.pbxproj:
27800 * WebCoreSources.bkl:
27801 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
27802 (WebCore::CursorData::CursorData):
27803 (WebCore::CursorData::operator==):
27804 (WebCore::CursorData::operator!=):
27805 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
27806 (WebCore::CursorList::operator[]):
27807 (WebCore::CursorList::CursorList):
27808 * rendering/style/RenderStyle.cpp:
27809 * rendering/style/RenderStyle.h:
27810 (WebCore::RenderStyle::deref):
27811 (WebCore::RenderStyle::hasOneRef):
27812 (WebCore::RenderStyle::InheritedFlags::operator!=):
27813 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
27814 (WebCore::RenderStyle::hasBackground):
27815 (WebCore::RenderStyle::outlineWidth):
27816 (WebCore::RenderStyle::autoWrap):
27817 (WebCore::RenderStyle::preserveNewline):
27818 (WebCore::RenderStyle::collapseWhiteSpace):
27819 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
27820 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
27821 (WebCore::RenderStyle::breakWords):
27822 (WebCore::RenderStyle::outlineOffset):
27823 (WebCore::RenderStyle::setLeft):
27824 (WebCore::RenderStyle::setRight):
27825 (WebCore::RenderStyle::setTop):
27826 (WebCore::RenderStyle::setBottom):
27827 (WebCore::RenderStyle::setDashboardRegion):
27828 (WebCore::RenderStyle::setBackgroundColor):
27829 (WebCore::RenderStyle::setBorderImage):
27830 (WebCore::RenderStyle::setBorderRadius):
27831 (WebCore::RenderStyle::setFontDescription):
27832 (WebCore::RenderStyle::adjustBackgroundLayers):
27833 (WebCore::RenderStyle::adjustMaskLayers):
27834 (WebCore::RenderStyle::deleteBindingURIs):
27835 (WebCore::RenderStyle::inheritBindingURIs):
27836 (WebCore::RenderStyle::isDisplayReplacedType):
27837 (WebCore::RenderStyle::isDisplayInlineType):
27838 (WebCore::RenderStyle::isOriginalDisplayInlineType):
27839 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
27840 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
27841 (WebCore::StyleInheritedData::operator!=):
27842 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
27843 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
27844 (WebCore::StyleRareInheritedData::operator!=):
27845 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
27846 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
27847 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
27848
hyatt@apple.com643534d2008-09-18 20:09:41 +0000278492008-09-18 David Hyatt <hyatt@apple.com>
27850
hyatt@apple.comd23089a2008-09-18 20:24:16 +000027851 Move the concept of suppression invalidation on Widgets to Scrollbar
27852 instead. Since this is only used by Scrollbars, there is no need for
27853 it to be on Widget.
27854
27855 Reviewed by Sam Weinig
27856
27857 * platform/Scrollbar.cpp:
27858 (WebCore::Scrollbar::Scrollbar):
27859 (WebCore::Scrollbar::invalidateRect):
27860 * platform/Scrollbar.h:
27861 (WebCore::Scrollbar::suppressInvalidation):
27862 (WebCore::Scrollbar::setSuppressInvalidation):
27863 * platform/Widget.h:
27864 * platform/gtk/WidgetGtk.cpp:
27865 (WebCore::Widget::Widget):
27866 (WebCore::Widget::invalidateRect):
27867 * platform/qt/WidgetQt.cpp:
27868 (WebCore::WidgetPrivate::WidgetPrivate):
27869 (WebCore::Widget::invalidateRect):
27870 * platform/win/WidgetWin.cpp:
27871 (WebCore::Widget::Widget):
27872 (WebCore::Widget::invalidateRect):
27873
278742008-09-18 David Hyatt <hyatt@apple.com>
27875
hyatt@apple.com643534d2008-09-18 20:09:41 +000027876 Make invalidate() on Widget non-virtual and make it just call
27877 invalidateRect() on the boundsGeometry() of the Widget.
27878
27879 Reviewed by Dan Bernstein
27880
27881 * platform/Widget.h:
27882 (WebCore::Widget::boundsGeometry):
27883 (WebCore::Widget::invalidate):
27884 * platform/gtk/WidgetGtk.cpp:
27885 * platform/mac/WidgetMac.mm:
27886 * platform/qt/WidgetQt.cpp:
27887 * platform/win/WidgetWin.cpp:
27888 * platform/wx/WidgetWx.cpp:
27889
weinig@apple.comcaf2df42008-09-18 19:40:24 +0000278902008-09-18 Sam Weinig <sam@webkit.org>
27891
27892 Rubber-stamped in exile by David Hyatt.
27893
27894 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
27895 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
27896 RenderStyle.h/cpp
27897
27898 * GNUmakefile.am:
27899 * WebCore.pro:
27900 * WebCore.vcproj/WebCore.vcproj:
27901 * WebCore.xcodeproj/project.pbxproj:
27902 * WebCoreSources.bkl:
27903 * css/CSSStyleSelector.cpp:
27904 * css/CSSStyleSelector.h:
27905 * page/animation/CompositeAnimation.cpp:
27906 * page/animation/KeyframeAnimation.cpp:
27907 * page/animation/KeyframeAnimation.h:
27908 * rendering/RenderCounter.h:
27909 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
27910 (WebCore::Animation::~Animation):
27911 (WebCore::Animation::animationsMatch):
27912 (WebCore::Animation::keyframeList):
27913 (WebCore::Animation::setAnimationKeyframe):
27914 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
27915 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
27916 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
27917 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
27918 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
27919 (WebCore::BindingURI::operator!=):
27920 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
27921 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
27922 (WebCore::ContentData::ContentData):
27923 (WebCore::ContentData::~ContentData):
27924 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
27925 (WebCore::CounterContent::CounterContent):
27926 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
27927 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
27928 (WebCore::CounterDirectives::CounterDirectives):
27929 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
27930 (WebCore::KeyframeList::insert):
27931 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
27932 (WebCore::KeyframeValue::KeyframeValue):
27933 (WebCore::KeyframeList::create):
27934 (WebCore::KeyframeList::KeyframeList):
27935 * rendering/style/RenderStyle.cpp:
27936 * rendering/style/RenderStyle.h:
27937 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
27938 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
27939 (WebCore::ShadowData::ShadowData):
27940 (WebCore::ShadowData::~ShadowData):
27941 (WebCore::ShadowData::operator!=):
27942 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
27943 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
27944 (WebCore::StyleFlexibleBoxData::operator!=):
27945 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
27946 (WebCore::TimingFunction::TimingFunction):
27947 (WebCore::TimingFunction::operator==):
27948
adele@apple.com5b2b5da2008-09-18 18:49:44 +0000279492008-09-18 Adele Peterson <adele@apple.com>
27950
27951 Reviewed by Dan Bernstein.
27952
27953 Fix RenderStyle leaks.
27954
27955 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
27956
kmccullough@apple.comd4089752008-09-18 17:21:49 +0000279572008-09-18 Kevin McCullough <kmccullough@apple.com>
27958
kmccullough@apple.com76c708f2008-09-18 18:03:23 +000027959 Accidentally checked in code.
27960
27961 * html/HTMLElementFactory.cpp:
27962 (WebCore::frameConstructor):
27963 (WebCore::iframeConstructor):
27964
279652008-09-18 Kevin McCullough <kmccullough@apple.com>
27966
kmccullough@apple.comd4089752008-09-18 17:21:49 +000027967 Reviewed by Tim.
27968
27969 <rdar://problem/5722310> gracefully handle too many console messages
27970 (20904)
27971 - Keep track of the most previous message and then compare it to the
27972 subsequent messages as they come in. If there are multiple of the same
27973 message create a count that indicates the current number.
27974
27975 * manual-tests/inspector/multiple-console-messages.html: Added.
27976 * page/inspector/Console.js:
27977 * page/inspector/inspector.css:
27978
alp@webkit.org18a1fbc2008-09-18 11:50:26 +0000279792008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
27980
27981 Reviewed by Alp Toker
27982
27983 https://bugs.webkit.org/show_bug.cgi?id=20830
27984 [GTK] Don't use deprecated pango API
27985
27986 Replace deprecated pango functions with non-deprecated ones for newer
27987 versions of pango
27988
27989 * platform/graphics/gtk/FontGtk.cpp:
27990 (WebCore::getDefaultPangoLayout):
27991 * platform/graphics/gtk/FontPlatformDataPango.cpp:
27992 (WebCore::FontPlatformData::FontPlatformData):
27993
alp@webkit.org2154ef22008-09-18 08:10:49 +0000279942008-09-18 Alp Toker <alp@nuanti.com>
27995
27996 Build fix for r36587. Add new sources (and sort the lists).
27997
27998 * GNUmakefile.am:
27999
weinig@apple.com3a98b2a2008-09-18 05:51:35 +0000280002008-09-17 Sam Weinig <sam@webkit.org>
28001
28002 Fix Windows build.
28003
28004 * WebCore.vcproj/WebCore.vcproj:
28005
hyatt@apple.comb3699722008-09-18 05:10:03 +0000280062008-09-17 David Hyatt <hyatt@apple.com>
28007
28008 Switch back to having frameGeometry be virtual in order to keep Mac
28009 the way it used to be.
28010
28011 Reviewed by Sam Weinig
28012
28013 * WebCore.base.exp:
28014 * platform/Widget.cpp:
28015 (WebCore::Widget::setParent):
28016 * platform/Widget.h:
28017 * platform/gtk/WidgetGtk.cpp:
28018 (WebCore::Widget::frameGeometry):
28019 (WebCore::Widget::setFrameGeometry):
28020 * platform/mac/WidgetMac.mm:
28021 (WebCore::Widget::frameGeometry):
28022 (WebCore::Widget::setFrameGeometry):
28023 * platform/qt/WidgetQt.cpp:
28024 (WebCore::Widget::frameGeometry):
28025 (WebCore::Widget::setFrameGeometry):
28026 * platform/win/WidgetWin.cpp:
28027 (WebCore::Widget::frameGeometry):
28028 (WebCore::Widget::setFrameGeometry):
28029 * platform/wx/WidgetWx.cpp:
28030 (WebCore::Widget::frameGeometry):
28031 (WebCore::Widget::setFrameGeometry):
28032 * plugins/PluginView.cpp:
28033 (WebCore::PluginView::setFrameGeometry):
28034 (WebCore::PluginView::geometryChanged):
28035 * plugins/PluginView.h:
28036 * plugins/gtk/PluginViewGtk.cpp:
28037 (WebCore::PluginView::updatePluginWidget):
28038 * plugins/qt/PluginViewQt.cpp:
28039 (WebCore::PluginView::updatePluginWidget):
28040 * plugins/win/PluginViewWin.cpp:
28041 (WebCore::PluginView::updatePluginWidget):
28042
weinig@apple.com00f4d5c2008-09-18 03:23:08 +0000280432008-09-17 Sam Weinig <sam@webkit.org>
28044
weinig@apple.com4fd54cd2008-09-18 05:03:21 +000028045 Reviewed by Mark Rowe.
28046
28047 Fix assertion in DOMWindow::adjustWindowRect where we were passing
28048 in garbage values and were getting lucky that they were a not Nan.
28049
28050 * bindings/js/JSDOMWindowBase.cpp:
28051 (WebCore::windowProtoFuncOpen):
28052
280532008-09-17 Sam Weinig <sam@webkit.org>
28054
weinig@apple.com95b14762008-09-18 04:28:40 +000028055 Fix gtk build.
28056
28057 * rendering/style/MatrixTransformOperation.cpp:
28058
280592008-09-17 Sam Weinig <sam@webkit.org>
28060
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000028061 Rubber-stamped with love by David Hyatt.
28062
28063 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
28064 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
28065 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
28066
28067 * GNUmakefile.am:
28068 * WebCore.pro:
28069 * WebCore.vcproj/WebCore.vcproj:
28070 * WebCore.xcodeproj/project.pbxproj:
28071 * WebCoreSources.bkl:
28072 * css/CSSStyleSelector.cpp:
28073 * page/animation/AnimationBase.cpp:
28074 (WebCore::solveEpsilon):
28075 * rendering/RenderLayer.cpp:
28076 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
28077 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
28078 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
28079 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
28080 * rendering/style/RenderStyle.cpp:
28081 * rendering/style/RenderStyle.h:
28082 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
28083 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
28084 (WebCore::RotateTransformOperation::RotateTransformOperation):
28085 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
28086 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
28087 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
28088 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
28089 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
28090 (WebCore::SkewTransformOperation::SkewTransformOperation):
28091 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
28092 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
28093 (WebCore::StyleTransformData::operator!=):
28094 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
28095 (WebCore::TransformOperation::):
28096 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
28097 (WebCore::TransformOperations::TransformOperations):
28098 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
28099 (WebCore::TransformOperations::operator!=):
28100 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
28101 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
28102 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
28103
mrowe@apple.comdbfa8852008-09-18 02:59:20 +0000281042008-09-17 Mark Rowe <mrowe@apple.com>
28105
28106 Build fix.
28107
28108 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
28109
hyatt@apple.com76057b42008-09-18 02:48:46 +0000281102008-09-17 David Hyatt <hyatt@apple.com>
28111
28112 (1) Inline a bunch of methods for accessing frame geometry.
28113 (2) Make sure frameGeometry() works even when you have no underlying
28114 native widget.
28115 (3) Cache a frame geometry rect cross-platform (even for widgets that
28116 have underlying native widgets.
28117 (4) PluginView's updateWindow call is now a virtual function on Widget.
28118
28119 Reviewed by Sam Weinig
28120
28121 * ChangeLog:
28122 * WebCore.base.exp:
28123 * platform/Widget.cpp:
28124 (WebCore::Widget::setFrameGeometry):
28125 * platform/Widget.h:
28126 (WebCore::Widget::x):
28127 (WebCore::Widget::y):
28128 (WebCore::Widget::width):
28129 (WebCore::Widget::height):
28130 (WebCore::Widget::size):
28131 (WebCore::Widget::pos):
28132 (WebCore::Widget::frameGeometry):
28133 (WebCore::Widget::resize):
28134 (WebCore::Widget::move):
28135 (WebCore::Widget::isFrameView):
28136 (WebCore::Widget::windowClipRect):
28137 * platform/mac/WidgetMac.mm:
28138 (WebCore::Widget::~Widget):
28139 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
28140 * platform/win/WidgetWin.cpp:
28141 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
28142 * plugins/PluginView.cpp:
28143 (WebCore::PluginView::setFrameGeometry):
28144 (WebCore::PluginView::geometryChanged):
28145 * plugins/PluginView.h:
28146 * plugins/gtk/PluginViewGtk.cpp:
28147 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
28148 * plugins/qt/PluginViewQt.cpp:
28149 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
28150 * plugins/win/PluginViewWin.cpp:
28151 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
28152 * plugins/wx/PluginViewWx.cpp:
28153
weinig@apple.coma812a3ce2008-09-18 01:46:26 +0000281542008-09-17 Sam Weinig <sam@webkit.org>
28155
weinig@apple.comb4b66742008-09-18 02:47:55 +000028156 Reviewed by David "Waterman" Hyatt.
28157
28158 Fix a leak of NSViews in WidgetMac.mm.
28159
28160 * platform/mac/WidgetMac.mm:
28161 (WebCore::Widget::~Widget):
28162
281632008-09-17 Sam Weinig <sam@webkit.org>
28164
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000028165 Rubber-stamped by David Waterman Hyatt.
28166
28167 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
28168 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
28169
28170 * GNUmakefile.am:
28171 * WebCore.pro:
28172 * WebCore.vcproj/WebCore.vcproj:
28173 * WebCore.xcodeproj/project.pbxproj:
28174 * WebCoreSources.bkl:
28175 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
28176 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
28177 (WebCore::FillLayer::operator!=):
28178 (WebCore::FillLayer::hasImage):
28179 (WebCore::FillLayer::hasFixedImage):
28180 * rendering/style/RenderStyle.cpp:
28181 * rendering/style/RenderStyle.h:
28182 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
28183 (WebCore::StyleBackgroundData::StyleBackgroundData):
28184 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
28185 (WebCore::StyleBackgroundData::~StyleBackgroundData):
28186 (WebCore::StyleBackgroundData::operator!=):
28187 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
28188 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
28189 (WebCore::StyleBoxData::operator!=):
28190 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
28191 (WebCore::StyleDashboardRegion::operator!=):
28192 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
28193 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
28194 (WebCore::StyleMarqueeData::operator!=):
28195 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
28196 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
28197 (WebCore::StyleMultiColData::operator!=):
28198 (WebCore::StyleMultiColData::ruleWidth):
28199 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
28200 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
28201 (WebCore::StyleVisualData::operator==):
28202
hyatt@apple.comb4f28b32008-09-18 00:39:36 +0000282032008-09-17 David Hyatt <hyatt@apple.com>
28204
hyatt@apple.com3f19eac2008-09-18 00:56:04 +000028205 Remove WidgetClient from Widget.
28206
28207 Reviewed by Sam Weinig
28208
28209 * WebCore.xcodeproj/project.pbxproj:
28210 * platform/Widget.h:
28211 (WebCore::Widget::setClient):
28212 (WebCore::Widget::client):
28213 * platform/WidgetClient.h: Removed.
28214 * platform/gtk/WidgetGtk.cpp:
28215 * platform/mac/WidgetMac.mm:
28216 (WebCore::Widget::Widget):
28217 (WebCore::Widget::show):
28218 (WebCore::Widget::hide):
28219 * platform/qt/WidgetQt.cpp:
28220 (WebCore::WidgetPrivate::WidgetPrivate):
28221 * platform/win/WidgetWin.cpp:
28222 (WebCore::Widget::Widget):
28223 * platform/wx/WidgetWx.cpp:
28224 (WebCore::Widget::Widget):
28225
282262008-09-17 David Hyatt <hyatt@apple.com>
28227
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000028228 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
28229 only applies to Scrollbars so the method has been moved there and made
28230 cross-platform. Scrollbar subclasses that have a corresponding native
28231 widget can subclass setEnabled to change the enabled state of the native
28232 widget.
28233
28234 Reviewed by Sam Weinig & Darin Adler
28235
28236 * WebCore.base.exp:
28237 * platform/Scrollbar.cpp:
28238 (WebCore::Scrollbar::Scrollbar):
28239 * platform/Scrollbar.h:
28240 (WebCore::Scrollbar::enabled):
28241 (WebCore::Scrollbar::setEnabled):
28242 * platform/Widget.h:
28243 * platform/gtk/ScrollbarGtk.cpp:
28244 (ScrollbarGtk::setEnabled):
28245 * platform/gtk/ScrollbarGtk.h:
28246 * platform/gtk/WidgetGtk.cpp:
28247 * platform/mac/ScrollbarMac.h:
28248 * platform/mac/ScrollbarMac.mm:
28249 (WebCore::ScrollbarMac::scrollbarHit):
28250 (WebCore::ScrollbarMac::setEnabled):
28251 * platform/mac/WidgetMac.mm:
28252 * platform/qt/WidgetQt.cpp:
28253 (WebCore::WidgetPrivate::WidgetPrivate):
28254 * platform/win/WidgetWin.cpp:
28255 (WebCore::Widget::Widget):
28256 * platform/wx/WidgetWx.cpp:
28257
weinig@apple.com1ea40602008-09-17 23:56:27 +0000282582008-09-17 Sam Weinig <sam@webkit.org>
28259
28260 Rubber-stamped by David Hyatt.
28261
28262 Split all RenderStyle enums into their own file.
28263
28264 * GNUmakefile.am:
28265 * WebCore.vcproj/WebCore.vcproj:
28266 * WebCore.xcodeproj/project.pbxproj:
28267 * rendering/style/BorderValue.h:
28268 * rendering/style/CollapsedBorderValue.h:
28269 * rendering/style/RenderStyle.h:
28270 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
28271 (WebCore::):
28272 * rendering/style/StyleCachedImage.h:
28273 * rendering/style/StyleGeneratedImage.h:
28274 * rendering/style/StyleImage.h:
28275
sfalken@apple.combf270912008-09-17 23:53:17 +0000282762008-09-17 Steve Falkenburg <sfalken@apple.com>
28277
28278 Add back isFrameView check to fix failed assertion during scroll bar teardown.
28279
28280 Reviewed by Dave Hyatt.
28281
28282 * platform/Scrollbar.cpp:
28283 (WebCore::Scrollbar::setParent):
28284
beidson@apple.com4398e482008-09-17 23:30:00 +0000282852008-09-17 Brady Eidson <beidson@apple.com>
28286
28287 Reviewed by Mac build fix
28288
28289 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
28290
sfalken@apple.com85cc1392008-09-17 23:28:13 +0000282912008-09-17 Steve Falkenburg <sfalken@apple.com>
28292
28293 Fix build.
28294
28295 * platform/win/ScrollViewWin.cpp:
28296 (WebCore::ScrollView::setParentVisible):
28297 * plugins/win/PluginViewWin.cpp:
28298 (WebCore::PluginView::init):
28299
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +0000283002008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
28301
28302 Reviewed by Simon.
28303
28304 [QtWebKit] Implement error handling in TextCodecQt::decode
28305 Use the QTextCodec parsing state to set the sawError out variable. This
28306 is needed to pass Test 70 of acid3. The test case for this bug is
28307 fast/encoding/invalid-xml.html that is now partially passed. To pass
28308 it completely the Qt text codecs need to be adjusted to have proper
28309 error handling.
28310
28311 * platform/text/qt/TextCodecQt.cpp:
28312 (WebCore::TextCodecQt::decode):
28313
weinig@apple.comf6f0f112008-09-17 23:03:16 +0000283142008-09-17 Sam Weinig <sam@webkit.org>
28315
28316 Rubber-stamped by Dave Hyatt.
28317
28318 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
28319 out of RenderStyle.h/cpp
28320
28321 * GNUmakefile.am:
28322 * WebCore.pro:
28323 * WebCore.vcproj/WebCore.vcproj:
28324 * WebCore.xcodeproj/project.pbxproj:
28325 * WebCoreSources.bkl:
28326 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
28327 (WebCore::BorderData::hasBorderRadius):
28328 (WebCore::BorderData::borderLeftWidth):
28329 (WebCore::BorderData::borderRightWidth):
28330 (WebCore::BorderData::borderTopWidth):
28331 (WebCore::BorderData::borderBottomWidth):
28332 (WebCore::BorderData::operator!=):
28333 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
28334 (WebCore::):
28335 (WebCore::BorderValue::BorderValue):
28336 (WebCore::BorderValue::nonZero):
28337 (WebCore::BorderValue::isTransparent):
28338 (WebCore::BorderValue::isVisible):
28339 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
28340 (WebCore::):
28341 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
28342 (WebCore::CollapsedBorderValue::operator==):
28343 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
28344 (WebCore::OutlineValue::OutlineValue):
28345 * rendering/style/RenderStyle.cpp:
28346 * rendering/style/RenderStyle.h:
28347 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
28348 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
28349 (WebCore::StyleSurroundData::operator!=):
28350
bdakin@apple.com06b97182008-09-17 23:00:29 +0000283512008-09-17 Beth Dakin <bdakin@apple.com>
28352
28353 Reviewed by Darin Adler.
28354
28355 This is a better fix for: Invalid CSS code crashes Safari
28356 https://bugs.webkit.org/show_bug.cgi?id=20512
28357
28358 The spec indicates that the only valid input for a counter is a
28359 number or an identifier. So that is exactly what we allow.
28360
28361 * css/CSSParser.cpp:
28362 (WebCore::CSSParser::parseCounterContent):
28363
alp@webkit.org97ba9222008-09-17 22:16:26 +0000283642008-09-17 Alp Toker <alp@nuanti.com>
28365
28366 GTK+ build fix. Adapt to use PlatformWidget functions.
28367
28368 * platform/gtk/ScrollViewGtk.cpp:
28369 (WebCore::ScrollViewScrollbar::geometryChanged):
28370 (WebCore::ScrollView::addChild):
28371 (WebCore::ScrollView::removeChild):
28372 * platform/gtk/ScrollbarGtk.cpp:
28373 (ScrollbarGtk::ScrollbarGtk):
28374 (ScrollbarGtk::~ScrollbarGtk):
28375 (ScrollbarGtk::geometryChanged):
28376
weinig@apple.com930ed392008-09-17 22:00:45 +0000283772008-09-17 Sam Weinig <sam@webkit.org>
28378
28379 Reviewed by Adele Peterson.
28380
28381 Patch for <rdar://problem/6133884>
28382 Calling window.resizeTo() on a subframe shouldn't change the window size
28383
28384 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
28385
28386 * page/DOMWindow.cpp:
28387 (WebCore::DOMWindow::moveBy):
28388 (WebCore::DOMWindow::moveTo):
28389 (WebCore::DOMWindow::resizeBy):
28390 (WebCore::DOMWindow::resizeTo):
28391
bdakin@apple.com8f952d82008-09-17 21:35:02 +0000283922008-09-17 Beth Dakin <bdakin@apple.com>
28393
28394 Reviewed by Adam Roben.
28395
28396 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
28397 code crashes Safari
28398 and corresponding: <rdar://problem/6173832>
28399
28400 Reading through the spec, it seems like a function is not valid
28401 input for a counter. So this patch checks for that and bails in the
28402 case of invalid input.
28403
28404 * css/CSSParser.cpp:
28405 (WebCore::CSSParser::parseCounterContent):
28406
antti@apple.comb37d4052008-09-17 21:14:13 +0000284072008-09-17 Greg Bolsinga <bolsinga@apple.com>
28408
28409 Reviewed by Antti Koivisto.
28410
28411 Fix <rdar://problem/6227089>
28412 Crash in WebCore::Frame::setNeedsReapplyStyles()
28413
28414 View is null checked elsewhere too.
28415
28416 * page/Frame.cpp:
28417 (WebCore::Frame::setNeedsReapplyStyles):
28418
hyatt@apple.com8e340252008-09-17 20:59:45 +0000284192008-09-17 David Hyatt <hyatt@apple.com>
28420
28421 Make the notion of having a native widget backing a Widget cross-platform.
28422 The PlatformWidget abstraction (which already existed) is used for this.
28423 Windows = HWND
28424 Qt = QWidget
28425 Mac = NSView
28426 wx = wxWindow
28427 Gtk = GtkWidget
28428
28429 There are new cross-platform methods that replace all of the unique
28430 platform-specific methods.
28431 platformWidget()
28432 setPlatformWidget()
28433
28434 For plugins, on every platform except Qt on Windows, the plugin's native
28435 widget is now stored in the Widget base class. Since Qt on Windows uses
28436 HWNDs for plugins instead of QWidget, it is the only platform to keep the
28437 m_window variable in PluginView.
28438
28439 Reviewed by Sam Weinig
28440
28441 * WebCore.base.exp:
28442 * bindings/js/ScriptControllerMac.mm:
28443 (WebCore::ScriptController::createScriptInstanceForWidget):
28444 * page/mac/AccessibilityObjectWrapper.mm:
28445 (-[AccessibilityObjectWrapper attachmentView]):
28446 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
28447 * page/mac/EventHandlerMac.mm:
28448 (WebCore::EventHandler::passMouseDownEventToWidget):
28449 (WebCore::EventHandler::mouseDownViewIfStillGood):
28450 (WebCore::EventHandler::passWheelEventToWidget):
28451 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
28452 * platform/Widget.cpp:
28453 (WebCore::Widget::init):
28454 (WebCore::Widget::setParent):
28455 (WebCore::Widget::releasePlatformWidget):
28456 (WebCore::Widget::retainPlatformWidget):
28457 * platform/Widget.h:
28458 (WebCore::Widget::platformWidget):
28459 (WebCore::Widget::setPlatformWidget):
28460 * platform/gtk/WidgetGtk.cpp:
28461 (WebCore::Widget::Widget):
28462 (WebCore::Widget::setFocus):
28463 (WebCore::gdkDrawable):
28464 (WebCore::Widget::setCursor):
28465 (WebCore::Widget::show):
28466 (WebCore::Widget::hide):
28467 (WebCore::Widget::setEnabled):
28468 (WebCore::Widget::isEnabled):
28469 (WebCore::Widget::paint):
28470 * platform/mac/PlatformScreenMac.mm:
28471 (WebCore::screenRect):
28472 (WebCore::screenAvailableRect):
28473 * platform/mac/ScrollViewMac.mm:
28474 (WebCore::ScrollView::scrollView):
28475 (WebCore::ScrollView::update):
28476 (WebCore::ScrollView::inWindow):
28477 * platform/mac/ScrollbarMac.mm:
28478 (WebCore::ScrollbarMac::ScrollbarMac):
28479 (WebCore::ScrollbarMac::~ScrollbarMac):
28480 (WebCore::ScrollbarMac::updateThumbPosition):
28481 (WebCore::ScrollbarMac::updateThumbProportion):
28482 (WebCore::ScrollbarMac::scrollbarHit):
28483 * platform/mac/WidgetMac.mm:
28484 (WebCore::Widget::Widget):
28485 (WebCore::Widget::setEnabled):
28486 (WebCore::Widget::isEnabled):
28487 (WebCore::Widget::setFocus):
28488 (WebCore::Widget::getOuterView):
28489 (WebCore::Widget::paint):
28490 (WebCore::Widget::invalidate):
28491 (WebCore::Widget::invalidateRect):
28492 (WebCore::Widget::setIsSelected):
28493 (WebCore::Widget::releasePlatformWidget):
28494 (WebCore::Widget::retainPlatformWidget):
28495 * platform/qt/WidgetQt.cpp:
28496 (WebCore::WidgetPrivate::WidgetPrivate):
28497 (WebCore::Widget::Widget):
28498 (WebCore::Widget::setFrameGeometry):
28499 (WebCore::Widget::show):
28500 (WebCore::Widget::hide):
28501 (WebCore::Widget::isEnabled):
28502 (WebCore::Widget::setEnabled):
28503 (WebCore::Widget::invalidateRect):
28504 (WebCore::Widget::containingWindow):
28505 * platform/win/WidgetWin.cpp:
28506 (WebCore::Widget::Widget):
28507 * platform/wx/WidgetWx.cpp:
28508 (WebCore::Widget::Widget):
28509 (WebCore::Widget::frameGeometry):
28510 (WebCore::Widget::setFocus):
28511 (WebCore::Widget::setCursor):
28512 (WebCore::Widget::show):
28513 (WebCore::Widget::hide):
28514 (WebCore::Widget::setFrameGeometry):
28515 (WebCore::Widget::setEnabled):
28516 (WebCore::Widget::isEnabled):
28517 (WebCore::Widget::invalidate):
28518 (WebCore::Widget::invalidateRect):
28519 (WebCore::Widget::paint):
28520 * plugins/PluginView.cpp:
28521 (WebCore::PluginView::PluginView):
28522 * plugins/PluginView.h:
28523 (WebCore::PluginView::platformPluginWidget):
28524 * plugins/gtk/PluginViewGtk.cpp:
28525 (WebCore::PluginView::updateWindow):
28526 (WebCore::PluginView::setFocus):
28527 (WebCore::PluginView::show):
28528 (WebCore::PluginView::hide):
28529 (WebCore::PluginView::setParent):
28530 (WebCore::PluginView::setNPWindowRect):
28531 (WebCore::PluginView::setParentVisible):
28532 (WebCore::PluginView::getValue):
28533 (WebCore::PluginView::forceRedraw):
28534 (WebCore::PluginView::init):
28535 * plugins/qt/PluginViewQt.cpp:
28536 (WebCore::PluginView::updateWindow):
28537 (WebCore::PluginView::setFocus):
28538 (WebCore::PluginView::show):
28539 (WebCore::PluginView::hide):
28540 (WebCore::PluginView::setParent):
28541 (WebCore::PluginView::setNPWindowRect):
28542 (WebCore::PluginView::setParentVisible):
28543 (WebCore::PluginView::getValue):
28544 (WebCore::PluginView::~PluginView):
28545 (WebCore::PluginView::init):
28546 * plugins/win/PluginViewWin.cpp:
28547 (WebCore::PluginView::updateWindow):
28548 (WebCore::PluginView::setFocus):
28549 (WebCore::PluginView::show):
28550 (WebCore::PluginView::hide):
28551 (WebCore::PluginView::paint):
28552 (WebCore::PluginView::setParent):
28553 (WebCore::PluginView::setParentVisible):
28554 (WebCore::PluginView::setNPWindowRect):
28555 (WebCore::PluginView::stop):
28556 (WebCore::PluginView::invalidateRect):
28557 (WebCore::PluginView::forceRedraw):
28558 (WebCore::PluginView::~PluginView):
28559 (WebCore::PluginView::init):
28560
weinig@apple.comf713d132008-09-17 20:16:48 +0000285612008-09-17 Sam Weinig <sam@webkit.org>
28562
28563 Fix assert.
28564
28565 * platform/Widget.cpp:
28566 (WebCore::Widget::setParent):
28567
hyatt@apple.comd9242e32008-09-17 18:46:31 +0000285682008-09-17 David Hyatt <hyatt@apple.com>
28569
28570 Beginnings of Widget refactoring (in order to make the mixing of
28571 widgets with and without corresponding native widgets more cross-platform).
28572
28573 This first patch makes the concept of a parent ScrollView cross-platform.
28574
28575 Note the similarity of the show/hide methods on the three PluginViews. This
28576 will be refactored better in a later patch so that they can all share
28577 a base class Widget show/hide method. For now the changes were made
28578 simply to be able to bring WidgetWin's setParent method up into Widget.
28579
28580 Reviewed by Sam Weinig
28581
28582 * WebCore.base.exp:
28583 * platform/ScrollView.h:
28584 * platform/Widget.cpp:
28585 (WebCore::Widget::init):
28586 (WebCore::Widget::setParent):
28587 * platform/Widget.h:
28588 (WebCore::Widget::isSelfVisible):
28589 (WebCore::Widget::isParentVisible):
28590 (WebCore::Widget::isVisible):
28591 (WebCore::Widget::setParentVisible):
28592 (WebCore::Widget::isPluginView):
28593 (WebCore::Widget::parent):
28594 (WebCore::Widget::handleEvent):
28595 (WebCore::Widget::geometryChanged):
28596 * platform/gtk/WidgetGtk.cpp:
28597 (WebCore::Widget::Widget):
28598 * platform/mac/ScrollViewMac.mm:
28599 (WebCore::ScrollView::addChild):
28600 (WebCore::ScrollView::removeChild):
28601 * platform/mac/ScrollbarMac.mm:
28602 (WebCore::ScrollbarMac::~ScrollbarMac):
28603 * platform/mac/WidgetMac.mm:
28604 (WebCore::Widget::Widget):
28605 (WebCore::Widget::~Widget):
28606 * platform/qt/WidgetQt.cpp:
28607 (WebCore::WidgetPrivate::WidgetPrivate):
28608 (WebCore::Widget::Widget):
28609 (WebCore::Widget::topLevel):
28610 * platform/win/ScrollViewWin.cpp:
28611 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
28612 (WebCore::ScrollView::setAncestorVisible):
28613 (WebCore::ScrollView::show):
28614 (WebCore::ScrollView::hide):
28615 * platform/win/WidgetWin.cpp:
28616 (WebCore::Widget::Widget):
28617 (WebCore::Widget::setParent):
28618 * platform/wx/WidgetWx.cpp:
28619 (WebCore::Widget::Widget):
28620 * plugins/PluginView.cpp:
28621 (WebCore::PluginView::PluginView):
28622 * plugins/PluginView.h:
28623 * plugins/gtk/PluginViewGtk.cpp:
28624 (WebCore::PluginView::show):
28625 (WebCore::PluginView::hide):
28626 (WebCore::PluginView::setParentVisible):
28627 * plugins/qt/PluginViewQt.cpp:
28628 (WebCore::PluginView::show):
28629 (WebCore::PluginView::hide):
28630 (WebCore::PluginView::setParentVisible):
28631 * plugins/win/PluginViewWin.cpp:
28632 (WebCore::PluginView::show):
28633 (WebCore::PluginView::hide):
28634 (WebCore::PluginView::setParentVisible):
28635
ap@webkit.org18da1a32008-09-17 16:50:22 +0000286362008-09-17 Alexey Proskuryakov <ap@webkit.org>
28637
28638 Reviewed by Adam Roben.
28639
28640 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
28641
28642 * platform/text/TextCodecICU.cpp:
28643 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
28644
vestbo@webkit.orge48e6362008-09-17 13:29:42 +0000286452008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
28646
28647 Fix the QtWebKit/Mac build
28648
28649 * platform/qt/ScrollViewQt.cpp: add include
28650
ap@webkit.org18da1a32008-09-17 16:50:22 +0000286512008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +000028652
28653 Add a #define to control whether or not to use an NSScroller on Mac.
28654 This ifdef will allow the new NSView-less NSScroller on Mac to be
28655 developed side by side with the current one.
28656
28657 The new scroller paints a debug red if turned on (although due to
28658 Widget issues you won't see anything paint yet).
28659
28660 Reviewed by olliej
28661
28662 * platform/Scrollbar.cpp:
28663 * platform/Scrollbar.h:
28664 * platform/mac/ScrollbarMac.h:
28665 * platform/mac/ScrollbarMac.mm:
28666 * platform/mac/ScrollbarThemeMac.cpp:
28667 (WebCore::ScrollbarThemeMac::paint):
28668 * platform/mac/ScrollbarThemeMac.h:
28669
alp@webkit.orgf06bac02008-09-17 04:30:12 +0000286702008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
28671
28672 Reviewed by Alp Toker.
28673
28674 http://bugs.webkit.org/show_bug.cgi?id=20854
28675 [GTK] Windows can be not realized in ScrollView::update
28676
28677 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
28678
28679 * platform/gtk/ScrollViewGtk.cpp:
28680 (WebCore::ScrollView::update):
28681
alp@webkit.org226f72a2008-09-17 04:22:02 +0000286822008-09-16 Alp Toker <alp@nuanti.com>
28683
28684 Suggested by Dave Hyatt.
28685
28686 Build fix and cleanup. Rename ScrollBar to Scrollbar.
28687
28688 * GNUmakefile.am:
28689 * WebCore.pro:
28690 * WebCore.vcproj/WebCore.vcproj:
28691 * WebCore.xcodeproj/project.pbxproj:
28692 * WebCoreSources.bkl:
28693 * editing/EditorCommand.cpp:
28694 * page/EventHandler.cpp:
28695 * page/gtk/EventHandlerGtk.cpp:
28696 * page/mac/EventHandlerMac.mm:
28697 * page/mac/FrameMac.mm:
28698 * page/qt/EventHandlerQt.cpp:
28699 * page/wx/EventHandlerWx.cpp:
28700 * platform/PopupMenu.h:
28701 * platform/ScrollBar.cpp: Removed.
28702 * platform/ScrollBar.h: Removed.
28703 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
28704 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
28705 * platform/gtk/ScrollbarGtk.cpp:
28706 (ScrollbarGtk::ScrollbarGtk):
28707 * platform/gtk/ScrollbarGtk.h:
28708 * platform/mac/ScrollbarMac.h:
28709 * platform/qt/ScrollViewQt.cpp:
28710 * platform/qt/ScrollbarQt.cpp:
28711 * platform/qt/ScrollbarThemeQt.cpp:
28712 * platform/win/PlatformScrollBar.h:
28713 * platform/win/PopupMenuWin.cpp:
28714 * platform/win/ScrollViewWin.cpp:
28715 * platform/win/ScrollbarThemeWin.cpp:
28716 * platform/wx/ScrollViewWx.cpp:
28717 * platform/wx/TemporaryLinkStubs.cpp:
28718 * rendering/HitTestResult.cpp:
28719 * rendering/RenderLayer.cpp:
28720 * rendering/RenderTextControl.cpp:
28721
hyatt@apple.com7597c172008-09-17 02:15:08 +0000287222008-09-16 David Hyatt <hyatt@apple.com>
28723
hyatt@apple.comfde412d2008-09-17 03:49:48 +000028724 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
28725 it can be called from ScrollbarQt.
28726
28727 * platform/ScrollBar.cpp:
28728 (WebCore::Scrollbar::moveThumb):
28729 (WebCore::Scrollbar::handleMouseMoveEvent):
28730 (WebCore::Scrollbar::handleMousePressEvent):
28731 * platform/ScrollBar.h:
28732 * platform/qt/ScrollViewQt.cpp:
28733 * platform/qt/ScrollbarQt.cpp:
28734 (WebCore::Scrollbar::handleContextMenuEvent):
28735
287362008-09-16 David Hyatt <hyatt@apple.com>
28737
hyatt@apple.com4e3b8602008-09-17 03:17:11 +000028738 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
28739 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
28740 now just use Scrollbar.
28741
28742 Reviewed by Sam Weinig
28743
28744 * GNUmakefile.am:
28745 * WebCore.pro:
28746 * WebCore.vcproj/WebCore.vcproj:
28747 * WebCore.xcodeproj/project.pbxproj:
28748 * page/mac/FrameMac.mm:
28749 * platform/PopupMenu.h:
28750 (WebCore::PopupMenu::scrollbar):
28751 * platform/ScrollBar.cpp:
28752 (WebCore::createNativeScrollbar):
28753 * platform/ScrollBar.h:
28754 * platform/gtk/PlatformScrollBar.h: Removed.
28755 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
28756 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
28757 (gtkScrollEventCallback):
28758 (ScrollbarGtk::ScrollbarGtk):
28759 (ScrollbarGtk::~ScrollbarGtk):
28760 (ScrollbarGtk::updateThumbPosition):
28761 (ScrollbarGtk::updateThumbProportion):
28762 (ScrollbarGtk::setFrameGeometry):
28763 (ScrollbarGtk::geometryChanged):
28764 (ScrollbarGtk::gtkValueChanged):
28765 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
28766 * platform/mac/PlatformScrollBar.h: Removed.
28767 * platform/mac/PlatformScrollBarMac.mm: Removed.
28768 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
28769 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
28770 (-[WebCoreScrollBar initWithScrollbarMac:]):
28771 (-[WebCoreScrollBar detachScrollbarMac]):
28772 (WebCore::Scrollbar::createNativeScrollbar):
28773 (WebCore::ScrollbarMac::ScrollbarMac):
28774 (WebCore::ScrollbarMac::~ScrollbarMac):
28775 (WebCore::ScrollbarMac::updateThumbPosition):
28776 (WebCore::ScrollbarMac::updateThumbProportion):
28777 (WebCore::ScrollbarMac::scrollbarHit):
28778 * platform/qt/PlatformScrollBar.h: Removed.
28779 * platform/qt/PlatformScrollBarQt.cpp: Removed.
28780 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
28781 (WebCore::Scrollbar::handleContextMenuEvent):
28782 * rendering/HitTestResult.cpp:
28783 * rendering/RenderLayer.cpp:
28784 (WebCore::RenderLayer::createScrollbar):
28785 (WebCore::RenderLayer::destroyScrollbar):
28786 * rendering/RenderLayer.h:
28787 * rendering/RenderListBox.cpp:
28788 (WebCore::RenderListBox::~RenderListBox):
28789 (WebCore::RenderListBox::updateFromElement):
28790 (WebCore::RenderListBox::isPointInOverflowControl):
28791 * rendering/RenderObject.h:
28792 * rendering/RenderTextControl.cpp:
28793
287942008-09-16 David Hyatt <hyatt@apple.com>
28795
hyatt@apple.com7597c172008-09-17 02:15:08 +000028796 Make the scrollbar resizer-dodging logic cross-platform in the
28797 Scrollbar class.
28798
28799 Reviewed by Sam Weinig
28800
28801 * platform/ScrollBar.cpp:
28802 (WebCore::Scrollbar::setFrameGeometry):
28803 (WebCore::Scrollbar::setParent):
28804 (WebCore::Scrollbar::windowClipRect):
28805 * platform/ScrollBar.h:
28806 * platform/ScrollView.h:
28807 (WebCore::ScrollView::windowResizerRect):
28808 (WebCore::ScrollView::resizerOverlapsContent):
28809 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
28810 * platform/Widget.h:
28811 (WebCore::Widget::setParent):
28812 * platform/mac/WidgetMac.mm:
28813 (WebCore::Widget::convertToContainingWindow):
28814 * platform/win/PlatformScrollBar.h:
28815 * platform/win/PlatformScrollBarWin.cpp:
28816
mitz@apple.com6d925202008-09-16 17:34:10 +0000288172008-09-16 Dan Bernstein <mitz@apple.com>
28818
mitz@apple.comd9462a52008-09-16 17:40:20 +000028819 Reviewed by Darin Adler.
28820
28821 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
28822 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
28823
28824 Covered by fast/repaint/4776765.html
28825
28826 * rendering/RenderBlock.cpp:
28827 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
28828 did not have layout in the beginning.
28829 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
28830 layout in the beginning, repaint it in its new position, to compensate
28831 for the above (regardless of whether it "moved").
28832 * rendering/RenderObject.cpp:
28833 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
28834 about generalizing this fix in the future.
28835
288362008-09-16 Dan Bernstein <mitz@apple.com>
28837
mitz@apple.com6d925202008-09-16 17:34:10 +000028838 Reviewed by Dave Hyatt.
28839
28840 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
28841 Div does not notice when grandparent changes height
28842
28843 Test: fast/block/basic/quirk-percent-height-grandchild.html
28844
28845 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
28846 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
28847
28848 Test: fast/replaced/percent-height-in-anonymous-block.html
28849
28850 Added a two-way mapping between boxes with percentage heights and
28851 their non-parent ancestors up to the one the height is computed relative
28852 to. In quirks mode (the first bug), this can be any number of containing
28853 block with auto height. In strict mode (the second bug) this can be
28854 the containing block of an anonymous block containing a replaced
28855 element.
28856
28857 * rendering/RenderBlock.cpp:
28858 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
28859 mapping to/from this block to percentage-height descendants.
28860 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
28861 percentage-height descendants (and their containing block ancestry chain
28862 up to this block) for layout. This ensures that those descendants whose
28863 height depends on the height of this block (or an ancestor) are updated.
28864 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
28865 a two-way mapping between this block and the given box.
28866 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
28867 all the mapping to/from this box.
28868 * rendering/RenderBlock.h:
28869 * rendering/RenderBox.cpp:
28870 (WebCore::RenderBox::setStyle): Added calls to
28871 removePercentHeightDescendant() when style changes and the box
28872 previously had a percentage height. An exception is when the style
28873 change does not require layout, in which case the box still has
28874 a percentage height and the mappings are valid. In all other cases,
28875 any required mappings will be (re-)established during layout.
28876 (WebCore::RenderBox::destroy): Added a call to
28877 removePercentHeightDescendant.
28878 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
28879 mode, if a higher-than-parent containing block is affecting the box's
28880 height, creates a mapping between the box and that block.
28881 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
28882 anonymous containing blocks, if any, and when that happens, use
28883 addPercentHeightDescendant() to ensure that the non-anonymous block
28884 is aware of the dependent percent-height box.
28885
alp@webkit.org1dbd9a92008-09-16 16:59:18 +0000288862008-09-16 Dirk Schulze <vbs85@gmx.de>
28887
28888 Reviewed by Oliver Hunt and Alp Toker.
28889
28890 Implemented toDataURL in Cairo. Only PNG support
28891 at the moment.
28892
28893 Qt, Cairo and wx require toDataURL implementations
28894 https://bugs.webkit.org/show_bug.cgi?id=17719
28895
28896 * platform/MIMETypeRegistry.cpp:
28897 (WebCore::initializeSupportedImageMIMETypesForEncoding):
28898 * platform/graphics/cairo/ImageBufferCairo.cpp:
28899 (WebCore::ImageBuffer::ImageBuffer):
28900 (WebCore::writeFunction):
28901 (WebCore::ImageBuffer::toDataURL):
28902
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +0000289032008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
28904
28905 Reviewed by Simon.
28906
28907 Hide unused media element controls in the QtWebKit port
28908
28909 * platform/qt/html4-adjustments-qt.css
28910
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +0000289112008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
28912
28913 Reviewed by Simon.
28914
28915 Fix compilation of the Qt scrollbar code.
28916
28917 * platform/qt/PlatformScrollBarQt.cpp:
28918 (WebCore::scPart):
28919 (WebCore::styleOptionSlider):
28920 (WebCore::thumbLength):
28921 (WebCore::pixelPosToRangeValue):
28922 (WebCore::PlatformScrollbar::handleContextMenuEvent):
28923
treat@webkit.orga35f6b62008-09-16 14:15:29 +0000289242008-09-16 Adam Treat <treat@kde.org>
28925
28926 Reviewed by Anders Carlsson.
28927
28928 Prevent accesses off of the end of the buffer introduced in r36450
28929 and when checking for descriptions of mime. Also, coding style fix.
28930
28931 * plugins/qt/PluginPackageQt.cpp:
28932 (WebCore::PluginPackage::fetchInfo):
28933
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +0000289342008-09-15 Rob Buis <buis@kde.org>
28935
28936 Reviewed by Eric.
28937
28938 https://bugs.webkit.org/show_bug.cgi?id=20634
28939 SVG transform attribute is ignored by <use> in <clipPath>
28940
28941 Transform the paths with the local transform when part
28942 of a clip path.
28943
28944 Test: svg/custom/use-clipped-transform.svg
28945
28946 * svg/SVGClipPathElement.cpp:
28947 (WebCore::SVGClipPathElement::canvasResource):
28948 * svg/SVGStyledTransformableElement.cpp:
28949 (WebCore::SVGStyledTransformableElement::toClipPath):
28950 * svg/SVGStyledTransformableElement.h:
28951
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +0000289522008-09-15 Dave Hyatt <hyatt@apple.com>
28953
28954 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
28955 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
28956
28957 Reviewed by Sam Weinig
28958
28959 * platform/ScrollBar.cpp:
28960 (WebCore::thumbUnderMouse):
28961 (WebCore::Scrollbar::autoscrollPressedPart):
28962 (WebCore::Scrollbar::startTimerIfNeeded):
28963 (WebCore::moveThumb):
28964 (WebCore::Scrollbar::handleMouseMoveEvent):
28965 (WebCore::Scrollbar::handleMousePressEvent):
28966 * platform/ScrollBar.h:
28967 (WebCore::Scrollbar::pressedPos):
28968 (WebCore::Scrollbar::pixelStep):
28969 (WebCore::Scrollbar::setPressedPos):
28970 * platform/ScrollbarTheme.h:
28971 (WebCore::ScrollbarTheme::thumbPosition):
28972 (WebCore::ScrollbarTheme::thumbLength):
28973 (WebCore::ScrollbarTheme::trackPosition):
28974 (WebCore::ScrollbarTheme::trackLength):
28975 * platform/ScrollbarThemeComposite.cpp:
28976 (WebCore::ScrollbarThemeComposite::trackPosition):
28977 * platform/ScrollbarThemeComposite.h:
28978 * platform/qt/PlatformScrollBarQt.cpp:
28979 (WebCore::PlatformScrollbar::PlatformScrollbar):
28980 (WebCore::):
28981 * platform/qt/ScrollbarThemeQt.cpp:
28982 (WebCore::styleOptionSlider):
28983 (WebCore::ScrollbarThemeQt::hitTest):
28984 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
28985 (WebCore::ScrollbarThemeQt::invalidatePart):
28986 (WebCore::ScrollbarThemeQt::thumbPosition):
28987 (WebCore::):
28988 * platform/qt/ScrollbarThemeQt.h:
28989 * platform/win/ScrollbarThemeSafari.cpp:
28990 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
28991 * platform/win/ScrollbarThemeSafari.h:
28992 * platform/win/ScrollbarThemeWin.cpp:
28993 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
28994 * platform/win/ScrollbarThemeWin.h:
28995
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +0000289962008-09-15 David Smith <catfish.man@gmail.com>
28997
28998 Reviewed by Sam Weinig.
28999
29000 https://bugs.webkit.org/show_bug.cgi?id=20180
29001
29002 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
29003
29004 * GNUmakefile.am: Add CSSNthSelector
29005 * WebCore.pro: Add CSSNthSelector
29006 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
29007 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
29008 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
29009 * css/CSSNthSelector.cpp: Added.
29010 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
29011 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
29012 * css/CSSNthSelector.h: Added.
29013 (WebCore::CSSNthSelector::CSSNthSelector):
29014 (WebCore::CSSNthSelector::~CSSNthSelector):
29015 * css/CSSParser.cpp:
29016 (WebCore::CSSParser::createFloatingNthSelector):
29017 * css/CSSParser.h:
29018 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
29019 (WebCore::CSSSelector::CSSSelector):
29020 * css/CSSStyleSelector.cpp:
29021 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
29022
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +0000290232008-09-15 Matt Lilek <webkit@mattlilek.com>
29024
29025 Reviewed by Tim Hatcher.
29026
29027 Clean up some inspector JS callbacks to remove an extra return.
29028
29029 * page/InspectorController.cpp:
29030 (WebCore::hideDOMNodeHighlight):
29031 (WebCore::loaded):
29032 (WebCore::unloading):
29033 (WebCore::attach):
29034 (WebCore::detach):
29035 (WebCore::startDebuggingAndReloadInspectedPage):
29036 (WebCore::stopDebugging):
29037 (WebCore::debuggerAttached):
29038 (WebCore::pauseOnExceptions):
29039 (WebCore::pauseInDebugger):
29040 (WebCore::resumeDebugger):
29041 (WebCore::stepOverStatementInDebugger):
29042 (WebCore::stepIntoStatementInDebugger):
29043 (WebCore::stepOutOfFunctionInDebugger):
29044 (WebCore::isWindowVisible):
29045 (WebCore::closeWindow):
29046
hyatt@apple.com8e809932008-09-16 02:29:09 +0000290472008-09-15 Dave Hyatt <hyatt@apple.com>
29048
29049 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
29050 now share most of their code.
29051
29052 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
29053 also is never used in our code anyway.
29054
29055 Reviewed by Sam Weinig
29056
29057 * WebCore.vcproj/WebCore.vcproj:
29058 * platform/ScrollTypes.h:
29059 (WebCore::):
29060 * platform/ScrollbarThemeComposite.cpp:
29061 (WebCore::ScrollbarThemeComposite::splitTrack):
29062 (WebCore::ScrollbarThemeComposite::thumbLength):
29063 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
29064 * platform/ScrollbarThemeComposite.h:
29065 * platform/mac/PlatformScrollBarMac.mm:
29066 (NSControlSizeForScrollBarControlSize):
29067 * platform/win/PlatformScrollBar.h:
29068 * platform/win/PlatformScrollBarSafari.cpp: Removed.
29069 * platform/win/PlatformScrollBarWin.cpp:
29070 (WebCore::PlatformScrollbar::PlatformScrollbar):
29071 * platform/win/ScrollbarThemeSafari.cpp:
29072 (WebCore::ScrollbarTheme::nativeTheme):
29073 (WebCore::):
29074 (WebCore::scrollbarControlStateFromThemeState):
29075 (WebCore::ScrollbarThemeSafari::hasButtons):
29076 (WebCore::ScrollbarThemeSafari::hasThumb):
29077 (WebCore::buttonRepaintRect):
29078 (WebCore::ScrollbarThemeSafari::backButtonRect):
29079 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
29080 (WebCore::trackRepaintRect):
29081 (WebCore::ScrollbarThemeSafari::trackRect):
29082 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
29083 (WebCore::ScrollbarThemeSafari::paintTrack):
29084 (WebCore::ScrollbarThemeSafari::paintButton):
29085 (WebCore::ScrollbarThemeSafari::paintThumb):
29086 * platform/win/ScrollbarThemeSafari.h:
29087 * platform/win/ScrollbarThemeWin.cpp:
29088 * platform/win/ScrollbarThemeWin.h:
29089
cfleizach@apple.com0ce07032008-09-16 00:17:58 +0000290902008-09-15 Chris Fleizach <cfleizach@apple.com>
29091
29092 Reviewed by Darin Adler, Beth Dakin
29093
29094 <rdar://problem/4003789> Expose lists as AXList
29095 <rdar://problem/5707399> VO: Definition lists not announced in Safari
29096
29097 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
29098 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
29099 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
29100 as does each <dd> tag ("definition")
29101
29102 Test: accessibility/lists.html
29103
29104 * GNUmakefile.am:
29105 * WebCore.pro:
29106 * WebCore.vcproj/WebCore.vcproj:
29107 * WebCore.xcodeproj/project.pbxproj:
29108 * WebCoreSources.bkl:
29109 * page/AXObjectCache.cpp:
29110 * page/AccessibilityList.cpp: Added.
29111 * page/AccessibilityList.h: Added.
29112 * page/AccessibilityObject.h:
29113 * page/AccessibilityRenderObject.cpp:
29114 * page/AccessibilityTable.cpp:
29115 * page/mac/AccessibilityObjectWrapper.mm:
29116 * page/mac/WebCoreViewFactory.h:
29117 * platform/LocalizedStrings.h:
29118 * platform/mac/LocalizedStringsMac.mm:
29119 * platform/qt/Localizations.cpp:
29120
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +0000291212008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
29122
29123 Reviewed by Eric.
29124
29125 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
29126 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
29127
29128 Several renames:
29129 dispatchHTMLEvent -> dispatchEventForType
29130 setHTMLEventListener -> setEventListenerForType
29131 getHTMLEventListener -> eventListenerForType
29132 removeHTMLEventListener -> removeEventListenerForType
29133 isHTMLEventListener -> isAttachedToEventTargetNode
29134 ...
29135
29136 Similar renames for the dispatch/get/set/*Window*Event functions.
29137 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
29138
29139 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
29140 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
29141
29142 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
29143 SVG is able to use the code as well now. This affects most files in html/.
29144
29145 No functional changes.
29146
29147 * GNUmakefile.am:
29148 * WebCore.pro:
29149 * WebCore.vcproj/WebCore.vcproj:
29150 * WebCore.xcodeproj/project.pbxproj:
29151 * bindings/js/JSDOMWindowBase.cpp:
29152 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
29153 (WebCore::JSDOMWindowBase::setListener):
29154 (WebCore::JSDOMWindowBase::getListener):
29155 (WebCore::JSDOMWindowBase::findJSEventListener):
29156 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
29157 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
29158 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
29159 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
29160 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
29161 * bindings/js/JSDOMWindowBase.h:
29162 * bindings/js/JSEventListener.cpp:
29163 (WebCore::JSAbstractEventListener::handleEvent):
29164 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
29165 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
29166 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
29167 (WebCore::JSEventListener::JSEventListener):
29168 (WebCore::JSEventListener::~JSEventListener):
29169 (WebCore::JSLazyEventListener::JSLazyEventListener):
29170 (WebCore::eventParameterName):
29171 (WebCore::JSLazyEventListener::parseCode):
29172 (WebCore::getNodeEventListener):
29173 * bindings/js/JSEventListener.h:
29174 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
29175 (WebCore::JSUnprotectedEventListener::create):
29176 (WebCore::JSEventListener::create):
29177 (WebCore::JSLazyEventListener::):
29178 (WebCore::JSLazyEventListener::create):
29179 * bindings/js/JSEventTargetNode.cpp:
29180 (WebCore::JSEventTargetNode::setListener):
29181 (WebCore::JSEventTargetNode::getListener):
29182 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
29183 * bindings/js/JSSVGLazyEventListener.h: Removed.
29184 * bindings/js/ScriptController.cpp:
29185 (WebCore::ScriptController::createHTMLEventHandler):
29186 (WebCore::ScriptController::createSVGEventHandler):
29187 * dom/Document.cpp:
29188 (WebCore::Document::setFocusedNode):
29189 (WebCore::Document::handleWindowEvent):
29190 (WebCore::Document::setWindowEventListenerForType):
29191 (WebCore::Document::windowEventListenerForType):
29192 (WebCore::Document::removeWindowEventListenerForType):
29193 (WebCore::Document::addWindowEventListener):
29194 (WebCore::Document::hasWindowEventListener):
29195 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
29196 (WebCore::Document::createEventListener):
29197 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
29198 * dom/Document.h:
29199 * dom/EventListener.h:
29200 (WebCore::EventListener::isAttachedToEventTargetNode):
29201 * dom/EventTargetNode.cpp:
29202 (WebCore::EventTargetNode::dispatchFocusEvent):
29203 (WebCore::EventTargetNode::dispatchBlurEvent):
29204 (WebCore::EventTargetNode::dispatchEventForType):
29205 (WebCore::EventTargetNode::removeEventListenerForType):
29206 (WebCore::EventTargetNode::setEventListenerForType):
29207 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
29208 (WebCore::EventTargetNode::eventListenerForType):
29209 * dom/EventTargetNode.h:
29210 * dom/XMLTokenizer.cpp:
29211 (WebCore::XMLTokenizer::notifyFinished):
29212 * editing/ReplaceSelectionCommand.cpp:
29213 (WebCore::ReplacementFragment::ReplacementFragment):
29214 * html/HTMLBodyElement.cpp:
29215 (WebCore::HTMLBodyElement::parseMappedAttribute):
29216 * html/HTMLButtonElement.cpp:
29217 (WebCore::HTMLButtonElement::parseMappedAttribute):
29218 * html/HTMLElement.cpp:
29219 (WebCore::HTMLElement::parseMappedAttribute):
29220 (WebCore::HTMLElement::checkDTD):
29221 * html/HTMLElement.h:
29222 * html/HTMLFormControlElement.cpp:
29223 (WebCore::HTMLFormControlElement::onChange):
29224 * html/HTMLFormElement.cpp:
29225 (WebCore::HTMLFormElement::prepareSubmit):
29226 (WebCore::HTMLFormElement::reset):
29227 (WebCore::HTMLFormElement::parseMappedAttribute):
29228 * html/HTMLFrameElementBase.cpp:
29229 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
29230 * html/HTMLFrameSetElement.cpp:
29231 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
29232 * html/HTMLImageElement.cpp:
29233 (WebCore::HTMLImageElement::parseMappedAttribute):
29234 * html/HTMLImageLoader.cpp:
29235 (WebCore::HTMLImageLoader::dispatchLoadEvent):
29236 * html/HTMLInputElement.cpp:
29237 (WebCore::HTMLInputElement::parseMappedAttribute):
29238 (WebCore::HTMLInputElement::setValueFromRenderer):
29239 (WebCore::HTMLInputElement::onSearch):
29240 * html/HTMLMediaElement.cpp:
29241 (WebCore::HTMLMediaElement::asyncEventTimerFired):
29242 (WebCore::HTMLMediaElement::load):
29243 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
29244 (WebCore::HTMLMediaElement::setReadyState):
29245 (WebCore::HTMLMediaElement::seek):
29246 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
29247 (WebCore::HTMLMediaElement::willSaveToCache):
29248 * html/HTMLObjectElement.cpp:
29249 (WebCore::HTMLObjectElement::parseMappedAttribute):
29250 * html/HTMLScriptElement.cpp:
29251 (WebCore::HTMLScriptElement::parseMappedAttribute):
29252 (WebCore::HTMLScriptElement::dispatchLoadEvent):
29253 (WebCore::HTMLScriptElement::dispatchErrorEvent):
29254 * html/HTMLSelectElement.cpp:
29255 (WebCore::HTMLSelectElement::parseMappedAttribute):
29256 * html/HTMLTextAreaElement.cpp:
29257 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
29258 * html/HTMLTokenizer.cpp:
29259 (WebCore::HTMLTokenizer::notifyFinished):
29260 * page/AccessibilityRenderObject.cpp:
29261 (WebCore::AccessibilityRenderObject::mouseButtonListener):
29262 * page/EventHandler.cpp:
29263 (WebCore::EventHandler::canMouseDownStartSelect):
29264 (WebCore::EventHandler::canMouseDragExtendSelect):
29265 * page/Frame.cpp:
29266 (WebCore::Frame::sendScrollEvent):
29267 * page/Page.cpp:
29268 (WebCore::networkStateChanged):
29269 * rendering/RenderListBox.cpp:
29270 (WebCore::RenderListBox::valueChanged):
29271 * rendering/RenderTextControl.cpp:
29272 (WebCore::RenderTextControl::selectionChanged):
29273 * svg/SVGDocumentExtensions.cpp:
29274 * svg/SVGDocumentExtensions.h:
29275 * svg/SVGElement.cpp:
29276 (WebCore::SVGElement::parseMappedAttribute):
29277 (WebCore::SVGElement::finishParsingChildren):
29278 * svg/SVGElement.h:
29279 * svg/SVGSVGElement.cpp:
29280 (WebCore::SVGSVGElement::parseMappedAttribute):
29281 * svg/SVGSVGElement.h:
29282
hyatt@apple.com63739ce2008-09-15 23:44:10 +0000292832008-09-15 Dave Hyatt <hyatt@apple.com>
29284
29285 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
29286 need to be converted.
29287
29288 Reviewed by Sam Weinig
29289
29290 * platform/ScrollBar.cpp:
29291 (WebCore::Scrollbar::Scrollbar):
29292 (WebCore::Scrollbar::updateThumbPosition):
29293 (WebCore::Scrollbar::updateThumbProportion):
29294 (WebCore::Scrollbar::autoscrollPressedPart):
29295 (WebCore::Scrollbar::startTimerIfNeeded):
29296 * platform/ScrollBar.h:
29297 * platform/ScrollbarTheme.h:
29298 (WebCore::ScrollbarTheme::invalidateParts):
29299 * platform/ScrollbarThemeComposite.cpp:
29300 (WebCore::ScrollbarThemeComposite::hitTest):
29301 (WebCore::ScrollbarThemeComposite::invalidatePart):
29302 (WebCore::ScrollbarThemeComposite::thumbPosition):
29303 (WebCore::ScrollbarThemeComposite::thumbLength):
29304 (WebCore::ScrollbarThemeComposite::trackLength):
29305 * platform/ScrollbarThemeComposite.h:
29306 * platform/win/PlatformScrollBarSafari.cpp:
29307 (WebCore::PlatformScrollbar::PlatformScrollbar):
29308 * platform/win/PlatformScrollBarWin.cpp:
29309 (WebCore::PlatformScrollbar::PlatformScrollbar):
29310
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +0000293112008-09-15 David Smith <catfish.man@gmail.com>
29312
29313 "Just do it"'d by Mark Rowe
29314
29315 https://bugs.webkit.org/show_bug.cgi?id=20856
29316 Add missing license header
29317
29318 * dom/NodeRenderStyle.h:
29319
dino@apple.combf52b682008-09-15 21:31:43 +0000293202008-09-15 Dean Jackson <dino@apple.com>
29321
29322 Reviewed by Tim Hatcher.
29323
dino@apple.com3db0b8f2008-09-15 21:52:23 +000029324 Add default constructor for ShadowData
29325 https://bugs.webkit.org/show_bug.cgi?id=20757
29326
29327 Test: transitions/shadow.html
29328
29329 * rendering/style/RenderStyle.h:
29330
293312008-09-15 Dean Jackson <dino@apple.com>
29332
29333 Reviewed by Tim Hatcher.
29334
dino@apple.com03abdce2008-09-15 21:40:52 +000029335 RenderStyle should update keyframes.
29336 http://bugs.webkit.org/show_bug.cgi?id=20756
29337
29338 * rendering/style/RenderStyle.cpp:
29339 (WebCore::StyleRareNonInheritedData::updateKeyframes):
29340
293412008-09-15 Dean Jackson <dino@apple.com>
29342
29343 Reviewed by Tim Hatcher.
29344
dino@apple.combf52b682008-09-15 21:31:43 +000029345 Unnecessary ASSERT in ImplicitAnimation destructor.
29346 https://bugs.webkit.org/show_bug.cgi?id=20817
29347
29348 * page/animation/ImplicitAnimation.cpp:
29349 (WebCore::ImplicitAnimation::~ImplicitAnimation):
29350
treat@webkit.org7e5abc22008-09-15 20:53:49 +0000293512008-09-15 Adam Treat <treat@kde.org>
29352
29353 Reviewed by Simon.
29354
29355 Fix plugin extension info. It was returning the mimetype where the
29356 extension was given.
29357
29358 * plugins/qt/PluginPackageQt.cpp:
29359 (WebCore::PluginPackage::fetchInfo):
29360
dino@apple.comecc18dc2008-09-15 20:40:28 +0000293612008-09-15 Dean Jackson <dino@apple.com>
29362
29363 Reviewed by Tim Hatcher
29364
29365 Coding style violation!!!! Cleanup AnimationBase.cpp
29366
29367 * page/animation/AnimationBase.cpp:
29368 (WebCore::blendFunc):
29369
hyatt@apple.comf4a9d932008-09-15 20:03:25 +0000293702008-09-15 David Hyatt <hyatt@apple.com>
29371
29372 Move all hit testing code for scrollbars into the base class. Refactor
29373 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
29374 functions.
29375
29376 No platform is using this code yet. Although it has been moved and compiles
29377 (even on Mac), it is not being used on any platform.
29378
29379 Reviewed by Sam Weinig
29380
29381 * platform/ScrollBar.cpp:
29382 (WebCore::Scrollbar::autoscrollPressedPart):
29383 (WebCore::Scrollbar::startTimerIfNeeded):
29384 (WebCore::Scrollbar::handleMouseMoveEvent):
29385 (WebCore::Scrollbar::handleMouseOutEvent):
29386 (WebCore::Scrollbar::handleMouseReleaseEvent):
29387 (WebCore::Scrollbar::handleMousePressEvent):
29388 * platform/ScrollBar.h:
29389 (WebCore::Scrollbar::handleContextMenuEvent):
29390 * platform/ScrollbarTheme.h:
29391 (WebCore::ScrollbarTheme::hitTest):
29392 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
29393 (WebCore::ScrollbarTheme::invalidatePart):
29394 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
29395 (WebCore::ScrollbarTheme::centerOnThumb):
29396 (WebCore::ScrollbarTheme::thumbPosition):
29397 (WebCore::ScrollbarTheme::thumbLength):
29398 (WebCore::ScrollbarTheme::trackLength):
29399 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
29400 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
29401 * platform/Widget.h:
29402 (WebCore::Widget::parent):
29403 * platform/mac/PlatformScrollBar.h:
29404 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
29405 (WebCore::PlatformScrollbar::handleMouseOutEvent):
29406 (WebCore::PlatformScrollbar::handleMousePressEvent):
29407 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
29408 * platform/mac/WidgetMac.mm:
29409 (WebCore::Widget::convertFromContainingWindow):
29410 * platform/win/ScrollbarThemeWin.cpp:
29411 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
29412 * platform/win/ScrollbarThemeWin.h:
29413
mitz@apple.comd17dc392008-09-15 18:48:20 +0000294142008-09-15 Dan Bernstein <mitz@apple.com>
29415
29416 Reviewed by Sam Weinig.
29417
29418 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
29419
29420 Cache the next breakable position for text nodes in InlineIterator.
29421
29422 * rendering/bidi.cpp:
29423 (WebCore::InlineIterator::InlineIterator):
29424 (WebCore::InlineIterator::increment):
29425 (WebCore::RenderBlock::findNextLineBreak):
29426
simon.fraser@apple.comda604642008-09-15 17:10:48 +0000294272008-09-15 Simon Fraser <simon.fraser@apple.com>
29428
29429 Reviewed by Dan Bernstein
29430
29431 Fix assertion and integral pixel issue when creating subimages.
29432 https://bugs.webkit.org/show_bug.cgi?id=20786
29433
29434 * platform/graphics/cg/ImageCG.cpp:
29435 (WebCore::BitmapImage::draw):
29436
vestbo@webkit.orge7eda302008-09-15 12:43:37 +0000294372008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
29438
29439 Reviewed by Simon.
29440
29441 Implment seek() and clean up and improve debugging output
29442
29443 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
29444 (debugMediaObject):
29445 (WebCore::MediaPlayerPrivate::seek):
29446 (WebCore::MediaPlayerPrivate::setVolume):
29447 (WebCore::MediaPlayerPrivate::setMuted):
29448 (WebCore::MediaPlayerPrivate::updateStates):
29449 (WebCore::MediaPlayerPrivate::naturalSize):
29450 (WebCore::MediaPlayerPrivate::paint):
29451 (WebCore::MediaPlayerPrivate::stateChanged):
29452 (WebCore::MediaPlayerPrivate::tick):
29453
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +0000294542008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
29455
29456 Reviewed by Simon.
29457
29458 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
29459
29460 m_mediaObject, m_audioOutput, m_videoWidget get created in the
29461 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
29462 only check if we use the MediaPlayerPrivate after it has been deleted.
29463
29464 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
29465
29466 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
29467 (WebCore::MediaPlayerPrivate::play):
29468 (WebCore::MediaPlayerPrivate::setVolume):
29469 (WebCore::MediaPlayerPrivate::updateStates):
29470
andersca@apple.com18d62682008-09-15 11:35:22 +0000294712008-09-15 Anders Carlsson <andersca@apple.com>
29472
29473 Reviewed by Maciej.
29474
29475 <rdar://problem/6163988>
29476 https://bugs.webkit.org/show_bug.cgi?id=20457
29477 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
29478
29479 Check the width and height and throw an exception if any of them are 0.
29480
29481 * html/CanvasRenderingContext2D.cpp:
29482 (WebCore::CanvasRenderingContext2D::createPattern):
29483
vestbo@webkit.org3a27e182008-09-15 11:28:59 +0000294842008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
29485
29486 Reviewed by Simon.
29487
29488 Render media element controls with antialiasing enabled
29489
29490 * platform/qt/RenderThemeQt.cpp:
29491 (WebCore::RenderThemeQt::paintMediaMuteButton):
29492 (WebCore::RenderThemeQt::paintMediaPlayButton):
29493 (WebCore::RenderThemeQt::paintMediaSliderTrack):
29494 (WebCore::RenderThemeQt::paintMediaSliderThumb):
29495
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +0000294962008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
29497
29498 Reviewed by Simon.
29499
29500 Upon non fatal error, switch to the pause state (so that playback can continue)
29501
29502 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
29503 (WebCore::MediaPlayerPrivate::updateStates):
29504
vestbo@webkit.org12a59572008-09-15 11:16:13 +0000295052008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
29506
29507 Reviewed by Simon.
29508
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +000029509 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
29510
29511 * WebCore.pro:
29512
295132008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
29514
29515 Reviewed by Simon.
29516
vestbo@webkit.org12a59572008-09-15 11:16:13 +000029517 Make QtInstance::create() private and fix caching
29518
29519 * bindings/js/ScriptControllerQt.cpp:
29520 (WebCore::ScriptController::createScriptInstanceForWidget):
29521 * bridge/qt/qt_instance.cpp:
29522 (JSC::Bindings::QtInstance::getQtInstance):
29523 (JSC::Bindings::QtInstance::getRuntimeObject):
29524 * bridge/qt/qt_instance.h:
29525 (JSC::Bindings::QtInstance::create):
29526 * bridge/qt/qt_runtime.cpp:
29527 (JSC::Bindings::convertQVariantToValue):
29528 (JSC::Bindings::QtConnectionObject::execute):
29529
dsmith@webkit.orgaba15862008-09-15 08:45:35 +0000295302008-09-15 David Smith <catfish.man@gmail.com>
29531
29532 Reviewed by Dave Hyatt.
29533
29534 https://bugs.webkit.org/show_bug.cgi?id=20180
29535
29536 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
29537 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
29538 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
29539
29540 * css/CSSStyleSelector.cpp:
29541 (WebCore::CSSStyleSelector::CSSStyleSelector):
29542 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
29543 * css/CSSStyleSelector.h:
29544
hyatt@apple.com065494e2008-09-15 06:33:40 +0000295452008-09-14 Dave Hyatt <hyatt@apple.com>
29546
29547 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
29548 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
29549
29550 Reviewed by Sam Weinig
29551
29552 * platform/ScrollBar.h:
29553 (WebCore::Scrollbar::client):
29554 (WebCore::Scrollbar::currentPos):
29555 (WebCore::Scrollbar::totalSize):
29556 * platform/ScrollbarTheme.h:
29557 * platform/ScrollbarThemeComposite.cpp:
29558 (WebCore::pageForScrollView):
29559 (WebCore::ScrollbarThemeComposite::paint):
29560 * platform/ScrollbarThemeComposite.h:
29561 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
29562 * platform/win/PlatformScrollBar.h:
29563 * platform/win/PlatformScrollBarSafari.cpp:
29564 * platform/win/PlatformScrollBarWin.cpp:
29565 * platform/win/ScrollbarThemeSafari.h:
29566 (WebCore::ScrollbarThemeSafari::hasButtons):
29567 (WebCore::ScrollbarThemeSafari::hasThumb):
29568 (WebCore::ScrollbarThemeSafari::backButtonRect):
29569 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
29570 (WebCore::ScrollbarThemeSafari::trackRect):
29571 (WebCore::ScrollbarThemeSafari::splitTrack):
29572 (WebCore::ScrollbarThemeSafari::paintTrack):
29573 (WebCore::ScrollbarThemeSafari::paintButton):
29574 (WebCore::ScrollbarThemeSafari::paintThumb):
29575 * platform/win/ScrollbarThemeWin.cpp:
29576 (WebCore::isRunningOnVistaOrLater):
29577 (WebCore::checkAndInitScrollbarTheme):
29578 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
29579 (WebCore::ScrollbarThemeWin::themeChanged):
29580 (WebCore::ScrollbarThemeWin::hasThumb):
29581 (WebCore::ScrollbarThemeWin::backButtonRect):
29582 (WebCore::ScrollbarThemeWin::forwardButtonRect):
29583 (WebCore::ScrollbarThemeWin::trackRect):
29584 (WebCore::ScrollbarThemeWin::splitTrack):
29585 (WebCore::ScrollbarThemeWin::paintTrack):
29586 (WebCore::ScrollbarThemeWin::paintButton):
29587 (WebCore::gripperRect):
29588 (WebCore::paintGripper):
29589 (WebCore::ScrollbarThemeWin::paintThumb):
29590 (WebCore::ScrollbarThemeWin::thumbPosition):
29591 (WebCore::ScrollbarThemeWin::thumbLength):
29592 (WebCore::ScrollbarThemeWin::trackLength):
29593 * platform/win/ScrollbarThemeWin.h:
29594 (WebCore::ScrollbarThemeWin::hasButtons):
29595 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
29596
timothy@apple.comd91172c2008-09-15 05:38:00 +0000295972008-09-14 Anthony Ricaud <rik24d@gmail.com>
29598
29599 Moving all resource graphs under the same container for future scalable feature.
29600 This is a speedup on resize but maybe a loss on changing the sorting function.
29601
29602 https://bugs.webkit.org/show_bug.cgi?id=20555
29603
29604 Reviewed by Timothy Hatcher.
29605
29606 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
29607 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
29608 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
29609
ap@webkit.orga14074b2008-09-15 04:52:44 +0000296102008-09-14 Alexey Proskuryakov <ap@webkit.org>
29611
29612 Reviewed by Maciej Stachowiak.
29613
29614 https://bugs.webkit.org/show_bug.cgi?id=20738
29615 compareBoundaryPoints gives incorrect results
29616
29617 Test: fast/dom/Range/compareBoundaryPoints-2.html
29618
29619 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
29620 and END_TO_START.
29621 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
29622
mjs@apple.com285bdcf2008-09-15 02:55:16 +0000296232008-09-14 Maciej Stachowiak <mjs@apple.com>
29624
29625 Unreviewed build fix.
29626
mjs@apple.comcbb31e52008-09-15 03:10:35 +000029627 Trying again.
29628
29629 * bindings/js/JSQuarantinedObjectWrapper.cpp:
29630 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
29631
296322008-09-14 Maciej Stachowiak <mjs@apple.com>
29633
29634 Unreviewed build fix.
29635
mjs@apple.com285bdcf2008-09-15 02:55:16 +000029636 Blind attempt to fix build. Correct parameters for hasInstance.
29637
29638 * bindings/js/JSQuarantinedObjectWrapper.cpp:
29639 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
29640 * bindings/js/JSQuarantinedObjectWrapper.h:
29641
mitz@apple.come85f7362008-09-15 02:23:24 +0000296422008-09-14 Dan Bernstein <mitz@apple.com>
29643
29644 Rubber-stamped by Sam Weinig.
29645
29646 - revert <http://trac.webkit.org/changeset/36382> because it exposed
29647 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
29648 on Tiger.
29649
29650 * platform/graphics/mac/FontCacheMac.mm:
29651 (WebCore::FontCache::getFontDataForCharacters):
29652 (WebCore::FontCache::getLastResortFallbackFont):
29653
hyatt@apple.comf18feec2008-09-15 00:56:11 +0000296542008-09-14 Dave Hyatt <hyatt@apple.com>
29655
29656 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
29657 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
29658 theme.
29659
29660 Reviewed by Sam Weinig
29661
29662 * WebCore.vcproj/WebCore.vcproj:
29663 * platform/win/ScrollbarThemeSafari.h:
29664 * platform/win/ScrollbarThemeWin.h:
29665
alp@webkit.orgd694e942008-09-15 00:20:15 +0000296662008-09-14 Alp Toker <alp@nuanti.com>
29667
29668 https://bugs.webkit.org/show_bug.cgi?id=20320
29669 [GTK] A white rectangle is visible behind widgets with rounded corners
29670
29671 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
29672 style exempt).
29673
29674 Requested by Michael Monreal.
29675
29676 * platform/gtk/RenderThemeGtk.cpp:
29677 (WebCore::RenderThemeGtk::RenderThemeGtk):
29678 * platform/gtk/gtk2drawing.c:
29679 (moz_gtk_set_widget_name):
29680 (ensure_window_widget):
29681 (setup_widget_prototype):
29682 (ensure_button_arrow_widget):
29683 (moz_gtk_get_combo_box_inner_button):
29684 (moz_gtk_get_combo_box_button_inner_widgets):
29685 (ensure_combo_box_widgets):
29686 (moz_gtk_get_combo_box_entry_inner_widgets):
29687 (moz_gtk_get_combo_box_entry_arrow):
29688 (ensure_combo_box_entry_widgets):
29689 (ensure_toolbar_widget):
29690 (ensure_tooltip_widget):
29691 (ensure_menu_bar_widget):
29692 (ensure_menu_bar_item_widget):
29693 (ensure_menu_popup_widget):
29694 (ensure_menu_item_widget):
29695 (ensure_image_menu_item_widget):
29696 (ensure_menu_separator_widget):
29697 (ensure_check_menu_item_widget):
29698 (ensure_tree_header_cell_widget):
29699 (ensure_scrolled_window_widget):
29700 (moz_gtk_button_paint):
29701 (moz_gtk_init):
29702 (moz_gtk_button_get_inner_border):
29703 (moz_gtk_toggle_paint):
29704 (calculate_button_inner_rect):
29705 (calculate_arrow_rect):
29706 (moz_gtk_scrollbar_button_paint):
29707 (moz_gtk_scrollbar_thumb_paint):
29708 (moz_gtk_caret_paint):
29709 (moz_gtk_entry_paint):
29710 (moz_gtk_treeview_paint):
29711 (moz_gtk_tree_header_cell_paint):
29712 (moz_gtk_combo_box_paint):
29713 (moz_gtk_downarrow_paint):
29714 (moz_gtk_combo_box_entry_button_paint):
29715 (moz_gtk_toolbar_paint):
29716 (moz_gtk_tab_scroll_arrow_paint):
29717 (moz_gtk_menu_bar_paint):
29718 (moz_gtk_menu_item_paint):
29719 (moz_gtk_get_widget_border):
29720 (moz_gtk_get_combo_box_entry_button_size):
29721 (moz_gtk_get_tab_scroll_arrow_size):
29722 (moz_gtk_get_downarrow_size):
29723 (moz_gtk_images_in_menus):
29724 (moz_gtk_widget_paint):
29725 (moz_gtk_shutdown):
29726 * platform/gtk/gtkdrawing.h:
29727
hyatt@apple.com3ab48302008-09-14 23:55:16 +0000297282008-09-14 David Hyatt <hyatt@apple.com>
29729
29730 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
29731 painting. Mac and Gtk themes don't do anything and just let the
29732 underlying widget paint. Qt now uses the theme to paint. wx doesn't
29733 do anything yet.
29734
29735 Reviewed by Sam Weinig
29736
29737 * platform/ScrollBar.cpp:
29738 (WebCore::Scrollbar::paint):
29739 * platform/ScrollBar.h:
29740 (WebCore::Scrollbar::value):
29741 (WebCore::Scrollbar::visibleSize):
29742 (WebCore::Scrollbar::maximum):
29743 (WebCore::Scrollbar::lineStep):
29744 (WebCore::Scrollbar::pageStep):
29745 (WebCore::Scrollbar::pixelStep):
29746 (WebCore::Scrollbar::pressedPart):
29747 (WebCore::Scrollbar::hoveredPart):
29748 (WebCore::Scrollbar::theme):
29749 * platform/ScrollbarTheme.h:
29750 (WebCore::ScrollbarTheme::paint):
29751 (WebCore::ScrollbarTheme::scrollbarThickness):
29752 (WebCore::ScrollbarTheme::supportsControlTints):
29753 (WebCore::ScrollbarTheme::themeChanged):
29754 * platform/gtk/PlatformScrollBar.h:
29755 * platform/gtk/PlatformScrollBarGtk.cpp:
29756 * platform/mac/PlatformScrollBar.h:
29757 * platform/mac/PlatformScrollBarMac.mm:
29758 * platform/qt/PlatformScrollBar.h:
29759 * platform/qt/PlatformScrollBarQt.cpp:
29760 * platform/qt/ScrollbarThemeQt.cpp:
29761 (WebCore::styleOptionSlider):
29762 * platform/qt/ScrollbarThemeQt.h:
29763 (WebCore::ScrollbarThemeQt::paint):
29764 * platform/win/PlatformScrollBarSafari.cpp:
29765 (WebCore::PlatformScrollbar::paint):
29766 * platform/win/ScrollbarThemeSafari.h:
29767 (WebCore::ScrollbarThemeSafari::supportsControlTints):
29768 * platform/wx/PlatformScrollBar.h:
29769 * platform/wx/TemporaryLinkStubs.cpp:
29770 (PlatformScrollbar::~PlatformScrollbar):
29771
weinig@apple.comcb93e262008-09-14 21:36:11 +0000297722008-09-14 Sam Weinig <sam@webkit.org>
29773
weinig@apple.com6ef2b872008-09-14 22:15:28 +000029774 Qt build fix.
29775
29776 * platform/qt/PlatformScrollBarQt.cpp:
29777
297782008-09-14 Sam Weinig <sam@webkit.org>
29779
weinig@apple.com064861a2008-09-14 22:12:49 +000029780 Reviewed by Mark Rowe.
29781
29782 Remove extraneous semicolons.
29783
29784 * bindings/scripts/CodeGeneratorObjC.pm:
29785 * html/HTMLLinkElement.cpp:
29786 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
29787 * html/HTMLScriptElement.cpp:
29788 (WebCore::HTMLScriptElement::charsetAttributeValue):
29789 (WebCore::HTMLScriptElement::typeAttributeValue):
29790 * platform/graphics/qt/GradientQt.cpp:
29791 (WebCore::Gradient::platformGradient):
29792 * platform/qt/ScrollViewQt.cpp:
29793 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
29794 * platform/win/ScrollViewWin.cpp:
29795 (WebCore::ScrollView::updateScrollbars):
29796 * rendering/RenderBlock.cpp:
29797 (WebCore::RenderBlock::paintEllipsisBoxes):
29798 * svg/SVGPathSegList.cpp:
29799 (WebCore::SVGPathSegList::toPathData):
29800
298012008-09-14 Sam Weinig <sam@webkit.org>
29802
weinig@apple.comcb93e262008-09-14 21:36:11 +000029803 Qt build fix.
29804
weinig@apple.com31311a62008-09-14 22:00:15 +000029805 * platform/qt/ScrollViewQt.cpp:
29806 (WebCore::ScrollView::updateScrollbars):
29807
298082008-09-14 Sam Weinig <sam@webkit.org>
29809
29810 Qt build fix.
29811
weinig@apple.comcb93e262008-09-14 21:36:11 +000029812 * platform/qt/PlatformScrollBarQt.cpp:
29813 (WebCore::PlatformScrollbar::PlatformScrollbar):
29814 (WebCore::PlatformScrollbar::paint):
29815
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +0000298162008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
29817
29818 Gtk build fix, not reviewed.
29819
29820 * platform/gtk/PlatformScrollBarGtk.cpp:
29821 (PlatformScrollbar::PlatformScrollbar):
29822 * platform/gtk/ScrollViewGtk.cpp:
29823 (WebCore::ScrollView::updateScrollbars):
29824
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +0000298252008-09-13 Dave Hyatt <hyatt@apple.com>
29826
hyatt@apple.com21ab7c62008-09-14 01:26:22 +000029827 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
29828 to set the dimensions of a scrollbar.
29829
29830 Reviewed by Sam Weinig
29831
29832 * platform/ScrollBar.h:
29833 * platform/gtk/PlatformScrollBar.h:
29834 * platform/gtk/PlatformScrollBarGtk.cpp:
29835 (PlatformScrollbar::setFrameGeometry):
29836 * platform/gtk/ScrollViewGtk.cpp:
29837 (WebCore::ScrollView::updateScrollbars):
29838 * platform/mac/PlatformScrollBarMac.mm:
29839 * platform/qt/PlatformScrollBarQt.cpp:
29840 * platform/qt/ScrollViewQt.cpp:
29841 (WebCore::ScrollView::updateScrollbars):
29842 * platform/win/PlatformScrollBar.h:
29843 * platform/win/PlatformScrollBarSafari.cpp:
29844 (WebCore::PlatformScrollbar::PlatformScrollbar):
29845 (WebCore::PlatformScrollbar::setFrameGeometry):
29846 * platform/win/PlatformScrollBarWin.cpp:
29847 (WebCore::PlatformScrollbar::PlatformScrollbar):
29848 (WebCore::PlatformScrollbar::setFrameGeometry):
29849 * platform/win/PopupMenuWin.cpp:
29850 (WebCore::PopupWndProc):
29851 * platform/win/ScrollViewWin.cpp:
29852 (WebCore::ScrollView::updateScrollbars):
29853 * platform/wx/PlatformScrollBar.h:
29854 * platform/wx/TemporaryLinkStubs.cpp:
29855 (PlatformScrollbar::updateThumbProportion):
29856 * rendering/RenderLayer.cpp:
29857 (WebCore::RenderLayer::positionOverflowControls):
29858 * rendering/RenderListBox.cpp:
29859 (WebCore::RenderListBox::paintScrollbar):
29860
298612008-09-13 Dave Hyatt <hyatt@apple.com>
29862
hyatt@apple.comed9485a2008-09-14 01:06:57 +000029863 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
29864
29865 Reviewed by Sam Weinig
29866
29867 * platform/ScrollBar.h:
29868 * platform/gtk/PlatformScrollBar.h:
29869 * platform/gtk/PlatformScrollBarGtk.cpp:
29870 * platform/mac/PlatformScrollBar.h:
29871 * platform/mac/PlatformScrollBarMac.mm:
29872 * platform/win/PlatformScrollBar.h:
29873 * platform/win/PlatformScrollBarSafari.cpp:
29874 * platform/win/PlatformScrollBarWin.cpp:
29875 * platform/wx/PlatformScrollBar.h:
29876 * platform/wx/TemporaryLinkStubs.cpp:
29877 (PlatformScrollbar::~PlatformScrollbar):
29878
298792008-09-13 Dave Hyatt <hyatt@apple.com>
29880
hyatt@apple.com64d98032008-09-14 00:58:29 +000029881 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
29882 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
29883
29884 Reviewed by Sam Weinig
29885
29886 * platform/ScrollBar.h:
29887 * platform/gtk/PlatformScrollBar.h:
29888 * platform/gtk/PlatformScrollBarGtk.cpp:
29889 * platform/mac/PlatformScrollBar.h:
29890 * platform/mac/PlatformScrollBarMac.mm:
29891 * platform/win/PlatformScrollBarSafari.cpp:
29892 * platform/win/PlatformScrollBarWin.cpp:
29893 * platform/wx/PlatformScrollBar.h:
29894 * platform/wx/TemporaryLinkStubs.cpp:
29895 (PlatformScrollbar::~PlatformScrollbar):
29896
298972008-09-13 Dave Hyatt <hyatt@apple.com>
29898
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000029899 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
29900
29901 Reviewed by Sam Weinig
29902
29903 * platform/ScrollBar.cpp:
29904 (WebCore::Scrollbar::~Scrollbar):
29905 * platform/ScrollBar.h:
29906 * platform/qt/PlatformScrollBarQt.cpp:
29907 (WebCore::PlatformScrollbar::~PlatformScrollbar):
29908 * platform/win/PlatformScrollBarSafari.cpp:
29909 (WebCore::PlatformScrollbar::~PlatformScrollbar):
29910 * platform/win/PlatformScrollBarWin.cpp:
29911 (WebCore::PlatformScrollbar::~PlatformScrollbar):
29912
hyatt@apple.coma3c52492008-09-13 23:57:08 +0000299132008-09-13 David Hyatt <hyatt@apple.com>
29914
29915 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
29916 function on Scrollbar. Fixes Qt build bustage.
29917
29918 Reviewed by Sam Weinig
29919
29920 * platform/ScrollBar.h:
29921 (WebCore::Scrollbar::orientation):
29922 (WebCore::Scrollbar::value):
29923 (WebCore::Scrollbar::maximum):
29924 * platform/qt/PlatformScrollBar.h:
29925
mitz@apple.comb3d22882008-09-13 23:06:59 +0000299262008-09-13 Dan Bernstein <mitz@apple.com>
29927
29928 Reviewed by Sam Weinig.
29929
29930 - use the LastResort font for missing glyphs instead of showing the
29931 primary font's missing glyph
29932
29933 Test: platform/mac/fast/text/last-resort-font.html
29934
29935 * platform/graphics/mac/FontCacheMac.mm:
29936 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
29937 last resort font if a substitute font cannot be found.
29938 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
29939 comment (the user's preferred standard font is included in the search
29940 thanks to code in FontCache::getFontData()) and changed to return the
29941 LastResort font.
29942
hyatt@apple.com0c378c72008-09-13 22:59:05 +0000299432008-09-13 Dave Hyatt <hyatt@apple.com>
29944
29945 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
29946 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
29947 patches will move rendering and hit testing functionality into this class.
29948
29949 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
29950 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
29951
29952 Reviewed by Sam Weinig
29953
29954 * GNUmakefile.am:
29955 * WebCore.pro:
29956 * WebCore.vcproj/WebCore.vcproj:
29957 * platform/ScrollBar.cpp:
29958 (WebCore::Scrollbar::Scrollbar):
29959 * platform/ScrollBar.h:
29960 * platform/ScrollbarTheme.h: Added.
29961 (WebCore::ScrollbarTheme::~ScrollbarTheme):
29962 (WebCore::ScrollbarTheme::scrollbarThickness):
29963 (WebCore::ScrollbarTheme::themeChanged):
29964 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
29965 (WebCore::ScrollbarTheme::nativeTheme):
29966 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
29967 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
29968 * platform/gtk/ScrollbarThemeGtk.h: Added.
29969 * platform/mac/PlatformScrollBar.h:
29970 * platform/mac/ScrollbarThemeMac.cpp: Added.
29971 (WebCore::ScrollbarTheme::nativeTheme):
29972 (WebCore::):
29973 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
29974 (WebCore::ScrollbarThemeMac::scrollbarThickness):
29975 * platform/mac/ScrollbarThemeMac.h: Added.
29976 * platform/qt/PlatformScrollBarQt.cpp:
29977 * platform/qt/ScrollbarThemeQt.cpp: Added.
29978 (WebCore::ScrollbarTheme::nativeTheme):
29979 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
29980 (WebCore::ScrollbarThemeQt::scrollbarThickness):
29981 * platform/qt/ScrollbarThemeQt.h: Added.
29982 * platform/win/PlatformScrollBar.h:
29983 * platform/win/PlatformScrollBarSafari.cpp:
29984 * platform/win/PlatformScrollBarWin.cpp:
29985 * platform/win/PopupMenuWin.cpp:
29986 (WebCore::PopupMenu::calculatePositionAndSize):
29987 * platform/win/ScrollViewWin.cpp:
29988 (WebCore::ScrollView::updateScrollbars):
29989 (WebCore::ScrollView::themeChanged):
29990 * platform/win/ScrollbarThemeSafari.cpp: Added.
29991 (WebCore::ScrollbarTheme::nativeTheme):
29992 (WebCore::):
29993 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
29994 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
29995 * platform/win/ScrollbarThemeSafari.h: Added.
29996 * platform/win/ScrollbarThemeWin.cpp: Added.
29997 (WebCore::ScrollbarTheme::nativeTheme):
29998 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
29999 (WebCore::ScrollbarThemeWin::scrollbarThickness):
30000 (WebCore::ScrollbarThemeWin::themeChanged):
30001 * platform/win/ScrollbarThemeWin.h: Added.
30002 * platform/wx/TemporaryLinkStubs.cpp:
30003 (ScrollbarTheme::nativeTheme):
30004 * rendering/RenderLayer.cpp:
30005 (WebCore::scrollCornerRect):
30006 * rendering/RenderTextControl.cpp:
30007 (WebCore::RenderTextControl::calcHeight):
30008 (WebCore::RenderTextControl::calcPrefWidths):
30009
cfleizach@apple.comd26c2762008-09-13 21:05:18 +0000300102008-09-13 Chris Fleizach <cfleizach@apple.com>
30011
30012 Reviewed by Timothy Hatcher.
30013
30014 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
30015
30016 * page/mac/AccessibilityObjectWrapper.mm:
30017 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
30018
mitz@apple.com6307c9f2008-09-13 20:27:37 +0000300192008-09-13 Dan Bernstein <mitz@apple.com>
30020
30021 Reviewed by Timothy Hatcher.
30022
30023 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
30024
30025 No regression test because the back/forward cache is disabled in DumpRenderTree
30026
30027 * rendering/RenderContainer.cpp:
30028 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
30029 is being destroyed.
30030
kevino@webkit.org1e178ee2008-09-13 18:48:39 +0000300312008-09-13 Kevin Ollivier <kevino@theolliviers.com>
30032
30033 wx build fixes for new methods recently introduced.
30034
30035 * platform/graphics/wx/AffineTransformWx.cpp:
30036 (WebCore::AffineTransform::AffineTransform):
30037 (WebCore::AffineTransform::setMatrix):
30038 (WebCore::AffineTransform::setA):
30039 (WebCore::AffineTransform::setB):
30040 (WebCore::AffineTransform::setC):
30041 (WebCore::AffineTransform::setD):
30042 (WebCore::AffineTransform::setE):
30043 (WebCore::AffineTransform::setF):
30044 * platform/wx/LocalizedStringsWx.cpp:
30045 (WebCore::AXDefinitionListTermText):
30046 (WebCore::AXDefinitionListDefinitionText):
30047
hyatt@apple.com30ed5442008-09-13 18:39:58 +0000300482008-09-12 Dave Hyatt <hyatt@apple.com>
30049
30050 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
30051 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
30052 "PlatformScrollbar."
30053
30054 Reviewed by Sam Weinig
30055
30056 * WebCore.vcproj/WebCore.vcproj:
30057 * editing/EditorCommand.cpp:
30058 * page/EventHandler.cpp:
30059 (WebCore::EventHandler::selectCursor):
30060 (WebCore::EventHandler::handleMousePressEvent):
30061 (WebCore::EventHandler::handleMouseMoveEvent):
30062 * page/EventHandler.h:
30063 * page/MouseEventWithHitTestResults.cpp:
30064 (WebCore::MouseEventWithHitTestResults::scrollbar):
30065 * page/MouseEventWithHitTestResults.h:
30066 * page/gtk/EventHandlerGtk.cpp:
30067 (WebCore::EventHandler::passMousePressEventToScrollbar):
30068 * page/mac/EventHandlerMac.mm:
30069 (WebCore::EventHandler::passMousePressEventToScrollbar):
30070 * page/qt/EventHandlerQt.cpp:
30071 (WebCore::EventHandler::passMousePressEventToScrollbar):
30072 * page/win/EventHandlerWin.cpp:
30073 (WebCore::EventHandler::passMousePressEventToScrollbar):
30074 * page/wx/EventHandlerWx.cpp:
30075 (WebCore::EventHandler::passMousePressEventToScrollbar):
30076 * platform/PopupMenu.h:
30077 * platform/ScrollBar.cpp:
30078 (WebCore::Scrollbar::Scrollbar):
30079 (WebCore::Scrollbar::autoscrollTimerFired):
30080 (WebCore::Scrollbar::autoscrollPressedPart):
30081 (WebCore::Scrollbar::startTimerIfNeeded):
30082 (WebCore::Scrollbar::stopTimerIfNeeded):
30083 (WebCore::Scrollbar::pressedPartScrollDirection):
30084 (WebCore::Scrollbar::pressedPartScrollGranularity):
30085 * platform/ScrollBar.h:
30086 (WebCore::Scrollbar::handleMousePressEvent):
30087 (WebCore::Scrollbar::invalidatePart):
30088 (WebCore::Scrollbar::thumbUnderMouse):
30089 * platform/ScrollView.h:
30090 * platform/ScrollbarClient.h: Added.
30091 (WebCore::ScrollbarClient::~ScrollbarClient):
30092 * platform/gtk/ScrollViewGtk.cpp:
30093 (WebCore::ScrollView::scrollbarUnderMouse):
30094 * platform/qt/PlatformScrollBar.h:
30095 * platform/qt/PlatformScrollBarQt.cpp:
30096 (WebCore::PlatformScrollbar::PlatformScrollbar):
30097 (WebCore::scrollbarPart):
30098 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
30099 (WebCore::PlatformScrollbar::handleMouseOutEvent):
30100 (WebCore::PlatformScrollbar::handleMousePressEvent):
30101 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
30102 * platform/qt/ScrollViewQt.cpp:
30103 (WebCore::ScrollView::scrollbarUnderMouse):
30104 (WebCore::ScrollView::wheelEvent):
30105 * platform/win/PlatformScrollBar.h:
30106 * platform/win/PlatformScrollBarSafari.cpp:
30107 (WebCore::PlatformScrollbar::PlatformScrollbar):
30108 * platform/win/PlatformScrollBarWin.cpp:
30109 (WebCore::PlatformScrollbar::PlatformScrollbar):
30110 * platform/win/ScrollViewWin.cpp:
30111 (WebCore::ScrollView::scrollbarUnderMouse):
30112 * rendering/HitTestResult.cpp:
30113 (WebCore::HitTestResult::setScrollbar):
30114 * rendering/HitTestResult.h:
30115 (WebCore::HitTestResult::scrollbar):
30116 * rendering/RenderLayer.cpp:
30117 (WebCore::RenderLayer::hitTestOverflowControls):
30118 * rendering/RenderLayer.h:
30119 * rendering/RenderListBox.h:
30120
sfalken@apple.comb4e407e2008-09-13 02:59:00 +0000301212008-09-12 Steve Falkenburg <sfalken@apple.com>
30122
30123 Fix Mac build.
30124
30125 * css/CSSStyleSelector.cpp:
30126 (WebCore::getTransformOperationType):
30127
dino@apple.comf937dc62008-09-13 00:45:39 +0000301282008-09-12 Chris Marrin <cmarrin@apple.com>
30129
30130 Reviewed by Dave Hyatt.
30131
30132 Make transform animation behavior match spec
30133 https://bugs.webkit.org/show_bug.cgi?id=20770
30134
30135 Tests: transitions/transform-op-list-match.html
30136 transitions/transform-op-list-no-match.html
30137
30138 * css/CSSStyleSelector.cpp:
30139 * css/CSSStyleSelector.h:
30140 * page/animation/AnimationBase.cpp:
30141 * page/animation/AnimationBase.h:
30142 * page/animation/ImplicitAnimation.cpp:
30143 * page/animation/ImplicitAnimation.h:
30144 * page/animation/KeyframeAnimation.cpp:
30145 * page/animation/KeyframeAnimation.h:
30146 * rendering/RenderLayer.cpp:
30147 * rendering/style/RenderStyle.cpp:
30148 * rendering/style/RenderStyle.h:
30149
timothy@apple.comab374dd2008-09-12 22:43:38 +0000301502008-09-12 Ojan Vafai <ojan@chromium.org>
30151
30152 Properly escape contents of links added to the inspector.
30153 For now, just build the link with the DOM and get the
30154 outerHTML. Eventually, we probably just want to do
30155 this entirely with the DOM.
30156
30157 Reviewed by Timothy Hatcher.
30158
30159 https://bugs.webkit.org/show_bug.cgi?id=20684
30160
30161 * manual-tests/inspector/escape-links.html: Added.
30162 * page/inspector/StylesSidebarPane.js:
30163 * page/inspector/inspector.js:
30164 * page/inspector/utilities.js:
30165
adele@apple.com87fb3c72008-09-12 22:14:13 +0000301662008-09-12 Adele Peterson <adele@apple.com>
30167
30168 Reviewed by John Sullivan and Kevin McCullough.
30169
30170 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
30171
30172 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
30173 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
30174 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
30175
kmccullough@apple.combdba2e32008-09-12 22:08:56 +0000301762008-09-12 Kevin McCullough <kmccullough@apple.com>
30177
30178 RS by Tim .
30179
30180 Re-introducing the code since it was not the cause of the crash.
30181 See r36343.
30182
30183 * rendering/RenderObject.cpp:
30184 (WebCore::RenderObject::canBeProgramaticallyScrolled):
30185 * rendering/RenderObject.h:
30186
dino@apple.comf712ed02008-09-12 21:54:57 +0000301872008-09-12 Chris Marrin <cmarrin@apple.com>
30188
30189 Reviewed by Dave Hyatt.
30190
30191 When changing one animation in a list, don't reset other animations
30192 https://bugs.webkit.org/show_bug.cgi?id=20675
30193
30194 Test: animations/change-one-anim.html
30195
30196 * page/animation/AnimationBase.cpp:
30197 (WebCore::AnimationBase::getNumProperties):
30198 * page/animation/AnimationBase.h:
30199 * page/animation/AnimationController.cpp:
30200 * page/animation/CompositeAnimation.cpp:
30201 (WebCore::CompositeAnimation::updateKeyframeAnimations):
30202 * page/animation/CompositeAnimation.h:
30203 * page/animation/ImplicitAnimation.cpp:
30204 * page/animation/KeyframeAnimation.cpp:
30205 * page/animation/KeyframeAnimation.h:
30206 (WebCore::KeyframeAnimation::setIndex):
30207
beidson@apple.com521e2b52008-09-12 18:40:03 +0000302082008-09-12 Brady Eidson <beidson@apple.com>
30209
30210 Reviewed by Mitz Pettel
30211
30212 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
30213
30214 * loader/DocumentLoader.cpp:
30215 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
30216 Subresources can never be created from nil data, but there is always a MainResource, whether
30217 or not there's any data. So in the case where the main resource has no data, fake it for the
30218 sake of creating the ArchiveResource.
30219
hyatt@apple.com818ffe92008-09-12 18:37:23 +0000302202008-09-12 Dave Hyatt <hyatt@apple.com>
30221
30222 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
30223 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
30224 Remove all the isWidget and hasPlatformScrollbars guards.
30225
30226 Reviewed by Tim Hatcher
30227
30228 * platform/ScrollBar.h:
30229 * platform/gtk/PlatformScrollBar.h:
30230 * platform/mac/PlatformScrollBar.h:
30231 * platform/qt/PlatformScrollBar.h:
30232 * platform/win/PlatformScrollBar.h:
30233 * platform/win/ScrollViewWin.cpp:
30234 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
30235 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
30236 * platform/wx/PlatformScrollBar.h:
30237 * rendering/RenderLayer.cpp:
30238 (WebCore::RenderLayer::horizontalScrollbarWidget):
30239 (WebCore::RenderLayer::verticalScrollbarWidget):
30240 (WebCore::RenderLayer::createScrollbar):
30241 (WebCore::RenderLayer::destroyScrollbar):
30242 * rendering/RenderListBox.cpp:
30243 (WebCore::RenderListBox::~RenderListBox):
30244 (WebCore::RenderListBox::updateFromElement):
30245 (WebCore::RenderListBox::isPointInOverflowControl):
30246
mitz@apple.com0bef1302008-09-12 18:22:07 +0000302472008-09-12 Dan Bernstein <mitz@apple.com>
30248
30249 Reviewed by Sam Weinig.
30250
30251 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
30252
30253 * page/animation/AnimationController.cpp:
30254 * page/animation/AnimationController.h:
30255 * page/animation/CompositeAnimation.cpp:
30256 * page/animation/CompositeAnimation.h:
30257 * page/animation/ImplicitAnimation.cpp:
30258 * page/animation/ImplicitAnimation.h:
30259 * page/animation/KeyframeAnimation.cpp:
30260 * page/animation/KeyframeAnimation.h:
30261
timothy@apple.com43203432008-09-12 04:44:40 +0000302622008-09-11 Timothy Hatcher <timothy@apple.com>
30263
30264 Add a renderedImage method to DOMNode to get an image
30265 of the rendering for the node and it's descendants.
30266
30267 <rdar://problem/5849349> Would like API to create
30268 an image for a DOM node
30269
30270 Reviewed by Oliver Hunt.
30271
30272 * bindings/objc/DOM.mm:
30273 (-[DOMNode renderedImage]): Call Frame::nodeImage.
30274 * bindings/objc/DOMPrivate.h:
30275 * page/Frame.h:
30276 * page/mac/FrameMac.mm:
30277 (WebCore::Frame::nodeImage):
30278
dino@apple.com9300a0b2008-09-12 00:36:31 +0000302792008-09-08 Chris Marrin <cmarrin@apple.com>
30280
30281 Reviewed by Dave Hyatt
30282
30283 Need to support comma separated list of key times in keyframes selectors
30284 https://bugs.webkit.org/show_bug.cgi?id=20680
30285
30286 Test: animations/keyframes-comma-separated.html
30287
30288 * css/CSSGrammar.y:
30289 * css/CSSParser.cpp:
30290 (WebCore::CSSParser::createKeyframeRule):
30291 * css/CSSParser.h:
30292 * css/CSSStyleSelector.cpp:
30293 (WebCore::CSSStyleSelector::addKeyframeStyle):
30294 * css/WebKitCSSKeyframeRule.cpp:
30295 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
30296 (WebCore::WebKitCSSKeyframeRule::cssText):
30297 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
30298 * css/WebKitCSSKeyframeRule.h:
30299 (WebCore::WebKitCSSKeyframeRule::keyText):
30300 (WebCore::WebKitCSSKeyframeRule::setKeyText):
30301 (WebCore::WebKitCSSKeyframeRule::getKeys):
30302 * css/WebKitCSSKeyframesRule.cpp:
30303 (WebCore::WebKitCSSKeyframesRule::append):
30304 (WebCore::WebKitCSSKeyframesRule::insertRule):
30305 (WebCore::WebKitCSSKeyframesRule::deleteRule):
30306 (WebCore::WebKitCSSKeyframesRule::findRule):
30307 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
30308 * css/WebKitCSSKeyframesRule.h:
30309 * page/animation/AnimationBase.cpp:
30310 (WebCore::AnimationBase::blendProperties):
30311
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +0000303122008-09-11 Kevin McCullough <kmccullough@apple.com>
30313
30314 RS by Tim.
30315
30316 Reverting because this caused a crash.
30317
30318 * rendering/RenderObject.cpp:
30319 (WebCore::RenderObject::canBeProgramaticallyScrolled):
30320 (WebCore::RenderObject::hasScrollableView):
30321 * rendering/RenderObject.h:
30322
dino@apple.com19853b32008-09-11 21:59:08 +0000303232008-09-11 Dean Jackson <dino@apple.com>
30324
30325 Reviewed by Dan Bernstein.
30326
30327 Fix assertion on transition property "none"
30328 https://bugs.webkit.org/show_bug.cgi?id=20751
30329
30330 Test: transitions/transition-end-event-set-none.html
30331
30332 * page/animation/CompositeAnimation.cpp:
30333 (WebCore::CompositeAnimation::updateTransitions):
30334
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +0000303352008-09-11 David Smith <catfish.man@gmail.com>
30336
dsmith@webkit.org08103d92008-09-11 21:54:30 +000030337 Rubber-stamped by mitzpettel.
30338
30339 Remove an accidentally added extra file.
30340
30341 * WebCore: Removed.
30342
303432008-09-11 David Smith <catfish.man@gmail.com>
30344
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000030345 Reviewed by Darin
30346
30347 https://bugs.webkit.org/show_bug.cgi?id=20180
30348
30349 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.
30350
30351 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
30352 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
30353 * dom/Element.cpp: include NodeRenderStyle.h
30354 * dom/Node.cpp: Remove the definition of renderStyle()
30355 (WebCore::Node::nonRendererRenderStyle):
30356 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
30357 * dom/NodeRenderStyle.h: Added.
30358 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
30359 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
30360 * html/HTMLOptGroupElement.h:
30361 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
30362 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
30363 * html/HTMLOptionElement.h:
30364 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
30365 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
30366 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
30367 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
30368
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +0000303692008-09-11 Kevin McCullough <kmccullough@apple.com>
30370
30371 Reviewed by Adele and Tim.
30372
30373 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
30374 Inspector does not scroll to the line of the results (20167)
30375 - This was put in by Max to fix auto scrolling but is not correct for
30376 the whole web: rdar://problem/6213098
30377
30378 * rendering/RenderObject.cpp:
30379 (WebCore::RenderObject::canBeProgramaticallyScrolled):
30380 * rendering/RenderObject.h:
30381
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +0000303822008-09-11 Chris Fleizach <cfleizach@apple.com>
30383
30384 Reviewed by Beth Dakin
30385
30386 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
30387
30388 Test: accessibility/frame-with-title.html
30389
30390 * page/AccessibilityRenderObject.cpp:
30391 (WebCore::AccessibilityRenderObject::accessibilityDescription):
30392
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +0000303932008-09-11 Dirk Schulze <vbs85@gmx.de>
30394
30395 Reviewed by Simon.
30396
hausmann@webkit.orgea57c432008-09-11 08:03:07 +000030397 Fixed stroke() and strokeRect() to support gradients
30398 and patterns on Qt.
30399
30400 [Qt] Canvas stroke don't work for gradients and patterns
30401 [https://bugs.webkit.org/show_bug.cgi?id=20749]
30402
30403 * platform/graphics/qt/GraphicsContextQt.cpp:
30404 (WebCore::GraphicsContext::strokePath):
30405 (WebCore::GraphicsContext::strokeRect):
30406
304072008-09-11 Dirk Schulze <vbs85@gmx.de>
30408
30409 Reviewed by Simon.
30410
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +000030411 https://bugs.webkit.org/show_bug.cgi?id=20729
30412
30413 Fixed canvas gradients for Qt
30414
30415 [Qt] Canvas gradients don't work as expected
30416 [https://bugs.webkit.org/show_bug.cgi?id=20729]
30417
30418 * platform/graphics/qt/GradientQt.cpp:
30419 (WebCore::Gradient::platformGradient):
30420
304212008-09-11 Dirk Schulze <vbs85@gmx.de>
30422
30423 Reviewed by Simon.
30424
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000030425 https://bugs.webkit.org/show_bug.cgi?id=20568
30426
30427 Add support for patterns to Qt.
30428
30429 * platform/graphics/qt/PatternQt.cpp:
30430 (WebCore::Pattern::createPlatformPattern):
30431
mitz@apple.com442c5892008-09-10 18:21:14 +0000304322008-09-10 Dan Bernstein <mitz@apple.com>
30433
30434 Reviewed by Sam Weinig.
30435
30436 - clean up AnimationBase
30437
30438 * page/animation/AnimationBase.cpp:
30439 * page/animation/AnimationBase.h:
30440 * page/animation/CompositeAnimation.cpp:
30441 * page/animation/ImplicitAnimation.cpp:
30442 * page/animation/ImplicitAnimation.h:
30443 * page/animation/KeyframeAnimation.cpp:
30444 * page/animation/KeyframeAnimation.h:
30445
ap@webkit.orgbaf12872008-09-10 16:42:10 +0000304462008-09-10 Alexey Proskuryakov <ap@webkit.org>
30447
30448 Reviewed by Darin Adler.
30449
30450 https://bugs.webkit.org/show_bug.cgi?id=20741
30451 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
30452
30453 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
30454 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
30455 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
30456
30457 I also found and fixed a potential crasher for non-Mac ports.
30458
30459 Tests: fast/encoding/hebrew/8859-8-e.html
30460 fast/encoding/hebrew/8859-8-i.html
30461 fast/encoding/hebrew/8859-8.html
30462 fast/encoding/hebrew/csISO88598I.html
30463 fast/encoding/hebrew/hebrew.html
30464 fast/encoding/hebrew/iso-ir-138.html
30465 fast/encoding/hebrew/logical.html
30466
30467 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
30468 (case-insensitively, because different versions of ICU report this MIME name in different
30469 case).
30470
30471 * platform/text/TextCodecICU.cpp:
30472 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
30473 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
30474 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
30475 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
30476 we also support these via TEC (which we should stop doing), but on Windows, this would
30477 likely crash.
30478
hyatt@apple.com0197e6b2008-09-10 05:29:46 +0000304792008-09-09 Dave Hyatt <hyatt@apple.com
30480
30481 Resurrect PlatformScrollbarWin.
30482
30483 Reviewed by Adam Roben
30484
30485 * WebCore.vcproj/WebCore.vcproj:
30486 * platform/win/PlatformScrollBarWin.cpp:
30487 (WebCore::isRunningOnVistaOrLater):
30488 (WebCore::checkAndInitScrollbarTheme):
30489 (WebCore::PlatformScrollbar::PlatformScrollbar):
30490 (WebCore::PlatformScrollbar::invalidateTrack):
30491 (WebCore::PlatformScrollbar::invalidatePart):
30492 (WebCore::PlatformScrollbar::paint):
30493 (WebCore::PlatformScrollbar::hasButtons):
30494 (WebCore::PlatformScrollbar::hasThumb):
30495 (WebCore::PlatformScrollbar::backButtonRect):
30496 (WebCore::PlatformScrollbar::forwardButtonRect):
30497 (WebCore::PlatformScrollbar::trackRect):
30498 (WebCore::PlatformScrollbar::gripperRect):
30499 (WebCore::PlatformScrollbar::thumbLength):
30500 (WebCore::PlatformScrollbar::paintButton):
30501 (WebCore::PlatformScrollbar::paintTrack):
30502 (WebCore::PlatformScrollbar::paintThumb):
30503 (WebCore::PlatformScrollbar::paintGripper):
30504 (WebCore::PlatformScrollbar::hitTest):
30505 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
30506 (WebCore::PlatformScrollbar::handleMouseOutEvent):
30507 (WebCore::PlatformScrollbar::themeChanged):
30508
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +0000305092008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
30510
30511 Reviewed by Maciej Stachowiak.
30512
30513 Bug 20759: Remove MacroAssembler
30514 <https://bugs.webkit.org/show_bug.cgi?id=20759>
30515
30516 Make the necessary changes to ForwardingHeaders to remove
30517 MacroAssembler.
30518
30519 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
30520 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
30521 * ForwardingHeaders/masm/X86Assembler.h: Added.
30522
alp@webkit.org509e3d42008-09-10 01:26:20 +0000305232008-09-09 Alp Toker <alp@nuanti.com>
30524
30525 Reviewed by Dave Hyatt.
30526
30527 https://bugs.webkit.org/show_bug.cgi?id=16792
30528 [GTK] Fails to render Japanese/Chinese text with simple path
30529
30530 https://bugs.webkit.org/show_bug.cgi?id=16942
30531 [GTK] Oddities in font selection and fall back
30532
30533 https://bugs.webkit.org/show_bug.cgi?id=16862
30534 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
30535
30536 GTK+ font fixes and enhancements.
30537
30538 Implement font fallback for the simple FontConfig-based text path and
30539 improve the Pango-based complex text path to make use of requested
30540 font properties and available font selection.
30541
30542 Add text shadow support to the complex path.
30543
30544 * platform/graphics/gtk/FontCacheGtk.cpp:
30545 (WebCore::FontCache::getFontDataForCharacters):
30546 (WebCore::FontCache::getSimilarFontPlatformData):
30547 * platform/graphics/gtk/FontGtk.cpp:
30548 (WebCore::setPangoAttributes):
30549 (WebCore::Font::drawComplexText):
30550 (WebCore::getDefaultPangoLayout):
30551 (WebCore::Font::floatWidthForComplexText):
30552 (WebCore::Font::offsetForPositionForComplexText):
30553 (WebCore::Font::selectionRectForComplexText):
30554 * platform/graphics/gtk/FontPlatformData.h:
30555 (WebCore::FontPlatformData::FontPlatformData):
30556 (WebCore::FontPlatformData::hash):
30557 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
30558 (WebCore::FontPlatformData::FontPlatformData):
30559 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
30560 (WebCore::SimpleFontData::platformDestroy):
30561
hyatt@apple.com33f37f62008-09-09 23:51:46 +0000305622008-09-09 Dave Hyatt <hyatt@apple.com>
30563
30564 Make the Windows classic case work again. Overlap in slider constants and other constants broke
30565 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
30566 value to make sure it's really a slider thumb to resolve this conflict.
30567
30568 Reviewed by Adam Roben
30569
30570 * rendering/RenderThemeWin.cpp:
30571 (WebCore::drawControl):
30572
dino@apple.com442d0652008-09-09 23:36:56 +0000305732008-09-05 Chris Marrin <cmarrin@apple.com>
30574
30575 Reviewed by Sam Weinig.
30576
30577 Need to handle the case when 0% or 100% keyframe is omitted
30578 https://bugs.webkit.org/show_bug.cgi?id=20679
30579
30580 Tests: animations/keyframes-from-missing.html
30581 animations/keyframes-to-missing.html
30582
30583 * css/CSSStyleSelector.cpp:
30584 (WebCore::CSSStyleSelector::addKeyframeStyle):
30585
hyatt@apple.com419d0ad2008-09-09 23:11:14 +0000305862008-09-09 Dave Hyatt <hyatt@apple.com>
30587
30588 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
30589 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
30590 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
30591 what changes have been made as compared with the old RenderThemeWin).
30592
30593 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
30594 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
30595 vs. printer advancement rounding).
30596
30597 Reviewed by Adam/Sam
30598
30599 * css/CSSStyleSelector.cpp:
30600 (WebCore::CSSStyleSelector::applyProperty):
30601 * platform/graphics/Icon.h:
30602 (WebCore::Icon::create):
30603 * rendering/RenderThemeWin.cpp:
30604 (WebCore::RenderThemeWin::RenderThemeWin):
30605 (WebCore::RenderThemeWin::~RenderThemeWin):
30606 (WebCore::RenderThemeWin::buttonTheme):
30607 (WebCore::RenderThemeWin::textFieldTheme):
30608 (WebCore::RenderThemeWin::menuListTheme):
30609 (WebCore::RenderThemeWin::sliderTheme):
30610 (WebCore::RenderThemeWin::close):
30611 (WebCore::RenderThemeWin::themeChanged):
30612 (WebCore::RenderThemeWin::supportsHover):
30613 (WebCore::fillFontDescription):
30614 (WebCore::RenderThemeWin::systemFont):
30615 (WebCore::RenderThemeWin::supportsFocus):
30616 (WebCore::RenderThemeWin::determineClassicState):
30617 (WebCore::RenderThemeWin::determineState):
30618 (WebCore::RenderThemeWin::determineSliderThumbState):
30619 (WebCore::RenderThemeWin::getClassicThemeData):
30620 (WebCore::RenderThemeWin::getThemeData):
30621 (WebCore::drawControl):
30622 (WebCore::RenderThemeWin::paintButton):
30623 (WebCore::RenderThemeWin::paintTextField):
30624 (WebCore::RenderThemeWin::paintMenuList):
30625 (WebCore::RenderThemeWin::adjustMenuListStyle):
30626 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
30627 (WebCore::RenderThemeWin::paintMenuListButton):
30628 (WebCore::RenderThemeWin::paintSliderTrack):
30629 (WebCore::RenderThemeWin::paintSliderThumb):
30630 (WebCore::RenderThemeWin::adjustSliderThumbSize):
30631 (WebCore::RenderThemeWin::paintSearchField):
30632 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
30633 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
30634 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
30635 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
30636 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
30637 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
30638 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
30639 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
30640 * rendering/RenderThemeWin.h:
30641 (WebCore::ThemeData::ThemeData):
30642 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
30643 (WebCore::RenderThemeWin::adjustButtonStyle):
30644 (WebCore::RenderThemeWin::adjustTextFieldStyle):
30645 (WebCore::RenderThemeWin::adjustTextAreaStyle):
30646
dino@apple.comd511ce52008-09-09 19:50:25 +0000306472008-09-09 Dean Jackson <dino@apple.com>
30648
30649 Reviewed by Sam Weinig.
30650
30651 Document::createEvent missing cases for animation and
30652 transition events.
30653 https://bugs.webkit.org/show_bug.cgi?id=20734
30654
30655 Test: transitions/transition-end-event-create.html
30656 Test: animations/animation-events-create.html
30657
30658 * dom/Document.cpp:
30659 (WebCore::Document::createEvent):
30660 - add the two cases
30661
mitz@apple.com1da7b882008-09-09 18:12:06 +0000306622008-09-09 Dan Bernstein <mitz@apple.com>
30663
mitz@apple.com54921562008-09-09 18:48:34 +000030664 - Tiger build fix
30665
30666 * WebCore.Tiger.exp:
30667 * WebCore.base.exp:
30668 * platform/mac/WebCoreSystemInterface.h:
30669 * platform/mac/WebCoreSystemInterface.mm:
30670
306712008-09-09 Dan Bernstein <mitz@apple.com>
30672
mitz@apple.com1da7b882008-09-09 18:12:06 +000030673 Reviewed by Darin Adler.
30674
30675 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
30676
30677 * WebCore.Tiger.exp:
30678 * WebCore.base.exp:
30679 * platform/graphics/SimpleFontData.h:
30680 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
30681 (WebCore::GlyphPage::fill):
30682 * platform/graphics/mac/SimpleFontDataMac.mm:
30683 (WebCore::initFontData):
30684 (WebCore::SimpleFontData::platformInit):
30685 (WebCore::SimpleFontData::platformDestroy):
30686 * platform/mac/WebCoreSystemInterface.h:
30687 * platform/mac/WebCoreSystemInterface.mm:
30688
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +0000306892008-09-09 Kevin McCullough <kmccullough@apple.com>
30690
30691 Reviewed by Tim.
30692
30693 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
30694 breakpoints inside eval.
30695
30696 * page/inspector/inspector.js:
30697
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +0000306982008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
30699
30700 Reviewed by Simon.
30701
30702 Fix compilation of the Qt port with disabled plugins on Windows
30703
30704 * WebCore.pro:
30705 * plugins/PluginView.cpp:
30706 (WebCore::PluginView::PluginView):
30707 * plugins/PluginView.h:
30708
ap@webkit.org2ba74d32008-09-09 08:11:01 +0000307092008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
30710
30711 Reviewed by Alexey Proskuryakov.
30712
30713 Try MIME charset names before trying IANA names
30714 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
30715
30716 With this change, shorter and more widely used names (preferred MIME
30717 names) are returned by document.charset, document.characterSet,
30718 document.inputEncoding rather than IANA names. This helps
30719 fixing bug 18085 in addition to web developers who are more familiar
30720 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
30721 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
30722 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
30723 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
30724 used, the former is still recognized as aliases to the latter so that
30725 there's very little, if any, to worry about.
30726
30727 * platform/text/TextCodecICU.cpp:
30728 (WebCore::TextCodecICU::registerExtendedEncodingNames):
30729
weinig@apple.com22294302008-09-09 06:55:39 +0000307302008-09-08 Sam Weinig <sam@webkit.org>
30731
30732 Reviewed by Maciej Stachowiak and Oliver Hunt.
30733
30734 Add forwarding headers.
30735
30736 * ForwardingHeaders/wtf/HashFunctions.h: Added.
30737
dino@apple.comd9962af2008-09-09 01:02:00 +0000307382008-09-05 Dean Jackson <dino@apple.com>
30739
30740 Reviewed by Dan Bernstein.
30741
30742 Update grammar so that we can add a keyframe rule via the DOM.
30743 https://bugs.webkit.org/show_bug.cgi?id=20613
30744
30745 * css/CSSGrammar.y:
30746 * css/tokenizer.flex:
30747
antti@apple.com4b17a932008-09-09 00:40:45 +0000307482008-09-08 Antti Koivisto <antti@apple.com>
30749
30750 Reviewed by Dan Bernstein.
30751
30752 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
30753 actually show up in any of the default stylesheets.
30754
30755 * css/CSSStyleSelector.cpp:
30756 (WebCore::elementCanUseSimpleDefaultStyle):
30757
mitz@apple.com66fa91a2008-09-09 00:35:22 +0000307582008-09-08 Dimitri Glazkov <dglazkov@google.com>
30759
30760 Reviewed by Dan Bernstein.
30761
30762 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
30763 Zero width and space characters are displayed incorrectly if not contained in a fallback font
30764
30765 Adds an extra check for Object Replacement Character (U+FFFC) to address
30766 the issue with fast/text/zero-width-characters.html test when run
30767 with Windows system default fonts.
30768
30769 * platform/graphics/Font.h:
30770 (WebCore::Font::treatAsZeroWidthSpace):
30771
dino@apple.comf0a4b212008-09-08 22:51:49 +0000307722008-09-08 Dean Jackson <dino@apple.com>
30773
30774 Reviewed by Sam Weinig.
30775
30776 Code style issue I forgot to fix from previous commit.
30777
30778 * platform/graphics/AffineTransform.cpp:
30779 (WebCore::AffineTransform::blend):
30780
dino@apple.com26625122008-09-08 22:46:41 +0000307812008-09-08 Chris Marrin <cmarrin@apple.com>
30782
30783 Reviewed by Sam Weinig
30784
30785 - Animation of -webkit-transform matrix() function should not do linear interpolation
30786 https://bugs.webkit.org/show_bug.cgi?id=20667
30787
30788 Test: animations/matrix-anim.html
30789
30790 * ChangeLog:
30791 * platform/graphics/AffineTransform.cpp:
30792 (WebCore::affineTransformDecompose):
30793 (WebCore::affineTransformCompose):
30794 (WebCore::AffineTransform::blend):
30795 * platform/graphics/AffineTransform.h:
30796 * rendering/style/RenderStyle.cpp:
30797 (WebCore::MatrixTransformOperation::blend):
30798
ap@webkit.org243a9752008-09-08 16:21:16 +0000307992008-09-08 Alexey Proskuryakov <ap@webkit.org>
30800
30801 Reviewed by Darin Adler.
30802
30803 https://bugs.webkit.org/show_bug.cgi?id=20668
30804 multipart/form-data does not always include Content-type for submitted files
30805
30806 Cannot be tested with DRT or manual tests.
30807
30808 * platform/MIMETypeRegistry.cpp:
30809 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
30810 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
30811 unknown extensions, not just missing ones.
30812
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +0000308132008-09-08 Simon Hausmann <hausmann@webkit.org>
30814
30815 Build fix for the Qt/Windows build, define USE_JSC to
30816 enable the WebCore::String -> JSC::UString operator that
30817 MSVC insists on seeing
30818
30819 * WebCore.pro:
30820
andersca@apple.com3ac4f552008-09-08 11:39:34 +0000308212008-09-08 Anders Carlsson <andersca@apple.com>
30822
30823 Reviewed by Maciej.
30824
30825 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
30826
30827 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
30828 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
30829
30830 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
30831
30832 * bindings/js/JSDOMWindowBase.h:
30833 * loader/FrameLoader.cpp:
30834 (WebCore::FrameLoader::commitProvisionalLoad):
30835
antti@apple.com57b3a102008-09-08 07:01:36 +0000308362008-09-07 Antti Koivisto <antti@apple.com>
30837
30838 Reviewed by Dave Hyatt.
30839
30840 Don't leak the simple stylesheet.
30841 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
30842
30843 * css/CSSStyleSelector.cpp:
30844 (WebCore::loadFullDefaultStyle):
30845 (WebCore::loadSimpleDefaultStyle):
30846 (WebCore::CSSStyleSelector::styleForElement):
30847
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +0000308482008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
30849
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +000030850 Reviewed by Oliver Hunt.
30851
30852 Bug 20711: Change KJS prefix on preprocessor macros to JSC
30853 <https://bugs.webkit.org/show_bug.cgi?id=20711>
30854
30855 * bindings/js/JSEventTargetBase.h:
30856 * bindings/js/JSHTMLInputElementBase.cpp:
30857 * bindings/js/JSHTMLInputElementBase.h:
30858 * bindings/scripts/CodeGeneratorJS.pm:
30859
308602008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
30861
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000030862 Reviewed by Maciej Stachowiak.
30863
30864 Bug 20704: Replace the KJS namespace
30865 <https://bugs.webkit.org/show_bug.cgi?id=20704>
30866
30867 Rename the KJS namespace to JSC. There are still some uses of KJS in the
30868 names of JNI functions, and I will check if these are safe to change
30869 as well.
30870
30871 * WebCore.base.exp:
30872 * bindings/js/GCController.cpp:
30873 * bindings/js/JSAttrCustom.cpp:
30874 * bindings/js/JSAudioConstructor.cpp:
30875 * bindings/js/JSAudioConstructor.h:
30876 (WebCore::JSAudioConstructor::classInfo):
30877 * bindings/js/JSCSSRuleCustom.cpp:
30878 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
30879 * bindings/js/JSCSSValueCustom.cpp:
30880 * bindings/js/JSCanvasPixelArrayCustom.cpp:
30881 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
30882 * bindings/js/JSClipboardCustom.cpp:
30883 * bindings/js/JSConsoleCustom.cpp:
30884 * bindings/js/JSCustomSQLStatementCallback.cpp:
30885 (WebCore::JSCustomSQLStatementCallback::handleEvent):
30886 * bindings/js/JSCustomSQLStatementCallback.h:
30887 (WebCore::JSCustomSQLStatementCallback::create):
30888 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
30889 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
30890 * bindings/js/JSCustomSQLStatementErrorCallback.h:
30891 (WebCore::JSCustomSQLStatementErrorCallback::create):
30892 * bindings/js/JSCustomSQLTransactionCallback.cpp:
30893 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
30894 * bindings/js/JSCustomSQLTransactionCallback.h:
30895 (WebCore::JSCustomSQLTransactionCallback::create):
30896 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
30897 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
30898 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
30899 (WebCore::JSCustomSQLTransactionErrorCallback::create):
30900 * bindings/js/JSCustomVoidCallback.cpp:
30901 (WebCore::JSCustomVoidCallback::handleEvent):
30902 * bindings/js/JSCustomVoidCallback.h:
30903 (WebCore::JSCustomVoidCallback::create):
30904 * bindings/js/JSCustomXPathNSResolver.cpp:
30905 (WebCore::JSCustomXPathNSResolver::create):
30906 * bindings/js/JSCustomXPathNSResolver.h:
30907 * bindings/js/JSDOMApplicationCacheCustom.cpp:
30908 (WebCore::JSDOMApplicationCache::dispatchEvent):
30909 * bindings/js/JSDOMBinding.cpp:
30910 (WebCore::jsOwnedStringOrNull):
30911 * bindings/js/JSDOMBinding.h:
30912 (WebCore::DOMObject::DOMObject):
30913 (WebCore::cacheDOMObject):
30914 (WebCore::cacheSVGDOMObject):
30915 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
30916 (WebCore::toJS):
30917 * bindings/js/JSDOMWindowBase.cpp:
30918 * bindings/js/JSDOMWindowBase.h:
30919 (WebCore::JSDOMWindowBase::classInfo):
30920 (WebCore::JSDOMWindowBase::d):
30921 * bindings/js/JSDOMWindowCustom.cpp:
30922 (WebCore::JSDOMWindow::getPropertyAttributes):
30923 * bindings/js/JSDOMWindowCustom.h:
30924 (WebCore::asJSDOMWindow):
30925 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
30926 (WebCore::JSDOMWindow::customPut):
30927 (WebCore::JSDOMWindowBase::allowsAccessFrom):
30928 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
30929 * bindings/js/JSDOMWindowShell.cpp:
30930 (WebCore::JSDOMWindowShell::getPropertyAttributes):
30931 * bindings/js/JSDOMWindowShell.h:
30932 (WebCore::JSDOMWindowShell::classInfo):
30933 * bindings/js/JSDatabaseCustom.cpp:
30934 * bindings/js/JSDocumentCustom.cpp:
30935 * bindings/js/JSDocumentFragmentCustom.cpp:
30936 * bindings/js/JSElementCustom.cpp:
30937 * bindings/js/JSEventCustom.cpp:
30938 * bindings/js/JSEventListener.cpp:
30939 * bindings/js/JSEventListener.h:
30940 (WebCore::JSUnprotectedEventListener::create):
30941 (WebCore::JSEventListener::create):
30942 * bindings/js/JSEventTargetBase.cpp:
30943 * bindings/js/JSEventTargetBase.h:
30944 (WebCore::JSEventTargetBase::getValueProperty):
30945 (WebCore::JSEventTargetBase::putValueProperty):
30946 (WebCore::JSEventTargetBase::getOwnPropertySlot):
30947 (WebCore::JSEventTargetBase::put):
30948 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
30949 (WebCore::JSEventTargetPrototype::self):
30950 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
30951 (WebCore::JSEventTargetPrototype::classInfo):
30952 * bindings/js/JSEventTargetNode.cpp:
30953 * bindings/js/JSEventTargetNode.h:
30954 (WebCore::JSEventTargetNode::getOwnPropertySlot):
30955 (WebCore::JSEventTargetNode::getValueProperty):
30956 (WebCore::JSEventTargetNode::put):
30957 (WebCore::JSEventTargetNode::putValueProperty):
30958 * bindings/js/JSHTMLAllCollection.h:
30959 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
30960 (WebCore::JSHTMLAllCollection::toBoolean):
30961 * bindings/js/JSHTMLAppletElementCustom.cpp:
30962 * bindings/js/JSHTMLCollectionCustom.cpp:
30963 * bindings/js/JSHTMLDocumentCustom.cpp:
30964 * bindings/js/JSHTMLElementCustom.cpp:
30965 * bindings/js/JSHTMLEmbedElementCustom.cpp:
30966 * bindings/js/JSHTMLFormElementCustom.cpp:
30967 * bindings/js/JSHTMLFrameElementCustom.cpp:
30968 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
30969 * bindings/js/JSHTMLIFrameElementCustom.cpp:
30970 * bindings/js/JSHTMLInputElementBase.cpp:
30971 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
30972 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
30973 * bindings/js/JSHTMLInputElementBase.h:
30974 (WebCore::JSHTMLInputElementBase::classInfo):
30975 * bindings/js/JSHTMLObjectElementCustom.cpp:
30976 * bindings/js/JSHTMLOptionElementConstructor.cpp:
30977 * bindings/js/JSHTMLOptionElementConstructor.h:
30978 (WebCore::JSHTMLOptionElementConstructor::classInfo):
30979 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
30980 * bindings/js/JSHTMLSelectElementCustom.cpp:
30981 (WebCore::selectIndexSetter):
30982 (WebCore::JSHTMLSelectElement::indexSetter):
30983 * bindings/js/JSHTMLSelectElementCustom.h:
30984 * bindings/js/JSHistoryCustom.cpp:
30985 * bindings/js/JSImageConstructor.cpp:
30986 * bindings/js/JSImageConstructor.h:
30987 (WebCore::JSImageConstructor::classInfo):
30988 * bindings/js/JSInspectedObjectWrapper.cpp:
30989 * bindings/js/JSInspectedObjectWrapper.h:
30990 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
30991 (WebCore::JSInspectedObjectWrapper::classInfo):
30992 * bindings/js/JSInspectorCallbackWrapper.cpp:
30993 * bindings/js/JSInspectorCallbackWrapper.h:
30994 (WebCore::JSInspectorCallbackWrapper::classInfo):
30995 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
30996 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
30997 * bindings/js/JSLocationCustom.cpp:
30998 * bindings/js/JSMimeTypeArrayCustom.cpp:
30999 * bindings/js/JSNSResolver.cpp:
31000 * bindings/js/JSNSResolver.h:
31001 (WebCore::JSNSResolver::create):
31002 * bindings/js/JSNamedNodeMapCustom.cpp:
31003 * bindings/js/JSNamedNodesCollection.cpp:
31004 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
31005 * bindings/js/JSNamedNodesCollection.h:
31006 (WebCore::JSNamedNodesCollection::classInfo):
31007 * bindings/js/JSNavigatorCustom.cpp:
31008 * bindings/js/JSNodeCustom.cpp:
31009 * bindings/js/JSNodeFilterCondition.cpp:
31010 (WebCore::JSNodeFilterCondition::acceptNode):
31011 * bindings/js/JSNodeFilterCondition.h:
31012 (WebCore::JSNodeFilterCondition::create):
31013 * bindings/js/JSNodeFilterCustom.cpp:
31014 * bindings/js/JSNodeIteratorCustom.cpp:
31015 * bindings/js/JSNodeListCustom.cpp:
31016 * bindings/js/JSPluginArrayCustom.cpp:
31017 * bindings/js/JSPluginCustom.cpp:
31018 * bindings/js/JSPluginElementFunctions.cpp:
31019 (WebCore::getRuntimeObject):
31020 * bindings/js/JSPluginElementFunctions.h:
31021 * bindings/js/JSQuarantinedObjectWrapper.cpp:
31022 (WebCore::JSQuarantinedObjectWrapper::construct):
31023 (WebCore::JSQuarantinedObjectWrapper::call):
31024 * bindings/js/JSQuarantinedObjectWrapper.h:
31025 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
31026 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
31027 (WebCore::JSQuarantinedObjectWrapper::className):
31028 * bindings/js/JSRGBColor.cpp:
31029 * bindings/js/JSRGBColor.h:
31030 (WebCore::JSRGBColor::classInfo):
31031 * bindings/js/JSSQLResultSetRowListCustom.cpp:
31032 * bindings/js/JSSQLTransactionCustom.cpp:
31033 * bindings/js/JSSVGLazyEventListener.cpp:
31034 * bindings/js/JSSVGLazyEventListener.h:
31035 * bindings/js/JSSVGLengthCustom.cpp:
31036 * bindings/js/JSSVGMatrixCustom.cpp:
31037 (WebCore::JSSVGMatrix::inverse):
31038 (WebCore::JSSVGMatrix::rotateFromVector):
31039 * bindings/js/JSSVGPathSegCustom.cpp:
31040 * bindings/js/JSSVGPathSegListCustom.cpp:
31041 (WebCore::JSSVGPathSegList::initialize):
31042 (WebCore::JSSVGPathSegList::getItem):
31043 (WebCore::JSSVGPathSegList::insertItemBefore):
31044 (WebCore::JSSVGPathSegList::replaceItem):
31045 (WebCore::JSSVGPathSegList::removeItem):
31046 (WebCore::JSSVGPathSegList::appendItem):
31047 * bindings/js/JSSVGPointListCustom.cpp:
31048 * bindings/js/JSSVGTransformListCustom.cpp:
31049 * bindings/js/JSStorageCustom.cpp:
31050 * bindings/js/JSStyleSheetCustom.cpp:
31051 * bindings/js/JSStyleSheetListCustom.cpp:
31052 * bindings/js/JSTextCustom.cpp:
31053 * bindings/js/JSTreeWalkerCustom.cpp:
31054 * bindings/js/JSXMLHttpRequestConstructor.cpp:
31055 * bindings/js/JSXMLHttpRequestConstructor.h:
31056 (WebCore::JSXMLHttpRequestConstructor::classInfo):
31057 * bindings/js/JSXMLHttpRequestCustom.cpp:
31058 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
31059 * bindings/js/JSXSLTProcessorConstructor.cpp:
31060 * bindings/js/JSXSLTProcessorConstructor.h:
31061 (WebCore::JSXSLTProcessorConstructor::classInfo):
31062 * bindings/js/JSXSLTProcessorCustom.cpp:
31063 * bindings/js/ScheduledAction.cpp:
31064 * bindings/js/ScheduledAction.h:
31065 * bindings/js/ScriptController.cpp:
31066 (WebCore::ScriptController::attachDebugger):
31067 (WebCore::ScriptController::windowScriptNPObject):
31068 * bindings/js/ScriptController.h:
31069 * bindings/js/ScriptControllerGtk.cpp:
31070 (WebCore::ScriptController::createScriptInstanceForWidget):
31071 * bindings/js/ScriptControllerMac.mm:
31072 (WebCore::ScriptController::createScriptInstanceForWidget):
31073 (WebCore::ScriptController::windowScriptObject):
31074 (WebCore::ScriptController::clearPlatformScriptObjects):
31075 (WebCore::updateRenderingForBindings):
31076 (WebCore::ScriptController::initJavaJSBindings):
31077 * bindings/js/ScriptControllerQt.cpp:
31078 (WebCore::ScriptController::createScriptInstanceForWidget):
31079 * bindings/js/ScriptControllerWin.cpp:
31080 (WebCore::ScriptController::createScriptInstanceForWidget):
31081 * bindings/js/ScriptControllerWx.cpp:
31082 (WebCore::ScriptController::createScriptInstanceForWidget):
31083 * bindings/js/StringSourceProvider.h:
31084 (WebCore::StringSourceProvider::getRange):
31085 * bindings/objc/DOM.mm:
31086 (-[DOMNode JSC::Bindings::]):
31087 * bindings/objc/DOMInternal.h:
31088 * bindings/objc/DOMInternal.mm:
31089 (-[WebScriptObject _initializeScriptDOMNodeImp]):
31090 * bindings/objc/DOMUtility.mm:
31091 (JSC::createDOMWrapper):
31092 (WebCore::createDOMWrapper):
31093 * bindings/objc/WebScriptObject.mm:
31094 (WebCore::createJSWrapper):
31095 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
31096 * bindings/objc/WebScriptObjectPrivate.h:
31097 * bindings/scripts/CodeGeneratorJS.pm:
31098 * bridge/NP_jsobject.cpp:
31099 * bridge/NP_jsobject.h:
31100 * bridge/c/c_class.cpp:
31101 * bridge/c/c_class.h:
31102 * bridge/c/c_instance.cpp:
31103 * bridge/c/c_instance.h:
31104 * bridge/c/c_runtime.cpp:
31105 * bridge/c/c_runtime.h:
31106 * bridge/c/c_utility.cpp:
31107 * bridge/c/c_utility.h:
31108 * bridge/jni/jni_class.cpp:
31109 * bridge/jni/jni_class.h:
31110 * bridge/jni/jni_instance.cpp:
31111 * bridge/jni/jni_instance.h:
31112 * bridge/jni/jni_jsobject.h:
31113 * bridge/jni/jni_jsobject.mm:
31114 (JavaJSObject::call):
31115 (JavaJSObject::convertJObjectToValue):
31116 * bridge/jni/jni_objc.mm:
31117 (JSC::Bindings::dispatchJNICall):
31118 * bridge/jni/jni_runtime.cpp:
31119 * bridge/jni/jni_runtime.h:
31120 * bridge/jni/jni_utility.cpp:
31121 * bridge/jni/jni_utility.h:
31122 * bridge/npruntime.cpp:
31123 (_NPN_GetStringIdentifier):
31124 * bridge/objc/WebScriptObject.h:
31125 * bridge/objc/objc_class.h:
31126 * bridge/objc/objc_class.mm:
31127 * bridge/objc/objc_instance.h:
31128 * bridge/objc/objc_instance.mm:
31129 * bridge/objc/objc_runtime.h:
31130 * bridge/objc/objc_runtime.mm:
31131 * bridge/objc/objc_utility.h:
31132 * bridge/objc/objc_utility.mm:
31133 * bridge/qt/qt_class.cpp:
31134 * bridge/qt/qt_class.h:
31135 * bridge/qt/qt_instance.cpp:
31136 * bridge/qt/qt_instance.h:
31137 * bridge/qt/qt_runtime.cpp:
31138 (JSC::Bindings::convertQVariantToValue):
31139 (JSC::Bindings::):
31140 * bridge/qt/qt_runtime.h:
31141 * bridge/runtime.cpp:
31142 * bridge/runtime.h:
31143 * bridge/runtime_array.cpp:
31144 * bridge/runtime_array.h:
31145 * bridge/runtime_method.cpp:
31146 * bridge/runtime_method.h:
31147 * bridge/runtime_object.cpp:
31148 * bridge/runtime_object.h:
31149 * bridge/runtime_root.cpp:
31150 (JSC::Bindings::RootObject::invalidate):
31151 (JSC::Bindings::RootObject::gcProtect):
31152 (JSC::Bindings::RootObject::gcUnprotect):
31153 * bridge/runtime_root.h:
31154 * bridge/testbindings.cpp:
31155 * bridge/testbindings.mm:
31156 * bridge/testqtbindings.cpp:
31157 * dom/Document.cpp:
31158 (WebCore::Document::~Document):
31159 * dom/NSResolver.h:
31160 * dom/Node.cpp:
31161 (WebCore::Node::setDocument):
31162 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
31163 (WebCore::resolveNamespacesForSelector):
31164 (WebCore::Node::querySelector):
31165 (WebCore::Node::querySelectorAll):
31166 * dom/Node.h:
31167 * dom/NodeFilter.cpp:
31168 * dom/NodeFilter.h:
31169 * dom/NodeFilterCondition.cpp:
31170 * dom/NodeFilterCondition.h:
31171 * dom/NodeIterator.cpp:
31172 * dom/NodeIterator.h:
31173 * dom/Traversal.cpp:
31174 * dom/Traversal.h:
31175 * dom/TreeWalker.cpp:
31176 * dom/TreeWalker.h:
31177 * dom/make_names.pl:
31178 * history/CachedPage.cpp:
31179 * history/CachedPage.h:
31180 * html/HTMLPlugInElement.cpp:
31181 (WebCore::HTMLPlugInElement::getInstance):
31182 * html/HTMLPlugInElement.h:
31183 * loader/FrameLoader.cpp:
31184 * loader/FrameLoader.h:
31185 * loader/icon/IconDatabase.cpp:
31186 (WebCore::iconDatabase):
31187 * page/Console.cpp:
31188 * page/Console.h:
31189 * page/InspectorController.cpp:
31190 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
31191 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
31192 (WebCore::InspectorResource::setXMLHttpRequestProperties):
31193 (WebCore::InspectorResource::sourceString):
31194 (WebCore::getResourceDocumentNode):
31195 (WebCore::search):
31196 (WebCore::InspectorController::focusNode):
31197 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
31198 (WebCore::InspectorController::addDatabaseScriptResource):
31199 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
31200 * page/InspectorController.h:
31201 (WebCore::InspectorController::profiles):
31202 * page/JavaScriptCallFrame.cpp:
31203 (WebCore::JavaScriptCallFrame::scopeChain):
31204 * page/JavaScriptCallFrame.h:
31205 (WebCore::JavaScriptCallFrame::create):
31206 (WebCore::JavaScriptCallFrame::update):
31207 * page/JavaScriptDebugListener.h:
31208 * page/JavaScriptDebugServer.cpp:
31209 (WebCore::dispatchDidParseSource):
31210 * page/JavaScriptDebugServer.h:
31211 * page/JavaScriptProfile.cpp:
31212 * page/JavaScriptProfile.h:
31213 * page/JavaScriptProfileNode.cpp:
31214 (WebCore::getTotalTime):
31215 (WebCore::getSelfTime):
31216 (WebCore::getTotalPercent):
31217 (WebCore::getSelfPercent):
31218 (WebCore::getNumberOfCalls):
31219 (WebCore::getChildren):
31220 (WebCore::getVisible):
31221 * page/JavaScriptProfileNode.h:
31222 * page/Page.cpp:
31223 (WebCore::Page::setDebuggerForAllPages):
31224 (WebCore::Page::setDebugger):
31225 * page/Page.h:
31226 (WebCore::Page::debugger):
31227 * page/mac/FrameMac.mm:
31228 * platform/KURL.h:
31229 (WebCore::KURL::operator JSC::UString):
31230 * platform/text/AtomicString.cpp:
31231 (WebCore::AtomicString::add):
31232 (WebCore::AtomicString::find):
31233 * platform/text/AtomicString.h:
31234 (WebCore::AtomicString::AtomicString):
31235 * platform/text/PlatformString.h:
31236 * platform/text/String.cpp:
31237 (WebCore::charactersToDouble):
31238 * platform/win/BString.cpp:
31239 * platform/win/BString.h:
31240 * plugins/MimeTypeArray.h:
31241 * plugins/Plugin.h:
31242 * plugins/PluginArray.h:
31243 * plugins/PluginView.cpp:
31244 (WebCore::PluginView::start):
31245 (WebCore::PluginView::performRequest):
31246 (WebCore::PluginView::bindingInstance):
31247 * plugins/PluginView.h:
31248 * plugins/gtk/PluginViewGtk.cpp:
31249 (WebCore::PluginView::paint):
31250 (WebCore::PluginView::handleKeyboardEvent):
31251 (WebCore::PluginView::handleMouseEvent):
31252 (WebCore::PluginView::setNPWindowRect):
31253 (WebCore::PluginView::stop):
31254 (WebCore::PluginView::init):
31255 * plugins/qt/PluginViewQt.cpp:
31256 (WebCore::PluginView::setNPWindowRect):
31257 (WebCore::PluginView::stop):
31258 (WebCore::PluginView::init):
31259 * plugins/win/PluginViewWin.cpp:
31260 (WebCore::PluginView::dispatchNPEvent):
31261 (WebCore::PluginView::handleKeyboardEvent):
31262 (WebCore::PluginView::handleMouseEvent):
31263 (WebCore::PluginView::setNPWindowRect):
31264 (WebCore::PluginView::stop):
31265 * storage/Database.cpp:
31266 (WebCore::Database::Database):
31267 * xml/XMLHttpRequest.cpp:
31268 (WebCore::XMLHttpRequest::responseText):
31269 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
31270 (WebCore::XMLHttpRequest::clearResponse):
31271 (WebCore::XMLHttpRequest::dropProtection):
31272 (WebCore::XMLHttpRequest::didFinishLoading):
31273 (WebCore::XMLHttpRequest::didReceiveData):
31274 * xml/XMLHttpRequest.h:
31275
abarth@webkit.orge17b6052008-09-08 00:03:30 +0000312762008-09-07 Adam Barth <abarth@webkit.org>
31277
31278 Reviewed by Sam Weinig.
31279
31280 Adopt opener restriction on frame navigation.
31281 https://bugs.webkit.org/show_bug.cgi?id=20642
31282
31283 This restriction helps prevent an attacker from navigating top-level
31284 windows that were created by another web site.
31285
31286 Tests: http/tests/security/frameNavigation/not-opener.html
31287 http/tests/security/frameNavigation/opener.html
31288
31289 * loader/FrameLoader.cpp:
31290 (WebCore::canAccessAncestor):
31291 (WebCore::FrameLoader::shouldAllowNavigation):
31292
mitz@apple.com83469af2008-09-07 22:29:56 +0000312932008-09-07 Dan Bernstein <mitz@apple.com>
31294
mitz@apple.com08ff58c2008-09-07 23:19:11 +000031295 Reviewed by Maciej Stachowiak.
31296
31297 - use the correct sign for vertical offsets of combining marks
31298
31299 * platform/graphics/win/UniscribeController.cpp:
31300 (WebCore::UniscribeController::shapeAndPlaceItem):
31301
313022008-09-07 Dan Bernstein <mitz@apple.com>
31303
mitz@apple.com83469af2008-09-07 22:29:56 +000031304 Reviewed by Dave Hyatt.
31305
mitz@apple.com78685b22008-09-07 22:30:29 +000031306 - add the combining mark offsets in two places where I forgot them
31307
31308 * platform/graphics/win/FontCGWin.cpp:
31309 (WebCore::Font::drawGlyphs):
31310
313112008-09-07 Dan Bernstein <mitz@apple.com>
31312
31313 Reviewed by Dave Hyatt.
31314
mitz@apple.com83469af2008-09-07 22:29:56 +000031315 - correct glyph advances in complex text using web fonts rendered with
31316 Core Graphics
31317
31318 * platform/graphics/win/FontCustomPlatformData.cpp:
31319 (WebCore::FontCustomPlatformData::fontPlatformData):
31320
timothy@apple.com968ebc92008-09-07 16:48:41 +0000313212008-09-07 Keishi Hattori <casey.hattori@gmail.com>
31322
31323 Adds console.dirxml support to the Web Inspector.
31324
31325 https://bugs.webkit.org/show_bug.cgi?id=19156
31326
31327 Reviewed by Timothy Hatcher.
31328
31329 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
31330 * bindings/js/JSConsoleCustom.cpp:
31331 (WebCore::JSConsole::dirxml):
31332 * page/Console.cpp:
31333 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
31334 * page/Console.h:
31335 (WebCore::): Added NodeMessageLevel.
31336 * page/Console.idl: Added console.dirxml.
31337 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
31338 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
31339 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
31340 * page/inspector/ElementsTreeOutline.js: Added.
31341 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
31342 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
31343 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
31344 * page/inspector/inspector.css:
31345 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
31346 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
31347 (WebInspector.altKeyDown):
31348 (WebInspector.forceHoverHighlight):
31349 (WebInspector.hoveredDOMNode):
31350 (WebInspector._updateHoverHighlightSoon):
31351 (WebInspector._updateHoverHighlight):
31352 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
31353 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
31354 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
31355 isAncestorIncludingParentFrames.
31356
mrowe@apple.com61ba5f52008-09-07 06:08:56 +0000313572008-09-06 Mark Rowe <mrowe@apple.com>
31358
31359 Qt build fix.
31360
31361 * bridge/qt/qt_runtime.cpp:
31362 (KJS::Bindings::convertQVariantToValue):
31363
mrowe@apple.comf88a4632008-09-07 05:44:58 +000031364=== End merge of squirrelfish-extreme ===
31365
313662008-09-05 Oliver Hunt <oliver@apple.com>
31367
31368 Start bringing up SFX on windows.
31369
31370 Reviewed by Mark Rowe and Sam Weinig
31371
31372 Start doing the work to bring up SFX on windows. Initially
31373 just working on WREC, as it does not make any calls so reduces
31374 the amount of code that needs to be corrected.
31375
31376 Add forwarding headers
31377
31378 * ChangeLog:
31379 * ForwardingHeaders/masm/MacroAssembler.h: Added.
31380 * WebCore.vcproj/WebCore.vcproj:
31381
313822008-08-27 Mark Rowe <mrowe@apple.com>
31383
31384 Reviewed by Oliver Hunt.
31385
31386 Fix the build of the full WebKit stack.
31387
31388 Add forwarding headers.
31389
31390 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
31391 * ForwardingHeaders/wrec/WREC.h: Added.
31392
31393=== Start merge of squirrelfish-extreme ===
31394
antti@apple.com13c24932008-09-07 03:54:21 +0000313952008-09-06 Antti Koivisto <antti@apple.com>
31396
31397 Reviewed by Dave Hyatt.
31398
31399 <rdar://problem/6187043>
31400 Don't parse full HTML user agent style sheet unless it is actually needed
31401 <rdar://problem/6131889>
31402 WebView is significantly more expensive to create recently
31403
31404 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
31405 startup. Some clients may never use most of the rules.
31406
31407 With this patch we use simplified UA stylesheet until we hit something it can't handle.
31408 This avoids full stylesheet parsing on application startup (due to empty document construction)
31409 and also makes it possible for clients with very simple demands (divs and spans only) never to load
31410 the full style.
31411
31412 It also delays view source style parsing until it is used.
31413
31414 * css/CSSStyleSelector.cpp:
31415 (WebCore::elementCanUseSimpleDefaultStyle):
31416 (WebCore::CSSStyleSelector::CSSStyleSelector):
31417 (WebCore::loadFullDefaultStyle):
31418 (WebCore::loadSimpleDefaultStyle):
31419 (WebCore::loadViewSourceStyle):
31420 (WebCore::CSSStyleSelector::matchUARules):
31421 (WebCore::CSSStyleSelector::styleForElement):
31422
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +0000314232008-09-06 Kevin Ollivier <kevino@theolliviers.com>
31424
31425 wx build fix.
31426
31427 * WebCoreSources.bkl:
31428
antti@apple.come953f862008-09-06 23:27:09 +0000314292008-09-06 Antti Koivisto <antti@apple.com>
31430
antti@apple.com00dfa532008-09-06 23:32:26 +000031431 Reverting r35953 which was causing problems on Windows which relies on
31432 WebCore timers in nested event loops. r36132 did alternative fix.
31433
31434 * page/Chrome.cpp:
31435 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
31436 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
31437
314382008-09-06 Antti Koivisto <antti@apple.com>
31439
antti@apple.come953f862008-09-06 23:27:09 +000031440 Reviewed by Dan Bernstein.
31441
31442 Fix <rdar://problem/6201644>
31443 https://bugs.webkit.org/show_bug.cgi?id=20493
31444 Crash after OK in dialog box and reloading page in secure mode
31445
31446 Limited loader only fix since the general timer fix is causing problems on Windows.
31447
31448 * loader/loader.cpp:
31449 (WebCore::Loader::servePendingRequests):
31450 (WebCore::Loader::Host::Host):
31451 (WebCore::Loader::Host::didFinishLoading):
31452 (WebCore::Loader::Host::didFail):
31453 (WebCore::Loader::Host::didReceiveData):
31454 * loader/loader.h:
31455 (WebCore::Loader::Host::processingResource):
31456
mitz@apple.com046bf642008-09-06 08:31:02 +0000314572008-09-06 Dan Bernstein <mitz@apple.com>
31458
31459 Reviewed by Dave Hyatt.
31460
mitz@apple.comc0b050b2008-09-06 22:39:34 +000031461 The initial Core Text adoption prototype was made by Daniel Fenwick.
31462
31463 - <rdar://problem/5158514> Add a Core Text-based complex text code path
31464
31465 Currently the Core Text code path is not used in any configuration.
31466
31467 * WebCore.xcodeproj/project.pbxproj: Added files.
31468 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
31469 * platform/graphics/Font.cpp:
31470 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
31471 of the loop.
31472 * platform/graphics/GlyphBuffer.h:
31473 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
31474 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
31475 Added getCTFont() and getCFStringAttributes() and corresponding data
31476 members for Core Text.
31477 * platform/graphics/mac/CoreTextController.cpp: Added.
31478 (WebCore::roundCGFloat): Helper function.
31479 (WebCore::ceilCGFloat): Helper function.
31480 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
31481 (WebCore::CoreTextController::CoreTextController):
31482 (WebCore::CoreTextController::offsetForPosition):
31483 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
31484 run into subruns as necessary such that each subrun can be rendered with
31485 a single font. Also separates out soft hyphens and replaces them with
31486 real hyphens, because Core Text does not emit a glyph for soft hyphens.
31487 Then calls collectCoreTextRunsForCharacters() on each subrun.
31488 (WebCore::CoreTextController::advance):
31489 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
31490 a CTLine from the given subrun and collects its CoreTextRuns.
31491 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
31492 rounding hacks, letter- and word-spacing and glyph substitutions and
31493 stores the resulting adjusted glyphs and advances.
31494 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
31495 (WebCore::CoreTextController::totalWidth):
31496 (WebCore::CoreTextController::finalRoundingWidth):
31497 (WebCore::CoreTextController::CoreTextRun::ctRun):
31498 (WebCore::CoreTextController::CoreTextRun::glyphCount):
31499 (WebCore::CoreTextController::CoreTextRun::fontData):
31500 (WebCore::CoreTextController::CoreTextRun::characters):
31501 (WebCore::CoreTextController::CoreTextRun::stringLocation):
31502 (WebCore::CoreTextController::CoreTextRun::stringLength):
31503 (WebCore::CoreTextController::CoreTextRun::indexAt):
31504 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
31505 FontMacATSUI.mm.
31506 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
31507 (WebCore::disableLigatures): Changed to call
31508 FontPlatformData::allowsLigatures().
31509 (WebCore::overrideLayoutOperation): Changed to call
31510 FontPlatformData::roundsGlyphAdvances().
31511 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
31512 (WebCore::Font::selectionRectForComplexText): Changed to use
31513 totalWidth() instead of advancing to the end and using runWidthSoFar().
31514 (WebCore::Font::drawComplexText):
31515 (WebCore::Font::floatWidthForComplexText): Ditto.
31516 (WebCore::Font::offsetForPositionForComplexText):
31517 * platform/graphics/mac/FontPlatformData.h:
31518 * platform/graphics/mac/FontPlatformDataMac.mm:
31519 (WebCore::FontPlatformData::setFont):
31520 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
31521 AppKit rendering mode.
31522 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
31523 heuristic that allows ligatures in fonts that do not have a glyph for
31524 'a', based on the assumption that such fonts are only used in complex
31525 text.
31526 * platform/graphics/mac/SimpleFontDataMac.mm:
31527 (WebCore::SimpleFontData::platformInit):
31528 (WebCore::SimpleFontData::platformDestroy):
31529 (WebCore::SimpleFontData::getCTFont): Added.
31530 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
31531 returns an attributes dictionary.
31532 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
31533 * platform/text/mac/ShapeArabic.h: Ditto.
31534
315352008-09-06 Dan Bernstein <mitz@apple.com>
31536
31537 Reviewed by Dave Hyatt.
31538
mitz@apple.com046bf642008-09-06 08:31:02 +000031539 - make combining mark offsets work in CG text on Windows
31540
31541 * platform/graphics/win/FontCGWin.cpp:
31542 (WebCore::Font::drawGlyphs): The old code tried to translate the text
31543 matrix, but failed for two reasons: it did not actually change the
31544 matrix, and even if it did, CGContextSetTextPosition overwrites the
31545 translation values in the text matrix. Instead, just added the
31546 translation to the anchor point.
31547
alp@webkit.org369cdca2008-09-06 04:08:30 +0000315482008-09-05 Gustavo Noronha Silva <gns@gnome.org>
31549
31550 Reviewed by Alp Toker.
31551
31552 https://bugs.webkit.org/show_bug.cgi?id=18346
31553 [GTK] Remove build warnings
31554
31555 Applied some casts, and removed an unused typedef to make the
31556 compiler happy, printing less warnings when building.
31557
31558 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
31559 * platform/graphics/gtk/SimpleFontDataPango.cpp:
31560 (WebCore::SimpleFontData::containsCharacters):
31561 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
31562 (webkit_video_sink_set_caps):
31563 * platform/network/soup/ResourceHandleSoup.cpp:
31564
eric@webkit.org3cb292c2008-09-05 22:17:56 +0000315652008-09-05 Eric Seidel <eric@webkit.org>
31566
eric@webkit.org5ac37902008-09-06 00:21:58 +000031567 Reviewed by Adam Roben.
31568
31569 Build fix for WebKitWin and Chromium
31570
31571 * platform/FileSystem.h:
31572
315732008-09-05 Eric Seidel <eric@webkit.org>
31574
eric@webkit.org3cb292c2008-09-05 22:17:56 +000031575 Reviewed by Darin Adler.
31576
31577 Try to make Chromium compile with ToT:
31578 - Wrap a few places which depend on KJS:: in #if USE(JSC)
31579 - Include some windows forward declarations
31580
31581 * dom/Node.h:
31582 * page/Console.h:
31583 * page/animation/CompositeAnimation.h:
31584 * platform/FileSystem.h:
31585 * platform/graphics/Image.h:
31586 * platform/text/AtomicString.h:
31587 * platform/text/String.cpp:
31588 * rendering/style/RenderStyle.h:
31589
hyatt@apple.comff85d5e2008-09-05 21:52:08 +0000315902008-09-05 Dave Hyatt <hyatt@apple.com>
31591
31592 Add support for runtime switchability of the Aqua look and the native look on Windows.
31593 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
31594
31595 Reviewed by Adam Roben
31596
31597 * WebCore.vcproj/WebCore.vcproj:
31598 * page/Settings.cpp:
31599 (WebCore::Settings::setShouldPaintNativeControls):
31600 * page/Settings.h:
31601 (WebCore::Settings::shouldPaintNativeControls):
31602 * rendering/RenderThemeSafari.cpp:
31603 (WebCore::theme):
31604 * rendering/RenderThemeWin.cpp:
31605
antti@apple.combced97f2008-09-05 18:52:05 +0000316062008-09-05 Antti Koivisto <antti@apple.com>
31607
31608 Qt build fix.
31609
31610 * svg/SVGFEImageElement.cpp:
31611 (WebCore::SVGFEImageElement::build):
31612
aroben@apple.comca0c3362008-09-05 15:33:28 +0000316132008-09-05 Dirk Schulze <vbs85@gmx.de>
31614
31615 Gtk build fix
31616
31617 * GNUmakefile.am:
31618
antti@apple.com72e4a842008-09-05 09:28:11 +0000316192008-09-05 Antti Koivisto <antti@apple.com>
31620
antti@apple.com49e46662008-09-05 10:36:59 +000031621 Another build fix.
31622
31623 * svg/SVGFEImageElement.cpp:
31624 (WebCore::SVGFEImageElement::notifyFinished):
31625
316262008-09-05 Antti Koivisto <antti@apple.com>
31627
antti@apple.comfeec2582008-09-05 10:03:39 +000031628 Build fixes.
31629
31630 * WebCore.xcodeproj/project.pbxproj:
31631 * svg/graphics/filters/SVGFEImage.cpp:
31632 (WebCore::FEImage::cachedImage):
31633
316342008-09-05 Antti Koivisto <antti@apple.com>
31635
darin@apple.com07c80c62008-09-05 18:15:43 +000031636 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +000031637
31638 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
31639 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
31640
31641 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
31642 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
31643 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
31644 we avoid re-decoding resources, especially images.
31645
31646 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
31647 CacheControl: max-age=0 header. That would be added in reload case.
31648
31649 The approach for revalidation is to kick the original resource out from the memory cache
31650 and create a new CachedResource that represents the revalidation request. In case
31651 we get 304 back for the request we put the original resource back to the cache, update
31652 its expiration date and switch the clients registered to revalidation resource to be
31653 clients of the original resource.
31654
31655 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
31656 This allows updating the handles to point to the original resource when the revalidation succeeds. It
31657 also acts as refcounting smart pointer.
31658
31659 * WebCore.pro:
31660 * WebCore.vcproj/WebCore.vcproj:
31661 * WebCore.xcodeproj/project.pbxproj:
31662 * css/CSSFontFaceSource.h:
31663 * css/CSSImportRule.h:
31664 * dom/Clipboard.h:
31665 (WebCore::Clipboard::dragImage):
31666 * dom/ProcessingInstruction.h:
31667 * dom/ScriptElement.h:
31668 * dom/XMLTokenizer.cpp:
31669 (WebCore::XMLTokenizer::isWaitingForScripts):
31670 * dom/XMLTokenizer.h:
31671 * html/HTMLImageLoader.cpp:
31672 (WebCore::HTMLImageLoader::setImage):
31673 (WebCore::HTMLImageLoader::updateFromElement):
31674 (WebCore::HTMLImageLoader::notifyFinished):
31675 * html/HTMLImageLoader.h:
31676 (WebCore::HTMLImageLoader::image):
31677 * html/HTMLLinkElement.h:
31678 * html/HTMLTokenizer.cpp:
31679 (WebCore::HTMLTokenizer::reset):
31680 (WebCore::HTMLTokenizer::scriptHandler):
31681 (WebCore::HTMLTokenizer::notifyFinished):
31682 * html/HTMLTokenizer.h:
31683 * loader/Cache.cpp:
31684 (WebCore::Cache::revalidateResource):
31685 (WebCore::Cache::revalidationSucceeded):
31686 (WebCore::Cache::revalidationFailed):
31687 * loader/Cache.h:
31688 * loader/CachedResource.cpp:
31689 (WebCore::CachedResource::CachedResource):
31690 (WebCore::CachedResource::~CachedResource):
31691 (WebCore::CachedResource::isExpired):
31692 (WebCore::CachedResource::setResponse):
31693 (WebCore::CachedResource::deleteIfPossible):
31694 (WebCore::CachedResource::setResourceToRevalidate):
31695 (WebCore::CachedResource::clearResourceToRevalidate):
31696 (WebCore::CachedResource::switchClientsToRevalidatedResource):
31697 (WebCore::CachedResource::canUseCacheValidator):
31698 (WebCore::CachedResource::mustRevalidate):
31699 * loader/CachedResource.h:
31700 (WebCore::CachedResource::canDelete):
31701 (WebCore::CachedResource::registerHandle):
31702 (WebCore::CachedResource::unregisterHandle):
31703 (WebCore::CachedResource::isCacheValidator):
31704 (WebCore::CachedResource::resourceToRevalidate):
31705 (WebCore::CachedResource::setExpirationDate):
31706 * loader/CachedResourceHandle.cpp: Added.
31707 (WebCore::CachedResourceHandleBase::setResource):
31708 * loader/CachedResourceHandle.h: Added.
31709 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
31710 (WebCore::CachedResourceHandleBase::get):
31711 (WebCore::CachedResourceHandleBase::operator!):
31712 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
31713 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
31714 (WebCore::CachedResourceHandleBase::operator=):
31715 (WebCore::CachedResourceHandle::CachedResourceHandle):
31716 (WebCore::CachedResourceHandle::get):
31717 (WebCore::CachedResourceHandle::operator->):
31718 (WebCore::CachedResourceHandle::operator=):
31719 (WebCore::CachedResourceHandle::operator==):
31720 (WebCore::CachedResourceHandle::operator!=):
31721 (WebCore::operator==):
31722 (WebCore::operator!=):
31723 * loader/DocLoader.cpp:
31724 (WebCore::DocLoader::checkForReload):
31725 * loader/UserStyleSheetLoader.h:
31726 * loader/loader.cpp:
31727 (WebCore::Loader::Host::servePendingRequests):
31728 (WebCore::Loader::Host::didFinishLoading):
31729 (WebCore::Loader::Host::didFail):
31730 (WebCore::Loader::Host::didReceiveResponse):
31731 (WebCore::Loader::Host::didReceiveData):
31732 * page/EventHandler.cpp:
31733 (WebCore::EventHandler::selectCursor):
31734 * rendering/RenderImage.cpp:
31735 (WebCore::RenderImage::setCachedImage):
31736 (WebCore::RenderImage::imageChanged):
31737 * rendering/RenderImage.h:
31738 (WebCore::RenderImage::cachedImage):
31739 (WebCore::RenderImage::imagePtr):
31740 * rendering/style/RenderStyle.h:
31741 * rendering/style/StyleCachedImage.h:
31742 (WebCore::StyleCachedImage::data):
31743 (WebCore::StyleCachedImage::cachedImage):
31744 * svg/SVGFEImageElement.h:
31745 * svg/graphics/filters/SVGFEImage.h:
31746 * xml/XSLImportRule.h:
31747
beidson@apple.comab60d982008-09-05 04:58:12 +0000317482008-09-04 Brady Eidson <beidson@apple.com>
31749
31750 Reviewed by Mitz
31751
31752 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
31753
31754 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
31755 to model default NSURLRequest behavior in a cross-platform manner.
31756
31757 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
31758 client that wished to enforce a much larger default timeout using NSURLRequest API.
31759
31760 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
31761 behavior on the web and this restores previous Safari/WebKit behavior.
31762
31763 It would be easy to write a layout test for this, but to be effective it would have
31764 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
31765
31766 * manual-tests/timeout-test.html: Added.
31767 * manual-tests/timeout-test.php: Added.
31768
31769 * platform/network/ResourceRequestBase.h:
31770 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
31771 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
31772 * platform/network/mac/ResourceRequestMac.mm:
31773 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
31774 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
31775 WebKit applications to enforce their own default timeout.
31776
mitz@apple.com20268542008-09-05 04:26:32 +0000317772008-09-04 Dan Bernstein <mitz@apple.com>
31778
31779 Reviewed by Beth Dakin.
31780
31781 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
31782
31783 Test: fast/repaint/button-spurious-layout-hint.html
31784
31785 * rendering/RenderButton.cpp:
31786 (WebCore::RenderButton::setStyle): Reset the inner block's style box
31787 flex to 0 to avoid getting a spurious layout hint.
31788
kevino@webkit.org3e8c4072008-09-04 23:53:04 +0000317892008-09-04 Kevin Ollivier <kevino@theolliviers.com>
31790
31791 wx build fixes.
31792
31793 * WebCoreSources.bkl:
31794 * bindings/js/ScriptControllerWx.cpp: Added.
31795 (WebCore::ScriptController::createScriptInstanceForWidget):
31796 * page/wx/AccessibilityObjectWx.cpp: Added.
31797 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
31798 * platform/graphics/wx/GraphicsContextWx.cpp:
31799 * webcore-base.bkl:
31800 * webcore-wx.bkl:
31801
mitz@apple.com95a87502008-09-04 23:27:19 +0000318022008-09-04 Dan Bernstein <mitz@apple.com>
31803
31804 Reviewed by Mark Rowe.
31805
31806 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
31807 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
31808 require a different approach
31809
31810 * css/CSSGrammar.y:
31811
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +0000318122008-09-04 Mark Rowe <mrowe@apple.com>
31813
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +000031814 Reviewed by Eric Seidel.
31815
31816 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
31817 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
31818
31819 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
31820 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
31821 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
31822
318232008-09-04 Mark Rowe <mrowe@apple.com>
31824
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000031825 Mac build fix.
31826
31827 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
31828
eric@webkit.org0716a542008-09-04 20:44:12 +0000318292008-09-04 Eric Seidel <eric@webkit.org>
31830
31831 Build fix only, no review.
31832
31833 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
31834
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +0000318352008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
31836
31837 Reviewed by Eric Seidel.
31838
31839 http://bugs.webkit.org/show_bug.cgi?id=20380
31840 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
31841
31842 * config.h: Include the configuration header generated by autotools if
31843 available.
31844
mitz@apple.com9d7e4262008-09-04 18:15:25 +0000318452008-09-04 Dan Bernstein <mitz@apple.com>
31846
31847 Rubber-stamped by Dave Hyatt.
31848
31849 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
31850
31851 * loader/CachedFont.cpp:
31852 (WebCore::CachedFont::allClientsRemoved):
31853 * loader/CachedFont.h:
31854 * loader/CachedImage.cpp:
31855 (WebCore::CachedImage::allClientsRemoved):
31856 * loader/CachedImage.h:
31857 * loader/CachedResource.cpp:
31858 (WebCore::CachedResource::removeClient):
31859 * loader/CachedResource.h:
31860 (WebCore::CachedResource::allClientsRemoved):
31861
aroben@apple.com0da404d2008-09-04 16:09:33 +0000318622008-09-04 Adam Roben <aroben@apple.com>
31863
aroben@apple.comdd3861a2008-09-04 16:09:53 +000031864 Windows build fix after r36071
31865
31866 We were getting these errors:
31867
31868 error C2356: initialization segment must not change during translation
31869 unit
31870
31871 This was happening because multiple files #included by
31872 DerivedSources.cpp were themselves #including StaticConstructors.h. I
31873 fixed the error by adding header guards to StaticConstructors.h so its
31874 contents will only be included once.
31875
31876 But it's also not a good idea for StaticConstructors.h to end up in
31877 DerivedSources.cpp, since it ends up "polluting" all the source files
31878 we have in there. So I removed all the files that include
31879 StaticConstructors.h and added some preprocessor directives to
31880 DerivedSources.cpp to catch this error in the future.
31881
31882 * DerivedSources.cpp: Removed the *Names.cpp files, which include
31883 StaticConstructors.h, and added some preprocessor directives to make
31884 sure we don't end up accidentally including StaticConstructors.h in
31885 the future.
31886 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
31887 * platform/StaticConstructors.h: Added header guards.
31888
318892008-09-04 Adam Roben <aroben@apple.com>
31890
aroben@apple.com0da404d2008-09-04 16:09:33 +000031891 Windows build fix
31892
31893 * platform/graphics/win/FontPlatformData.h: Added a missing #include
31894 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
31895 * platform/text/PlatformString.h: Added a missing #include of
31896 PassRefPtr.h.
31897
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +0000318982008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
31899
31900 Reviewed by Simon.
31901
vestbo@webkit.orgb82da912008-09-04 14:24:58 +000031902 Fix the QtWebKit build to match changes in r36016
31903
31904 * WebCore.pro:
31905 * bridge/qt/qt_instance.cpp:
31906 (KJS::Bindings::QtInstance::getRuntimeObject):
31907 * bridge/qt/qt_runtime.cpp:
31908 (KJS::Bindings::convertQVariantToValue):
31909 (KJS::Bindings::QtConnectionObject::execute):
31910
319112008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
31912
31913 Reviewed by Simon.
31914
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000031915 Re-enable support for user stylesheets in QtWebKit
31916
31917 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
31918 code path, which allows us to keep API support for
31919 loading user style sheets from remote URLs.
31920
31921 As part of the change UserStyleSheetLoader.cpp/h was
31922 moved from WebCore/loader/mac to WebCore/loader.
31923
31924 * WebCore.pro:
31925 * WebCore.xcodeproj/project.pbxproj:
31926 * dom/Document.h:
31927 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
31928 (UserStyleSheetLoader::UserStyleSheetLoader):
31929 (UserStyleSheetLoader::~UserStyleSheetLoader):
31930 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
31931 * page/qt/FrameQt.cpp:
31932 (WebCore::Frame::setUserStyleSheetLocation):
31933 (WebCore::Frame::setUserStyleSheet):
31934
alp@webkit.org539ff852008-09-04 09:14:42 +0000319352008-09-04 Alp Toker <alp@nuanti.com>
31936
31937 Reviewed by Eric.
31938
31939 Remove left-over QT and CAIRO platform checks.
31940
31941 * html/CanvasRenderingContext2D.cpp:
31942
eric@webkit.orgbc0aab82008-09-04 08:39:51 +0000319432008-09-04 Eric Seidel <eric@webkit.org>
31944
31945 Reviewed by Mark Rowe.
31946
mitz@apple.com9388d252008-09-04 08:58:58 +000031947 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000031948
31949 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
31950
mitz@apple.com89557c52008-09-04 07:26:53 +0000319512008-09-04 Dan Bernstein <mitz@apple.com>
31952
31953 Reviewed by Dave Hyatt.
31954
31955 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
31956 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
31957
31958 * rendering/RenderBlock.cpp:
31959 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
31960 positioned movement only case, call
31961 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
31962 layout if that fails.
31963 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
31964 * rendering/RenderBox.h:
31965 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
31966 layoutDoingPositionedMovementOnly to this, and made this function
31967 check if the width changed. If it did, return, leaving the object
31968 dirty. The caller can then call layout(). The width can change even
31969 in the "positioned movement only" case if the object is shrink-to-fit
31970 and the available width constraint is met. (This was the case in the
31971 bug).
31972 * rendering/RenderObject.h:
31973 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
31974 Renamed layoutDoingPositionedMovementOnly() to this.
31975
eric@webkit.org8883b4a2008-09-04 06:31:37 +0000319762008-09-03 Eric Seidel <eric@webkit.org>
31977
31978 No review, build fix only.
31979
31980 Attempt to fix the Qt build.
31981
31982 * WebCore.pro: add page/animation to include path
31983
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +0000319842008-09-03 Mark Rowe <mrowe@apple.com>
31985
31986 Mac build fix. Correctly detect whether dashboard support is enabled.
31987
31988 * DerivedSources.make:
31989
eric@webkit.org3eefe672008-09-04 01:32:26 +0000319902008-09-03 Eric Seidel <eric@webkit.org>
31991
31992 Reviewed by Sam.
31993
eric@webkit.org5e069092008-09-04 01:32:51 +000031994 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
31995
31996 * Configurations/WebCore.xcconfig: add missing ENABLE_*
31997 * config.h: add rules for V8_BINDINGS
31998
319992008-09-03 Eric Seidel <eric@webkit.org>
32000
32001 Reviewed by Sam.
32002
eric@webkit.org3eefe672008-09-04 01:32:26 +000032003 https://bugs.webkit.org/show_bug.cgi?id=20620
32004
32005 Add #if USE(JSC) around KJS dependencies
32006 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
32007 1. Most platforms have it on anyway
32008 2. V8 is going to want to share some of that code
32009 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
32010
32011 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
32012 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
32013 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
32014 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
32015 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
32016 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
32017 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
32018 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
32019 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
32020 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
32021 * platform/text/AtomicString.cpp: add USE(JSC)
32022 * platform/text/AtomicString.h: add USE(JSC)
32023 * platform/text/PlatformString.h: add USE(JSC)
32024 * platform/text/String.cpp: add USE(JSC)
32025 * platform/text/StringImpl.cpp: add USE(JSC)
32026 * platform/text/StringImpl.h: add USE(JSC)
32027
mrowe@apple.comfbe724c2008-09-03 23:46:54 +0000320282008-09-03 Dean McNamee <deanm@chromium.org>
32029
32030 Reviewed by Darin Adler.
32031
32032 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
32033 Bug 20511: Remove static initializers on Windows
32034
32035 Avoid static initializers on Windows by forcing Visual C++ to put
32036 all static initializers in a code segment that is never executed.
32037
32038 * config.h:
32039 * css/MediaFeatureNames.cpp:
32040 * dom/EventNames.cpp:
32041 * dom/QualifiedName.cpp:
32042 * dom/make_names.pl:
32043 * platform/StaticConstructors.h:
32044 * platform/text/AtomicString.cpp:
32045
mrowe@apple.com3aa63182008-09-03 23:40:49 +0000320462008-09-03 Dirk Schulze <vbs85@gmx.de>
32047
32048 Reviewed by Dave Hyatt.
32049
32050 Make FontCairo draw TextStroke and TextFill separately.
32051
32052 [CAIRO] draw TextFill and TextStroke separately.
32053 [https://bugs.webkit.org/show_bug.cgi?id=20631]
32054
32055 * platform/graphics/cairo/FontCairo.cpp:
32056 (WebCore::Font::drawGlyphs):
32057
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000320582008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +000032059
32060 Reviewed by Dave Hyatt.
32061
32062 https://bugs.webkit.org/show_bug.cgi?id=19663
32063 Account for paint and timer lag when animating images. Also pretend
32064 that images whose animations were paused (by becoming invisible)
32065 continued to animate, by "catching up" to the correct frame when they're
32066 shown again.
32067
32068 * platform/graphics/BitmapImage.cpp:
32069 (WebCore::BitmapImage::BitmapImage):
32070 (WebCore::BitmapImage::startAnimation):
32071 (WebCore::BitmapImage::advanceAnimation):
32072 (WebCore::BitmapImage::internalAdvanceAnimation):
32073 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
32074 * platform/graphics/BitmapImage.h:
32075 * platform/graphics/cairo/ImageCairo.cpp:
32076 (WebCore::BitmapImage::draw):
32077 * platform/graphics/cg/ImageCG.cpp:
32078 (WebCore::BitmapImage::draw):
32079 * platform/graphics/qt/ImageQt.cpp:
32080 (WebCore::BitmapImage::draw):
32081 * platform/graphics/wx/ImageWx.cpp:
32082 (WebCore::BitmapImage::draw):
32083
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +0000320842008-09-03 Kevin McCullough <kmccullough@apple.com>
32085
32086 Reviewed by Tim.
32087
32088 Remove the rest of the "zombie" code from the profiler.
32089 - There is no longer a need for the ProfilerClient callback mechanism.
32090
32091 * page/Console.cpp:
32092 (WebCore::Console::Console):
32093 (WebCore::Console::profile):
32094 (WebCore::Console::profileEnd): Move the variables from the header to
32095 here since we don't have to wait for a callback to use them.
32096 * page/Console.h:
32097 * page/InspectorController.cpp:
32098 (WebCore::InspectorController::startUserInitiatedProfiling):
32099 (WebCore::InspectorController::stopUserInitiatedProfiling):
32100 * page/InspectorController.h:
32101
adachan@apple.com38c66182008-09-03 21:43:44 +0000321022008-09-03 Ada Chan <adachan@apple.com>
32103
32104 Windows build fix.
32105
32106 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
32107
dino@apple.com5c917622008-09-03 21:15:53 +0000321082008-09-01 Dean Jackson <dino@apple.com>
32109
32110 Reviewed by Dave Hyatt.
32111
32112 https://bugs.webkit.org/show_bug.cgi?id=20594
32113 Add DOM interfaces for WebKitCSSKeyframeRule
32114 and WebKitCSSKeyframesRule.
32115
32116 TEST: LayoutTests/css3/keyframes-rule.html
32117
32118 * css/WebKitCSSKeyframeRule.idl: Added
32119 * css/WebKitCSSKeyframesRule.idl: Added
32120
32121 * bindings/js/JSCSSRuleCustom.cpp:
32122 (WebCore::toJS):
32123 Add return of new JS Keyframe rules
32124 * bindings/objc/DOMInternal.h:
32125 Include new internal header
32126
32127 * DerivedSources.make:
32128 * GNUmakefile.am:
32129 * WebCore.pro:
32130 * WebCore.vcproj/WebCore.vcproj:
32131 * WebCore.xcodeproj/project.pbxproj:
32132 * WebCoreSources.bkl:
32133 Build configs for new files
32134
aroben@apple.com1f51bfa2008-09-03 20:30:59 +0000321352008-09-03 Adam Roben <aroben@apple.com>
32136
32137 Windows build fix
32138
32139 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
32140 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
32141 convenience/consistency.
32142
adele@apple.com27713582008-09-03 20:13:41 +0000321432008-09-03 Adele Peterson <adele@apple.com>
32144
32145 Build fix.
32146
32147 * WebCore.vcproj/WebCore.vcproj:
32148
hyatt@apple.com4b38ed82008-09-03 18:32:05 +0000321492008-09-03 David Hyatt <hyatt@apple.com>
32150
32151 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
32152
32153 Reviewed by Darin (ages ago)
32154
32155 Added fast/block/float/clamped-right-float.html
32156
32157 * rendering/RenderBlock.cpp:
32158 (WebCore::RenderBlock::positionNewFloats):
32159
hyatt@apple.comafe62052008-09-03 18:13:39 +0000321602008-09-02 David Hyatt <hyatt@apple.com>
32161
32162 Add support for canvas text drawing APIs.
32163
32164 Reviewed by olliej
32165
32166 Tests added as fast/canvas/canvas-text-*.html
32167
32168 * DerivedSources.make:
32169 * WebCore.xcodeproj/project.pbxproj:
32170 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
32171 (WebCore::JSCanvasRenderingContext2D::fillText):
32172 (WebCore::JSCanvasRenderingContext2D::strokeText):
32173 * css/CSSStyleSelector.cpp:
32174 (WebCore::CSSStyleSelector::initForStyleResolve):
32175 (WebCore::CSSStyleSelector::applyPropertyToStyle):
32176 * css/CSSStyleSelector.h:
32177 * html/CanvasRenderingContext2D.cpp:
32178 (WebCore::CanvasRenderingContext2D::State::State):
32179 (WebCore::CanvasRenderingContext2D::font):
32180 (WebCore::CanvasRenderingContext2D::setFont):
32181 (WebCore::CanvasRenderingContext2D::textAlign):
32182 (WebCore::CanvasRenderingContext2D::setTextAlign):
32183 (WebCore::CanvasRenderingContext2D::textBaseline):
32184 (WebCore::CanvasRenderingContext2D::setTextBaseline):
32185 (WebCore::CanvasRenderingContext2D::fillText):
32186 (WebCore::CanvasRenderingContext2D::strokeText):
32187 (WebCore::CanvasRenderingContext2D::measureText):
32188 (WebCore::CanvasRenderingContext2D::drawTextInternal):
32189 (WebCore::CanvasRenderingContext2D::accessFont):
32190 * html/CanvasRenderingContext2D.h:
32191 * html/CanvasRenderingContext2D.idl:
32192 * html/TextMetrics.h: Added.
32193 (WebCore::TextMetrics::create):
32194 (WebCore::TextMetrics::width):
32195 (WebCore::TextMetrics::setWidth):
32196 (WebCore::TextMetrics::TextMetrics):
32197 * html/TextMetrics.idl: Added.
32198 * platform/graphics/Font.cpp:
32199 (WebCore::Font::lineGap):
32200 * platform/graphics/Font.h:
32201 * platform/graphics/GraphicsContext.cpp:
32202 (WebCore::GraphicsContext::drawBidiText):
32203 * platform/graphics/GraphicsContext.h:
32204 * platform/graphics/GraphicsTypes.cpp:
32205 (WebCore::textAlignName):
32206 (WebCore::parseTextAlign):
32207 (WebCore::textBaselineName):
32208 (WebCore::parseTextBaseline):
32209 * platform/graphics/GraphicsTypes.h:
32210 (WebCore::):
32211
sullivan@apple.combc066af2008-09-03 17:37:24 +0000322122008-09-03 John Sullivan <sullivan@apple.com>
32213
32214 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
32215
32216 Fixed by Darin, reviewed by me
32217
32218 * page/animation/AnimationBase.cpp:
32219 (WebCore::AnimationBase::propertiesEqual):
32220 added ensurePropertyMap() to this static function
32221 (WebCore::AnimationBase::getPropertyAtIndex):
32222 ditto
32223 (WebCore::AnimationBase::getNumProperties):
32224 ditto
32225
kmccullough@apple.com70168ee2008-09-03 17:35:42 +0000322262008-09-03 Kevin McCullough <kmccullough@apple.com>
32227
32228 Reviewed by Darin and Tim.
32229
32230 Remove most of the "zombie" mode from the profiler. Next we will need
32231 to remove the client callback mechanism in profiles.
32232 - These changes are a result of changes to JSCore.
32233
32234 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
32235 * page/Console.cpp:
32236 (WebCore::retrieveLastCaller):
32237 (WebCore::Console::profileEnd):
32238 * page/InspectorController.cpp:
32239 (WebCore::InspectorController::stopUserInitiatedProfiling):
32240
adele@apple.com643616b2008-09-03 16:57:58 +0000322412008-09-03 Adele Peterson <adele@apple.com>
32242
32243 Reviewed by Darin Adler.
32244
32245 Test: fast/forms/search-display-none-cancel-button.html
32246
32247 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
32248
32249 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
32250
32251 * rendering/RenderTextControl.cpp:
32252 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
32253 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
32254 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
32255 (WebCore::RenderTextControl::createSubtreeIfNeeded):
32256 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
32257 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
32258 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
32259 (WebCore::RenderTextControl::calcHeight): ditto.
32260 (WebCore::RenderTextControl::nodeAtPoint): ditto.
32261 (WebCore::RenderTextControl::layout): ditto.
32262 (WebCore::RenderTextControl::calcPrefWidths): ditto.
32263 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
32264 (WebCore::RenderTextControl::clientPaddingRight): ditto.
32265
32266 * rendering/TextControlInnerElements.cpp:
32267 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
32268 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
32269 (WebCore::TextControlInnerElement::attachInnerElement): Added.
32270 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
32271 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
32272 * rendering/TextControlInnerElements.h:
32273
ap@webkit.orgacd84142008-09-03 08:08:19 +0000322742008-08-28 Alexey Proskuryakov <ap@webkit.org>
32275
32276 Reviewed by Maciej.
32277
32278 Elminate SQLiteAuthorizer class.
32279
32280 * WebCore.xcodeproj/project.pbxproj:
32281 * WebCore.vcproj/WebCore.vcproj:
32282 * GNUmakefile.am
32283 Removed SQLiteAuthorizer.h.
32284
32285 * platform/sql/SQLiteAuthorizer.cpp:
32286 * platform/sql/SQLiteAuthorizer.h: Removed.
32287 * platform/sql/SQLiteDatabase.cpp:
32288 (WebCore::SQLiteDatabase::authorizerFunction):
32289 (WebCore::SQLiteDatabase::setAuthorizer):
32290 * platform/sql/SQLiteDatabase.h:
32291 * storage/DatabaseAuthorizer.h:
32292 (WebCore::DatabaseAuthorizer::create):
32293 (WebCore::DatabaseAuthorizer::createView):
32294 (WebCore::DatabaseAuthorizer::createTempView):
32295 (WebCore::DatabaseAuthorizer::dropView):
32296 (WebCore::DatabaseAuthorizer::dropTempView):
32297 (WebCore::DatabaseAuthorizer::allowSelect):
32298 (WebCore::DatabaseAuthorizer::allowReindex):
32299 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
32300
mrowe@apple.com2ecd4862008-09-03 07:05:48 +0000323012008-09-03 Dirk Schulze <vbs85@gmx.de>
32302
32303 Reviewed by Mark Rowe.
32304
32305 WebKitGtk build fix.
32306
32307 * GNUmakefile.am:
32308 * page/animation/AnimationController.h:
32309
mrowe@apple.come344ad02008-09-03 06:59:03 +0000323102008-09-02 Robert Blaut <webkit@blaut.biz>
32311
32312 Reviewed by Geoff Garen.
32313
32314 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
32315 Misplaced elements should not close DL lists.
32316
32317 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
32318
32319 * html/HTMLParser.cpp:
32320 (WebCore::HTMLParser::handleError):
32321
mrowe@apple.com7a909462008-09-03 06:51:31 +0000323222008-09-02 Glenn Wilson <wilsong@gmail.com>
32323
32324 Reviewed by Darin Adler.
32325
32326 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
32327 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
32328
32329 We would inappropriately interpret and apply an invalid CSS "color" property
32330 when the value is a predefined color preceded by a '#' symbol. For example,
32331 style="color:#gray;" would apply the color gray when it should not.
32332
32333 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
32334 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
32335 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
32336 an ignorable token.
32337
32338 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
32339 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
32340 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
32341
32342 Test: css1/color_and_background/invalid_color.html
32343
32344 * css/CSSGrammar.y:
32345
mrowe@apple.comda9a1442008-09-03 06:22:12 +0000323462008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
32347
32348 Reviewed by Darin Adler.
32349
32350 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
32351 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
32352
32353 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
32354
32355 Test: css3/khtml-background-size-0x0-bmp.html
32356
32357 * rendering/RenderBox.cpp:
32358 (WebCore::RenderBox::repaintLayerRectsForImage):
32359
mrowe@apple.com6625ae52008-09-03 06:12:30 +0000323602008-09-02 Glenn Wilson <wilsong@gmail.com>
32361
32362 Reviewed by Eric Seidel.
32363
32364 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
32365 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
32366
32367 The function checkForOrphanedUnits() would change the length of a list whose size was
32368 was already determined before the call to checkForOrphanedUnits was made. Later in
32369 the caller, the old size was being used for boundary management.
32370
32371 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
32372 calling function, before the size of the list is determined.
32373
32374 Test: fast/css/orphaned_units_crash.html
32375
32376 * css/CSSParser.cpp:
32377 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
32378
mrowe@apple.com170bd522008-09-03 05:49:51 +0000323792008-09-02 Dirk Schulze <vbs85@gmx.de>
32380
32381 Reviewed by Darin Adler.
32382
mrowe@apple.comeb877a52008-09-03 06:01:15 +000032383 Fallback on invalid fill or stroke styles in Canvas was
32384 transparent black. Changed it to last valid style.
32385
32386 Canvas fillStyle() and strokeStyle() needs fallback
32387 https://bugs.webkit.org/show_bug.cgi?id=20474
32388
32389 Tests: fast/canvas/canvas-invalid-fillstyle.html
32390 fast/canvas/canvas-invalid-strokestyle.html
32391
32392 * html/CanvasStyle.cpp:
32393 (WebCore::CanvasStyle::applyStrokeColor):
32394 (WebCore::CanvasStyle::applyFillColor):
32395
323962008-09-02 Dirk Schulze <vbs85@gmx.de>
32397
32398 Reviewed by Darin Adler.
32399
mrowe@apple.com170bd522008-09-03 05:49:51 +000032400 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
32401 Updated drawImage() in canvas to match the current specification.
32402
32403 Test: fast/canvas/drawImage-with-negative-source-destination.html
32404
32405 * html/CanvasRenderingContext2D.cpp:
32406 (WebCore::normalizeRect):
32407 (WebCore::CanvasRenderingContext2D::drawImage):
32408
mrowe@apple.com96916d12008-09-03 05:41:44 +0000324092008-08-26 Mark Rowe <mrowe@apple.com>
32410
32411 Reviewed by Darin Adler.
32412
32413 <rdar://problem/5768210> Switch back to the system version of SQLite
32414
32415 Use the system version of SQLite when it is new enough to provide the functionality
32416 that WebCore requires.
32417
32418 * Configurations/Base.xcconfig:
32419 * Configurations/DebugRelease.xcconfig:
32420 * Configurations/WebCore.xcconfig:
32421
mitz@apple.comce268c12008-09-03 02:59:00 +0000324222008-09-02 Dan Bernstein <mitz@apple.com>
32423
32424 - build fix
32425
32426 * page/animation/AnimationBase.h:
32427
dino@apple.com7e49a7a2008-09-03 01:32:14 +0000324282008-09-02 Chris Marrin <cmarrin@apple.com>
32429
32430 Reviewed by Dave Hyatt.
32431
32432 AnimationController.cpp should be split into separate files
32433 https://bugs.webkit.org/show_bug.cgi?id=20604
32434
32435 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
32436 recommendation of Dave Hyatt.
32437
32438 * GNUmakefile.am:
32439 * WebCore.pro:
32440 * WebCore.vcproj/WebCore.vcproj:
32441 * WebCore.xcodeproj/project.pbxproj:
32442 * WebCoreSources.bkl:
32443 Build files.
32444
32445 * page/AnimationController.cpp: Removed.
32446 * page/AnimationController.h: Removed.
32447 * page/animation: Added.
32448 * page/animation/AnimationBase.cpp: Added.
32449 * page/animation/AnimationBase.h: Added.
32450 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
32451 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
32452 * page/animation/CompositeAnimation.cpp: Added.
32453 * page/animation/CompositeAnimation.h: Added.
32454 * page/animation/ImplicitAnimation.cpp: Added.
32455 * page/animation/ImplicitAnimation.h: Added.
32456 * page/animation/KeyframeAnimation.cpp: Added.
32457 * page/animation/KeyframeAnimation.h: Added.
32458
mitz@apple.comcb917a22008-09-03 00:57:37 +0000324592008-09-02 Dan Bernstein <mitz@apple.com>
32460
32461 - release build fix
32462
32463 * platform/graphics/cg/GraphicsContextCG.cpp:
32464 (WebCore::calculateDrawingMode):
32465
timothy@apple.comf3aa7342008-09-02 21:30:26 +0000324662008-09-02 Timothy Hatcher <timothy@apple.com>
32467
timothy@apple.comc33ff3c2008-09-02 21:35:02 +000032468 Make console functions log the correct resource URL and
32469 line number for where the call originated.
32470
32471 https://bugs.webkit.org/show_bug.cgi?id=17234
32472 <rdar://problem/5732837>
32473
32474 Reviewed by Kevin McCullough.
32475
32476 Test: manual-tests/inspector/console-call-line-numbers.html
32477
32478 * bindings/js/JSConsoleCustom.cpp:
32479 (WebCore::JSConsole::count): Call the impl.
32480 (WebCore::JSConsole::timeEnd): Ditto.
32481 * manual-tests/inspector/console-call-line-numbers.html: Added.
32482 * manual-tests/inspector/resources/script-console-calls.js: Added.
32483 * page/Console.cpp:
32484 (WebCore::retrieveLastCaller): Helper to get the URL and line.
32485 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
32486 line number to pass to addMessageToConsole.
32487 (WebCore::Console::info): Ditto.
32488 (WebCore::Console::log): Ditto.
32489 (WebCore::Console::assertCondition): Ditto.
32490 (WebCore::Console::count): Ditto.
32491 (WebCore::Console::timeEnd): Ditto.
32492 (WebCore::Console::warn): Ditto.
32493 * page/Console.h:
32494 * page/Console.idl: Make count and timeEnd custom.
32495
324962008-09-02 Timothy Hatcher <timothy@apple.com>
32497
timothy@apple.comf3aa7342008-09-02 21:30:26 +000032498 Removed IDL files from WebCore's framework resources.
32499
32500 * WebCore.xcodeproj/project.pbxproj:
32501
mitz@apple.comfb6ad392008-09-02 20:39:29 +0000325022008-09-02 Dan Bernstein <mitz@apple.com>
32503
32504 Reviewed by Dave Hyatt.
32505
32506 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
32507
32508 * html/HTMLParser.cpp:
32509 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
32510 cap on the number of consecutive identical residual style tags to
32511 reopen.
32512 (WebCore::HTMLParser::popBlock): Ditto.
32513
ap@webkit.org879328b2008-09-02 16:16:06 +0000325142008-09-02 Alexey Proskuryakov <ap@webkit.org>
32515
32516 Reviewed by Adam Roben.
32517
32518 A little database quota management cleanup.
32519
32520 * storage/OriginQuotaManager.cpp:
32521 (WebCore::OriginQuotaManager::OriginQuotaManager):
32522 (WebCore::OriginQuotaManager::lock):
32523 (WebCore::OriginQuotaManager::unlock):
32524 (WebCore::OriginQuotaManager::trackOrigin):
32525 (WebCore::OriginQuotaManager::tracksOrigin):
32526 (WebCore::OriginQuotaManager::addDatabase):
32527 (WebCore::OriginQuotaManager::removeDatabase):
32528 (WebCore::OriginQuotaManager::removeOrigin):
32529 (WebCore::OriginQuotaManager::markDatabase):
32530 (WebCore::OriginQuotaManager::diskUsage):
32531 * storage/OriginQuotaManager.h:
32532 Changed to assert that a lock is taken more directly and reliably. Removed comments about
32533 main/background threads, as this is likely to stop being true with synchronous Database calls
32534 being made on worker threads.
32535
32536 * storage/OriginUsageRecord.cpp:
32537 (WebCore::OriginUsageRecord::OriginUsageRecord):
32538 (WebCore::OriginUsageRecord::addDatabase):
32539 (WebCore::OriginUsageRecord::removeDatabase):
32540 (WebCore::OriginUsageRecord::markDatabase):
32541 (WebCore::OriginUsageRecord::diskUsage):
32542 * storage/OriginUsageRecord.h:
32543 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
32544 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
32545 can be replaced with a single boolean for OriginUsageRecord.
32546 Added assertions for string parameters being unshared.
32547
32548
abarth@webkit.orgaea97a02008-09-02 04:26:15 +0000325492008-09-01 Adam Barth <abarth@webkit.org>
32550
32551 Reviewed by Sam Weinig.
32552
32553 https://bugs.webkit.org/show_bug.cgi?id=19760
32554
32555 Make granting LoadLocalResources conditional on a policy.
32556
32557 * WebCore.base.exp:
32558 * dom/Document.cpp:
32559 (WebCore::Document::initSecurityContext):
32560 * loader/FrameLoader.cpp:
32561 (WebCore::FrameLoader::setLocalLoadPolicy):
32562 (WebCore::FrameLoader::restrictAccessToLocal):
32563 * loader/FrameLoader.h:
32564 (WebCore::FrameLoader::):
32565 * platform/SecurityOrigin.cpp:
32566 (WebCore::SecurityOrigin::grantLoadLocalResources):
32567 * platform/SecurityOrigin.h:
32568
dino@apple.com6e2db502008-09-01 23:05:28 +0000325692008-09-01 Dean Jackson <dino@apple.com>
32570
dino@apple.com59ca9f52008-09-01 23:34:13 +000032571 Reviewed by Sam Weinig.
32572
32573 https://bugs.webkit.org/show_bug.cgi?id=20571
32574 Make sure Window object can assign Animation/Transition event
32575 listeners via attributes.
32576
32577 Also added a bunch of transition event tests, although
32578 only transition-end-event-window is directly relevant to this patch.
32579
32580 (WebCore::JSDOMWindowBase::put):
32581
32582 Tests: transitions/transition-end-event-all-properties.html
32583 transitions/transition-end-event-attributes.html
32584 transitions/transition-end-event-container.html
32585 transitions/transition-end-event-left.html
32586 transitions/transition-end-event-multiple-01.html
32587 transitions/transition-end-event-multiple-02.html
32588 transitions/transition-end-event-multiple-03.html
32589 transitions/transition-end-event-multiple-04.html
32590 transitions/transition-end-event-nested.html
32591 transitions/transition-end-event-transform.html
32592 transitions/transition-end-event-window.html
32593
325942008-09-01 Dean Jackson <dino@apple.com>
32595
dino@apple.com6e2db502008-09-01 23:05:28 +000032596 Reviewed by Sam Weinig
32597
32598 Code styling cleanup.
32599
32600 * bindings/js/JSDOMWindowBase.cpp:
32601 (WebCore::JSDOMWindowBase::getValueProperty):
32602 (WebCore::JSDOMWindowBase::put):
32603
weinig@apple.com3412bb42008-09-01 21:22:54 +0000326042008-09-01 Geoffrey Garen <ggaren@apple.com>
32605
32606 Reviewed by Darin Adler.
32607
32608 First cut at inline caching for access to vanilla JavaScript properties.
32609
32610 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
32611 to WebCore classes, and PutPropertySlot& arguments to put functions.
32612
32613 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
32614 inline caching for global properties, so global assignment can be optimized.
32615
32616 * ForwardingHeaders/kjs/StructureID.h: Added.
32617 * bindings/js/JSDOMBinding.h:
32618 (WebCore::DOMObject::DOMObject):
32619 * bindings/js/JSDOMWindowBase.cpp:
32620 (WebCore::JSDOMWindowBase::put):
32621 * bindings/js/JSDOMWindowBase.h:
32622 * bindings/js/JSDOMWindowCustom.h:
32623 (WebCore::JSDOMWindow::customPut):
32624 * bindings/js/JSDOMWindowShell.cpp:
32625 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
32626 (WebCore::JSDOMWindowShell::put):
32627 * bindings/js/JSDOMWindowShell.h:
32628 * bindings/js/JSEventTargetBase.h:
32629 (WebCore::JSEventTargetBase::put):
32630 * bindings/js/JSEventTargetNode.h:
32631 (WebCore::JSEventTargetNode::put):
32632 * bindings/js/JSHTMLAppletElementCustom.cpp:
32633 (WebCore::JSHTMLAppletElement::customPut):
32634 * bindings/js/JSHTMLEmbedElementCustom.cpp:
32635 (WebCore::JSHTMLEmbedElement::customPut):
32636 * bindings/js/JSHTMLInputElementBase.cpp:
32637 (WebCore::JSHTMLInputElementBase::put):
32638 * bindings/js/JSHTMLInputElementBase.h:
32639 * bindings/js/JSHTMLObjectElementCustom.cpp:
32640 (WebCore::JSHTMLObjectElement::customPut):
32641 * bindings/js/JSHistoryCustom.cpp:
32642 (WebCore::JSHistory::customPut):
32643 * bindings/js/JSInspectedObjectWrapper.cpp:
32644 (WebCore::JSInspectedObjectWrapper::wrap):
32645 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
32646 * bindings/js/JSInspectedObjectWrapper.h:
32647 * bindings/js/JSInspectorCallbackWrapper.cpp:
32648 (WebCore::JSInspectorCallbackWrapper::wrap):
32649 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
32650 * bindings/js/JSInspectorCallbackWrapper.h:
32651 * bindings/js/JSLocationCustom.cpp:
32652 (WebCore::JSLocation::customPut):
32653 * bindings/js/JSPluginElementFunctions.cpp:
32654 (WebCore::runtimeObjectCustomPut):
32655 * bindings/js/JSPluginElementFunctions.h:
32656 * bindings/js/JSQuarantinedObjectWrapper.cpp:
32657 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
32658 (WebCore::JSQuarantinedObjectWrapper::put):
32659 * bindings/js/JSQuarantinedObjectWrapper.h:
32660 * bindings/js/JSStorageCustom.cpp:
32661 (WebCore::JSStorage::customPut):
32662 * bindings/objc/WebScriptObject.mm:
32663 (-[WebScriptObject setValue:forKey:]):
32664 * bindings/scripts/CodeGeneratorJS.pm:
32665 * bridge/NP_jsobject.cpp:
32666 (_NPN_SetProperty):
32667 * bridge/jni/jni_jsobject.mm:
32668 (JavaJSObject::setMember):
32669 * bridge/objc/objc_class.mm:
32670 (KJS::Bindings::ObjcClass::fallbackObject):
32671 * bridge/objc/objc_runtime.h:
32672 * bridge/objc/objc_runtime.mm:
32673 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
32674 (ObjcFallbackObjectImp::put):
32675 * bridge/runtime.cpp:
32676 (KJS::Bindings::Instance::createRuntimeObject):
32677 * bridge/runtime_array.cpp:
32678 (RuntimeArray::put):
32679 * bridge/runtime_array.h:
32680 * bridge/runtime_object.cpp:
32681 (RuntimeObjectImp::RuntimeObjectImp):
32682 (RuntimeObjectImp::put):
32683 * bridge/runtime_object.h:
32684
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +0000326852008-09-01 Dirk Schulze <vbs85@gmx.de>
32686
32687 Reviewed by Eric Seidel.
32688
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +000032689 Fixed border-radius for Cairo.
32690
32691 * platform/graphics/cairo/GraphicsContextCairo.cpp:
32692 (WebCore::GraphicsContext::strokeArc):
32693
326942008-09-01 Dirk Schulze <vbs85@gmx.de>
32695
32696 Reviewed by Eric Seidel.
32697
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000032698 Added canvas's globalAlpha to cairo.
32699
32700 * platform/graphics/GraphicsContext.h:
32701 * platform/graphics/cairo/GraphicsContextCairo.cpp:
32702 (WebCore::GraphicsContext::fillPath):
32703 (WebCore::GraphicsContext::strokePath):
32704 (WebCore::GraphicsContext::setAlpha):
32705 (WebCore::GraphicsContext::getAlpha):
32706 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
32707 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
32708 * platform/graphics/cairo/ImageCairo.cpp:
32709 (WebCore::BitmapImage::draw):
32710
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +0000327112008-08-31 Simon Hausmann <hausmann@webkit.org>
32712
32713 Unreviewed Qt build fix.
32714
32715 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
32716 the .h file
32717
darin@apple.come7945852008-08-31 06:58:07 +0000327182008-08-30 Darin Adler <darin@apple.com>
32719
32720 Reviewed by Maciej.
32721
32722 - adopt some new JavaScriptCore functions where appropriate
32723
32724 * bindings/js/JSDOMWindowBase.cpp:
32725 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
32726 (WebCore::windowProtoFuncBToA): Ditto.
32727 * bindings/js/JSEventListener.cpp:
32728 (WebCore::JSLazyEventListener::eventParameterName): Adopted
32729 jsNontrivialString.
32730 * bindings/js/JSSVGLazyEventListener.cpp:
32731 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
32732
beidson@apple.com21c821f2008-08-30 00:26:01 +0000327332008-08-29 Brady Eidson <beidson@apple.com>
32734
beidson@apple.come1bd6032008-08-30 00:30:11 +000032735 Reviewed by Anders' rubberstamp
32736
32737 Style cleanup to match MediaTokenizer::writeRawData()
32738
32739 * loader/PluginDocument.cpp:
32740 (WebCore::PluginTokenizer::writeRawData):
32741
327422008-08-29 Brady Eidson <beidson@apple.com>
32743
beidson@apple.com21c821f2008-08-30 00:26:01 +000032744 Reviewed by Anders
32745
mitz@apple.com098b1e62008-09-24 16:39:55 +000032746 https://bugs.webkit.org/show_bug.cgi?id=20556
32747 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
32748
beidson@apple.com21c821f2008-08-30 00:26:01 +000032749 Fix regression I introducted in 35946
32750 Already covered by media/video-click-dlbclick-standalone.html
32751
32752 * loader/MediaDocument.cpp:
32753 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
32754 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
32755 an ASSERT signifying that this method should only be called once, to more closely follow the
32756 PluginDocument case.
32757
bdakin@apple.com7ee298c2008-08-30 00:00:30 +0000327582008-08-29 Beth Dakin <bdakin@apple.com>
32759
32760 Reviewed by Sam Weinig.
32761
32762 Fix for <rdar://problem/6181588>
32763
32764 This patch makes hit testing take into account the new concept of a
32765 disconnected frame, in which some of the content may not be
32766 visible. The current hit testing mechanism starts at a target frame
32767 and drills down for a HitTestResult. In some cases, drilling down
32768 will find a non-visible result. When this happens, we need to try
32769 again, starting at a higher level -- namely, starting at the main
32770 frame.
32771
32772 * editing/Editor.cpp:
32773 (WebCore::Editor::insideVisibleArea): New function that tests if a
32774 point is inside the visible area for a disconnected frame.
32775 * editing/Editor.h:
32776 * page/EventHandler.cpp:
32777 (WebCore::EventHandler::hitTestResultAtPoint):
32778
adele@apple.comfb903062008-08-29 22:30:18 +0000327792008-08-29 Adele Peterson <adele@apple.com>
32780
32781 Reviewed by Adam Roben.
32782
32783 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
32784
32785 * GNUmakefile.am:
32786 * WebCore.pro:
32787 * WebCore.vcproj/WebCore.vcproj:
32788 * WebCore.xcodeproj/project.pbxproj:
32789 * WebCoreSources.bkl:
32790 * html/HTMLTextFieldInnerElement.cpp: Removed.
32791 * html/HTMLTextFieldInnerElement.h: Removed.
32792 * rendering/RenderTextControl.cpp:
32793 (WebCore::RenderTextControl::createSubtreeIfNeeded):
32794 * rendering/RenderTextControl.h:
32795 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
32796 (WebCore::TextControlInnerElement::TextControlInnerElement):
32797 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
32798 (WebCore::TextControlInnerTextElement::defaultEventHandler):
32799 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
32800 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
32801 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
32802 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
32803 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
32804
eric@webkit.org298c65b2008-08-29 21:39:32 +0000328052008-08-29 Eric Seidel <eric@webkit.org>
32806
eric@webkit.org77837ce2008-08-29 21:40:07 +000032807 Rubber-stamped by aroben.
32808
32809 Add GraphicsContext.h include to GraphcisContextPrivate.h
32810
32811 GraphicsContextPrivate uses StrokeStyle which is defined
32812 in GraphicsContext.h but it doesn't include that header.
32813 CoreGraphics build doesn't fail here due to the order
32814 it happens to include files.
32815
32816 * platform/graphics/GraphicsContextPrivate.h:
32817
328182008-08-29 Eric Seidel <eric@webkit.org>
32819
eric@webkit.org298c65b2008-08-29 21:39:32 +000032820 Reviewed by hyatt.
32821
32822 Fix GeneratedImage to respect Image's refcounting
32823 Fixing potential crashers (future if not current)
32824 https://bugs.webkit.org/show_bug.cgi?id=20567
32825
32826 I don't know if it's possible to make the current code
32827 crash, thus I've not made a test.
32828
32829 * css/CSSGradientValue.cpp:
32830 (WebCore::CSSGradientValue::image):
32831 * css/CSSImageGeneratorValue.cpp:
32832 (WebCore::CSSImageGeneratorValue::removeClient):
32833 (WebCore::CSSImageGeneratorValue::getImage):
32834 * css/CSSImageGeneratorValue.h:
32835 * platform/graphics/GeneratedImage.h:
32836 (WebCore::GeneratedImage::GeneratedImage):
32837 * rendering/style/RenderStyle.cpp:
32838 (WebCore::RenderStyle::setContent):
32839 * rendering/style/RenderStyle.h:
32840
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +0000328412008-08-29 Eric Carlson <eric.carlson@apple.com>
32842
32843 Reviewed by Adele.
32844
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +000032845 Fix for <rdar://problem/6093767>
32846 https://bugs.webkit.org/show_bug.cgi?id=20526
32847
32848 Don't allow video to render until unsupported track types have been disabled.
32849
32850 * platform/graphics/win/QTMovieWin.cpp:
32851 (QTMovieWinPrivate::task):
32852 (QTMovieWinPrivate::drawingComplete):
32853 (QTMovieWinPrivate::clearGWorld):
32854
328552008-08-29 Eric Carlson <eric.carlson@apple.com>
32856
32857 Reviewed by Adele.
32858
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000032859 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
32860 <rdar://problem/6169301>
32861
32862 Return the size of the movie data instead of 1000.
32863
32864 Test: media/progress-event-total.html
32865
32866 * platform/graphics/win/QTMovieWin.cpp:
32867 (QTMovieWin::dataSize):
32868
hausmann@webkit.org0367b582008-08-29 15:56:02 +0000328692008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
32870
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +000032871 Reviewed by Eric Seidel.
32872
32873 [janitor/qt] Start replacing port specific getters with the generic native getter
32874 To get the native presentation of an image we currently have platform
32875 specific #ifdef's and a generic getter using NativeImagePtr. This patch
32876 extends this to the ImageBuffer and updates the Qt platform to get rid
32877 of the special #ifdefs.
32878
32879 https://bugs.webkit.org/attachment.cgi?id=22861
32880
32881 * platform/graphics/BitmapImage.h:
32882 * platform/graphics/Image.h:
32883 * platform/graphics/qt/ImageQt.cpp:
32884 * platform/graphics/qt/StillImageQt.cpp:
32885 * platform/graphics/qt/StillImageQt.h:
32886 * platform/qt/ClipboardQt.cpp:
32887 (WebCore::ClipboardQt::createDragImage):
32888 (WebCore::ClipboardQt::declareAndWriteDragImage):
32889 * platform/qt/CursorQt.cpp:
32890 * platform/qt/PasteboardQt.cpp:
32891 (WebCore::Pasteboard::writeImage):
32892
328932008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
32894
hausmann@webkit.org0367b582008-08-29 15:56:02 +000032895 Reviewed by Simon.
32896
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +000032897 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
32898
32899 * svg/graphics/qt/SVGPaintServerQt.cpp:
32900 (WebCore::SVGPaintServer::renderPath):
32901 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
32902 (WebCore::SVGPaintServerSolid::setup):
32903
329042008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
32905
32906 Reviewed by Simon.
32907
hausmann@webkit.org0367b582008-08-29 15:56:02 +000032908 [network/qt] Implement defering of loading ResourceHandle's
32909 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
32910 implementation is simply not forwarding anything to the
32911 ResourceHandleClient until we are allowed to. This might lead to a deadlock
32912 in Qt as we do not empty the QNetworkReply input buffer and wait until we
32913 are allowed to read. If that happens we are forced to buffer the data
32914 within QNetworkReplyHandler, for now this is not done.
32915
32916 Manual test:
32917 - Open http://acid3.acidtests.org
32918 - Wait for the test to complete
32919 - Click on the Reference Rendering link
32920 - Be fast and see the results of acid3
32921 => assert
32922
32923 * platform/network/qt/QNetworkReplyHandler.cpp:
32924 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
32925 (WebCore::QNetworkReplyHandler::setLoadMode):
32926 (WebCore::QNetworkReplyHandler::finish):
32927 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
32928 (WebCore::QNetworkReplyHandler::forwardData):
32929 (WebCore::QNetworkReplyHandler::start):
32930 (WebCore::QNetworkReplyHandler::resetState):
32931 (WebCore::QNetworkReplyHandler::sendQueuedItems):
32932 * platform/network/qt/QNetworkReplyHandler.h:
32933 (WebCore::QNetworkReplyHandler::):
32934 * platform/network/qt/ResourceHandleQt.cpp:
32935 (WebCore::ResourceHandle::start):
32936 (WebCore::ResourceHandle::loadResourceSynchronously):
32937 (WebCore::ResourceHandle::setDefersLoading):
32938
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +0000329392008-08-29 Simon Hausmann <hausmann@webkit.org>
32940
hausmann@webkit.orgf5864402008-08-29 12:35:59 +000032941 Reviewed by Holger.
32942
32943 Don't crash when drawing patterns with the HTML canvas. Patterns
32944 remain unimplemented but at least they don't crash anymore. This is
32945 done by changing the PlatformPatternPtr to be a brush for the Qt
32946 platform.
32947
32948 * platform/graphics/Pattern.h:
32949 * platform/graphics/qt/GraphicsContextQt.cpp:
32950 (WebCore::GraphicsContext::fillPath):
32951 (WebCore::GraphicsContext::strokePath):
32952 (WebCore::GraphicsContext::fillRect):
32953 * platform/graphics/qt/PatternQt.cpp:
32954 (WebCore::Pattern::createPlatformPattern):
32955
329562008-08-29 Simon Hausmann <hausmann@webkit.org>
32957
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000032958 Fix the Qt build, fontSelector() is not used by the Qt port yet
32959 and we just return 0 in Font::fontSelector().
32960
32961 * platform/graphics/Font.h:
32962
alp@webkit.org97d8c102008-08-29 05:09:39 +0000329632008-08-28 Alp Toker <alp@nuanti.com>
32964
32965 GTK+ dist/build fix. List newly added header files.
32966
32967 * GNUmakefile.am:
32968
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +0000329692008-08-28 Simon Fraser <simon.fraser@apple.com>
32970
32971 Reviewed by Dave Hyatt
32972
32973 Various WebKitCSSTransformValue-related fixes
32974 https://bugs.webkit.org/show_bug.cgi?id=20562
32975
32976 Test: css3/transform-value-types.html
32977
32978 * bindings/js/JSCSSValueCustom.cpp:
32979 (WebCore::toJS):
32980 * css/CSSValue.h:
32981 * css/WebKitCSSTransformValue.cpp:
32982 (WebCore::WebKitCSSTransformValue::cssText):
32983 * css/WebKitCSSTransformValue.h:
32984 (WebCore::WebKitCSSTransformValue::):
32985 * css/WebKitCSSTransformValue.idl:
32986
mitz@apple.comd7222352008-08-28 22:53:31 +0000329872008-08-28 Dan Bernstein <mitz@apple.com>
32988
32989 Reviewed by Steve Falkenburg.
32990
32991 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
32992
32993 * platform/win/SharedTimerWin.cpp:
32994 (WebCore::TimerWindowWndProc):
32995
hyatt@apple.com7d335232008-08-28 21:38:45 +0000329962008-08-28 David Hyatt <hyatt@apple.com>
32997
32998 RenderStyle cleanup.
32999
33000 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
33001
33002 Reviewed by Adam
33003
33004 * css/CSSImageGeneratorValue.cpp:
33005 * css/CSSImageValue.cpp:
33006 * css/CSSStyleSelector.cpp:
33007 * rendering/RenderImageGeneratedContent.cpp:
33008 * rendering/style/NinePieceImage.cpp: Added.
33009 * rendering/style/NinePieceImage.h: Added.
33010 * rendering/style/RenderStyle.cpp:
33011 (WebCore::FillLayer::operator==):
33012 (WebCore::FillLayer::containsImage):
33013 (WebCore::StyleInheritedData::operator==):
33014 (WebCore::RenderStyle::contentDataEquivalent):
33015 * rendering/style/RenderStyle.h:
33016 * rendering/style/StyleCachedImage.cpp: Added.
33017 * rendering/style/StyleCachedImage.h: Added.
33018 * rendering/style/StyleGeneratedImage.cpp: Added.
33019 * rendering/style/StyleGeneratedImage.h: Added.
33020 * rendering/style/StyleImage.h: Added.
33021
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +0000330222008-08-28 Simon Fraser <simon.fraser@apple.com>
33023
33024 Reviewed by Dave Hyatt
33025
33026 Make all the 'isFoo()' methods on CSSValue const,
33027 and fix the subclasses.
33028
33029 https://bugs.webkit.org/show_bug.cgi?id=20561
33030
33031 * css/CSSTimingFunctionValue.h:
33032 * css/CSSValue.h:
33033 (WebCore::CSSValue::isFontValue):
33034 (WebCore::CSSValue::isImageGeneratorValue):
33035 (WebCore::CSSValue::isImageValue):
33036 (WebCore::CSSValue::isImplicitInitialValue):
33037 * css/CSSValueList.h:
33038 * css/FontValue.h:
33039
hyatt@apple.com550a95c2008-08-28 19:53:56 +0000330402008-08-28 David Hyatt <hyatt@apple.com>
33041
hyatt@apple.comcb3eb812008-08-28 20:08:03 +000033042 The great RenderStyle cleanup begins!
33043
33044 Move LengthBox and LengthSize out of RenderStyle and into Length.
33045
33046 Reviewed by Adam
33047
33048 * rendering/Length.h:
33049 (WebCore::):
33050 (WebCore::Length::Length):
33051 (WebCore::Length::operator==):
33052 (WebCore::Length::operator!=):
33053 (WebCore::Length::value):
33054 (WebCore::Length::rawValue):
33055 (WebCore::Length::percent):
33056 (WebCore::Length::type):
33057 (WebCore::Length::quirk):
33058 (WebCore::Length::setValue):
33059 (WebCore::Length::setRawValue):
33060 (WebCore::Length::calcValue):
33061 (WebCore::Length::calcMinValue):
33062 (WebCore::Length::calcFloatValue):
33063 (WebCore::Length::isUndefined):
33064 (WebCore::Length::isZero):
33065 (WebCore::Length::isPositive):
33066 (WebCore::Length::isNegative):
33067 (WebCore::Length::isAuto):
33068 (WebCore::Length::isRelative):
33069 (WebCore::Length::isPercent):
33070 (WebCore::Length::isFixed):
33071 (WebCore::Length::isStatic):
33072 (WebCore::Length::isIntrinsicOrAuto):
33073 (WebCore::Length::blend):
33074 (WebCore::LengthBox::LengthBox):
33075 (WebCore::LengthBox::operator=):
33076 (WebCore::LengthBox::operator==):
33077 (WebCore::LengthBox::operator!=):
33078 (WebCore::LengthBox::nonZero):
33079 (WebCore::LengthSize::LengthSize):
33080 * rendering/style/RenderStyle.h:
33081
330822008-08-28 David Hyatt <hyatt@apple.com>
33083
hyatt@apple.com550a95c2008-08-28 19:53:56 +000033084 Reviewed by Darin
33085
33086 https://bugs.webkit.org/show_bug.cgi?id=18091
33087
33088 font-size should be animatable using -webkit-transition.
33089
33090 * page/AnimationController.cpp:
33091 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
33092 * rendering/style/RenderStyle.h:
33093 (WebCore::RenderStyle::setFontSize):
33094
mitz@apple.com30923ad2008-08-28 17:45:47 +0000330952008-08-28 Brad Garcia <bgarcia@google.com>
33096
33097 Reviewed by Dan Bernstein.
33098
33099 https://bugs.webkit.org/show_bug.cgi?id=20549
33100 Correctly determine when cursor is over a resizable border within
33101 a nested frameset.
33102
33103 * rendering/RenderFrameSet.cpp:
33104 (WebCore::RenderFrameSet::canResizeRow):
33105 (WebCore::RenderFrameSet::canResizeColumn):
33106
simon.fraser@apple.comae77c412008-08-28 17:30:07 +0000331072008-08-28 Simon Fraser <simon.fraser@apple.com>
33108
33109 Reviewed by Eric Seidel
33110
33111 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
33112 https://bugs.webkit.org/show_bug.cgi?id=20552
33113
33114 Test: animations/animation-css-rule-types.html
33115
33116 * css/CSSRule.idl:
33117
andersca@apple.com12399c32008-08-28 17:26:46 +0000331182008-08-28 Anders Carlsson <andersca@apple.com>
33119
33120 Reviewed by Kevin and Darin.
33121
33122 <rdar://problem/6182541>
33123 https://bugs.webkit.org/show_bug.cgi?id=20202
33124 Missing http status line from the http headers.
33125
33126 Add a status line to the header string.
33127
33128 * plugins/PluginStream.cpp:
33129 (WebCore::PluginStream::startStream):
33130
zecke@webkit.orgf1daa422008-08-28 15:56:01 +0000331312008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
33132
33133 Rubber-stamped by Darin Adler.
33134
33135 https://bugs.webkit.org/show_bug.cgi?id=17261
33136
33137 Make it possible to theme the default Url icon and enable this for
33138 the Qt port. To have a minimal usage of #ifdef in the code the setting
33139 of the icon was moved to a new method which comes in two flavors.
33140
33141 * loader/icon/IconDatabase.cpp:
33142 (WebCore::loadDefaultIconRecord): Load or set the default icon
33143 (WebCore::IconDatabase::defaultIcon):
33144
zecke@webkit.org1887dc82008-08-28 15:03:21 +0000331452008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
33146
33147 Unreviewed compile fix
33148
33149 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
33150
aroben@apple.comfacf5032008-08-28 13:34:01 +0000331512008-08-28 Adam Roben <aroben@apple.com>
33152
33153 Windows (and others?) build fix
33154
33155 * page/Chrome.cpp: Added a missing #include.
33156 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
33157
eric@webkit.org22794fd2008-08-28 12:04:40 +0000331582008-08-27 Eric Seidel <eric@webkit.org>
33159
33160 Reviewed by Oliver Hunt.
33161
eric@webkit.org5f874e92008-08-28 12:04:55 +000033162 Qt and Cairo support from krit (and blind stab @ wx compile support)
33163 https://bugs.webkit.org/show_bug.cgi?id=20373
33164
33165 * platform/graphics/cairo/GraphicsContextCairo.cpp:
33166 (WebCore::GraphicsContext::fillPath):
33167 (WebCore::GraphicsContext::strokePath):
33168 (WebCore::GraphicsContext::drawPath):
33169 (WebCore::GraphicsContext::fillRect):
33170 (WebCore::GraphicsContext::setPlatformFillColor):
33171 (WebCore::GraphicsContext::setPlatformStrokeColor):
33172 (WebCore::GraphicsContext::setPlatformStrokeStyle):
33173 (WebCore::GraphicsContext::strokeRect):
33174 (WebCore::GraphicsContext::setImageInterpolationQuality):
33175 (WebCore::GraphicsContext::imageInterpolationQuality):
33176 (WebCore::GraphicsContext::setPlatformFillPattern):
33177 (WebCore::GraphicsContext::setPlatformStrokePattern):
33178 (WebCore::GraphicsContext::setPlatformFillGradient):
33179 (WebCore::GraphicsContext::setPlatformStrokeGradient):
33180 * platform/graphics/qt/GraphicsContextQt.cpp:
33181 (WebCore::GraphicsContext::fillPath):
33182 (WebCore::GraphicsContext::strokePath):
33183 (WebCore::GraphicsContext::fillRect):
33184 (WebCore::GraphicsContext::strokeRect):
33185 (WebCore::GraphicsContext::clipToImageBuffer):
33186 (WebCore::GraphicsContext::setPlatformFillPattern):
33187 (WebCore::GraphicsContext::setPlatformStrokePattern):
33188 (WebCore::GraphicsContext::setPlatformFillGradient):
33189 (WebCore::GraphicsContext::setPlatformStrokeGradient):
33190 (WebCore::GraphicsContext::setImageInterpolationQuality):
33191 (WebCore::GraphicsContext::imageInterpolationQuality):
33192 * platform/graphics/wx/GraphicsContextWx.cpp:
33193 (WebCore::GraphicsContext::clipToImageBuffer):
33194 (WebCore::GraphicsContext::setImageInterpolationQuality):
33195 (WebCore::GraphicsContext::imageInterpolationQuality):
33196 (WebCore::GraphicsContext::fillPath):
33197 (WebCore::GraphicsContext::strokePath):
33198 (WebCore::GraphicsContext::drawPath):
33199 (WebCore::GraphicsContext::fillRect):
33200 (WebCore::GraphicsContext::setPlatformFillPattern):
33201 (WebCore::GraphicsContext::setPlatformStrokePattern):
33202 (WebCore::GraphicsContext::setPlatformFillGradient):
33203
332042008-08-27 Eric Seidel <eric@webkit.org>
33205
33206 Reviewed by Oliver Hunt.
33207
eric@webkit.org22794fd2008-08-28 12:04:40 +000033208 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
33209 https://bugs.webkit.org/show_bug.cgi?id=20373
33210
33211 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
33212
33213 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
33214 have to store large Gradient objects in the GraphicsContextState
33215
33216 Made Pattern RefCounted for the same reason.
33217
33218 Many updates to GraphicsContext to support easier drawing with
33219 Patterns and Gradients.
33220
33221 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
33222 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
33223 (WebCore::toJS):
33224 * css/CSSGradientValue.cpp:
33225 (WebCore::CSSGradientValue::createGradient):
33226 * css/CSSGradientValue.h:
33227 * html/CanvasGradient.cpp:
33228 (WebCore::CanvasGradient::CanvasGradient):
33229 * html/CanvasGradient.h:
33230 (WebCore::CanvasGradient::gradient):
33231 (WebCore::CanvasGradient::addColorStop):
33232 (WebCore::CanvasGradient::getColor):
33233 * html/CanvasPattern.cpp:
33234 * html/CanvasPattern.h:
33235 (WebCore::CanvasPattern::pattern):
33236 (WebCore::CanvasPattern::originClean):
33237 * html/CanvasRenderingContext2D.cpp:
33238 (WebCore::CanvasRenderingContext2D::State::State):
33239 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
33240 (WebCore::CanvasRenderingContext2D::setFillStyle):
33241 (WebCore::CanvasRenderingContext2D::fill):
33242 (WebCore::CanvasRenderingContext2D::stroke):
33243 (WebCore::CanvasRenderingContext2D::fillRect):
33244 (WebCore::CanvasRenderingContext2D::strokeRect):
33245 * html/CanvasRenderingContext2D.h:
33246 * html/CanvasStyle.cpp:
33247 (WebCore::CanvasStyle::applyStrokeColor):
33248 (WebCore::CanvasStyle::applyFillColor):
33249 * html/CanvasStyle.h:
33250 * platform/graphics/GeneratedImage.h:
33251 (WebCore::GeneratedImage::GeneratedImage):
33252 * platform/graphics/Generator.h:
33253 * platform/graphics/Gradient.h:
33254 (WebCore::Gradient::create):
33255 * platform/graphics/GraphicsContext.cpp:
33256 (WebCore::GraphicsContext::fillRule):
33257 (WebCore::GraphicsContext::setFillRule):
33258 (WebCore::GraphicsContext::setStrokePattern):
33259 (WebCore::GraphicsContext::setFillPattern):
33260 (WebCore::GraphicsContext::setStrokeGradient):
33261 (WebCore::GraphicsContext::setFillGradient):
33262 * platform/graphics/GraphicsContext.h:
33263 * platform/graphics/GraphicsContextPrivate.h:
33264 (WebCore::):
33265 (WebCore::GraphicsContextState::GraphicsContextState):
33266 * platform/graphics/GraphicsTypes.h:
33267 * platform/graphics/Path.h:
33268 * platform/graphics/Pattern.h:
33269 (WebCore::Pattern::create):
33270 (WebCore::Pattern::tileImage):
33271 * platform/graphics/cg/GraphicsContextCG.cpp:
33272 (WebCore::GraphicsContext::drawRect):
33273 (WebCore::GraphicsContext::drawEllipse):
33274 (WebCore::GraphicsContext::drawConvexPolygon):
33275 (WebCore::calculateDrawingMode):
33276 (WebCore::GraphicsContext::drawPath):
33277 (WebCore::fillPathWithFillRule):
33278 (WebCore::GraphicsContext::fillPath):
33279 (WebCore::GraphicsContext::strokePath):
33280 (WebCore::GraphicsContext::fillRect):
33281 (WebCore::GraphicsContext::fillRoundedRect):
33282 (WebCore::GraphicsContext::setPlatformStrokePattern):
33283 (WebCore::GraphicsContext::setPlatformFillPattern):
33284 (WebCore::GraphicsContext::setPlatformStrokeGradient):
33285 (WebCore::GraphicsContext::setPlatformFillGradient):
33286
eric@webkit.org70b099f2008-08-28 11:42:26 +0000332872008-08-20 Eric Seidel <eric@webkit.org>
33288
33289 Reviewed by Darin and Alexey.
33290
33291 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
33292 with timeouts paused.
33293 https://bugs.webkit.org/show_bug.cgi?id=20469
33294
33295 I attempted to clean up the memory management of PausedTimeouts, I'm not
33296 sure the solution I came up with is "cleaner", but it's in some ways
33297 "safer", since it no longer uses raw pointers and manual new/delete.
33298
33299 This also now prevents CachedPage from needlessly creating Window
33300 objects when caching pages which didn't already have one. :)
33301
33302 I also made Chrome.cpp no longer depend on the JavaScript bindings
33303 (aka JSDOMWindowBase.h), since there was no real reason for it to.
33304
33305 * bindings/js/JSDOMWindowBase.cpp:
33306 (WebCore::JSDOMWindowBase::pauseTimeouts):
33307 (WebCore::JSDOMWindowBase::resumeTimeouts):
33308 * bindings/js/JSDOMWindowBase.h:
33309 * bindings/js/ScriptController.cpp:
33310 (WebCore::ScriptController::pauseTimeouts):
33311 (WebCore::ScriptController::resumeTimeouts):
33312 * bindings/js/ScriptController.h:
33313 * history/CachedPage.cpp:
33314 (WebCore::CachedPage::CachedPage):
33315 (WebCore::CachedPage::restore):
33316 * page/Chrome.cpp:
33317 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
33318 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
33319 * page/JavaScriptDebugServer.cpp:
33320 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
33321 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
33322
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000333232008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
33324
33325 Unreviewed compile fix
33326
33327 Add the stub for the Qt port.
33328
33329 * WebCore.pro:
33330 * page/qt/AccessibilityObjectQt.cpp: Added.
33331 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
33332
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000333332008-08-27 Alp Toker <alp@nuanti.com>
33334
33335 Reviewed by Eric.
33336
33337 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000033338 [GTK] search popup crash
33339
33340 * platform/gtk/SearchPopupMenuGtk.cpp:
33341 (WebCore::SearchPopupMenu::enabled):
33342 Fix a search popup crasher by disabling the history popup since we
33343 don't support this feature yet in the GTK+ port.
33344
333452008-08-27 Alp Toker <alp@nuanti.com>
33346
33347 Reviewed by Eric.
33348
33349 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000033350 [GTK] curl crashers
33351
33352 * platform/network/curl/ResourceHandleManager.cpp:
33353 (WebCore::ResourceHandleManager::startScheduledJobs):
33354 Remove the resource handle from the pending list before starting the
33355 job, not afterwards. Fixes crashers in the test suite.
33356
33357 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
33358 Test: fast/encoding/char-encoding.html
33359
eric@webkit.org712cb892008-08-28 00:26:15 +0000333602008-08-27 Dirk Schulze <vbs85@gmx.de>
33361
33362 Reviewed by eseidel.
33363
33364 Fix canvas drawImage to support composite operations.
33365 Composite had no effect on canvas elements like these:
33366 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
33367
33368 [CAIRO] Canvas composite don't work on canvas-elements.
33369 https://bugs.webkit.org/show_bug.cgi?id=20548
33370
33371 * html/CanvasRenderingContext2D.cpp:
33372 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
33373
eric@webkit.org75c83a02008-08-28 00:04:59 +0000333742008-08-27 Mario Bensi <mbensi@pleyo.com>
33375
33376 Reviewed by Eric Seidel.
33377
33378 Fix the data content of an image with a base64.
33379
33380 * platform/network/curl/ResourceHandleManager.cpp:
33381 (WebCore::parseDataUrl): Remove the String and use only the data
33382 Vector because the data.latin1().data() convert the data content and
33383 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
33384 not drawn correctly.
33385
antti@apple.comf66a86b2008-08-27 23:59:50 +0000333862008-08-27 Antti Koivisto <antti@apple.com>
33387
33388 Reviewed by Eric Seidel.
33389
33390 Crash after OK in dialog box and reloading page in secure mode
33391 https://bugs.webkit.org/show_bug.cgi?id=20493
33392
33393 The new run loop spawned by a modal dialog causes a timer in the loader to run
33394 synchronously inside didFinishLoading() deleting "this" object.
33395
33396 Defer all WebCore timers when a modal dialog is up. They are not
33397 safe to execute.
33398
33399 * page/Chrome.cpp:
33400 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
33401 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
33402
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000334032008-08-27 Chris Marrin <cmarrin@apple.com>
33404
33405 Reviewed by Dave Hyatt
33406
33407 Memory leaks when animating transforms
33408 https://bugs.webkit.org/show_bug.cgi?id=20532
33409
33410 * rendering/style/RenderStyle.cpp:
33411 (WebCore::ScaleTransformOperation::blend):
33412 (WebCore::RotateTransformOperation::blend):
33413 (WebCore::SkewTransformOperation::blend):
33414 (WebCore::TranslateTransformOperation::blend):
33415 (WebCore::MatrixTransformOperation::blend):
33416 * rendering/style/RenderStyle.h:
33417
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000334182008-08-27 Timothy Hatcher <timothy@apple.com>
33419
33420 Add support for support for -webkit-appearance: default-button on the Mac platform.
33421
33422 <rdar://problem/6173530>
33423
33424 Reviewed by Dave Hyatt.
33425
33426 * WebCore.base.exp: Export new symbols.
33427 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
33428 * platform/mac/WebCoreSystemInterface.mm: Ditto.
33429 * rendering/RenderButton.cpp:
33430 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
33431 (WebCore::RenderButton::setStyle): Ditto.
33432 * rendering/RenderButton.h: Ditto.
33433 * rendering/RenderThemeMac.mm:
33434 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
33435 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
33436 key if the button is default, otherwise reset the key equivalent.
33437 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
33438 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
33439 the window's previous default button cell when finished.
33440
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000334412008-08-26 David Hyatt <hyatt@apple.com>
33442
33443 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
33444
33445 Reviewed by weinig
33446
33447 Added fast/forms/zoomed-controls.html
33448
33449 * css/CSSStyleSelector.cpp:
33450 (WebCore::addIntrinsicMargins):
33451 * rendering/RenderSlider.cpp:
33452 (WebCore::RenderSlider::calcPrefWidths):
33453 * rendering/RenderThemeMac.h:
33454 * rendering/RenderThemeMac.mm:
33455 (WebCore::RenderThemeMac::adjustRepaintRect):
33456 (WebCore::RenderThemeMac::inflateRect):
33457 (WebCore::RenderThemeMac::baselinePosition):
33458 (WebCore::RenderThemeMac::setControlSize):
33459 (WebCore::RenderThemeMac::sizeForFont):
33460 (WebCore::RenderThemeMac::sizeForSystemFont):
33461 (WebCore::RenderThemeMac::setFontFromControlSize):
33462 (WebCore::RenderThemeMac::paintCheckbox):
33463 (WebCore::RenderThemeMac::setCheckboxCellState):
33464 (WebCore::RenderThemeMac::paintRadio):
33465 (WebCore::RenderThemeMac::setRadioCellState):
33466 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
33467 (WebCore::RenderThemeMac::adjustButtonStyle):
33468 (WebCore::RenderThemeMac::setButtonCellState):
33469 (WebCore::RenderThemeMac::paintButton):
33470 (WebCore::RenderThemeMac::paintMenuList):
33471 (WebCore::RenderThemeMac::paintMenuListButton):
33472 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
33473 (WebCore::RenderThemeMac::popupInternalPaddingRight):
33474 (WebCore::RenderThemeMac::popupInternalPaddingTop):
33475 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
33476 (WebCore::RenderThemeMac::setPopupButtonCellState):
33477 (WebCore::RenderThemeMac::paintSliderTrack):
33478 (WebCore::RenderThemeMac::paintSliderThumb):
33479 (WebCore::RenderThemeMac::adjustSliderThumbSize):
33480 (WebCore::RenderThemeMac::paintSearchField):
33481 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
33482 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
33483 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
33484
beidson@apple.comd0793872008-08-27 19:59:55 +0000334852008-08-27 Brady Eidson <beidson@apple.com>
33486
33487 Reviewed by Anders
33488
33489 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
33490
33491 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
33492 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
33493 away the virtual address space and a crash.
33494
33495 * loader/EmptyClients.h:
33496 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
33497 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
33498 "plugin will handle load"
33499
33500 * loader/MediaDocument.cpp:
33501 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
33502 and cancel the WebCore-managed load
33503 (WebCore::MediaTokenizer::writeRawData):
33504 (WebCore::MediaTokenizer::finish):
33505
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000335062008-08-26 Simon Fraser <simon.fraser@apple.com>
33507
33508 Reviewed by Eric Seidel
33509
33510 Linear timing functions should have control points 0, 0, 1, 1.
33511 https://bugs.webkit.org/show_bug.cgi?id=20535
33512
33513 * css/CSSStyleSelector.cpp:
33514 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
33515 * rendering/style/RenderStyle.h:
33516
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000335172008-08-27 Adam Roben <aroben@apple.com>
33518
33519 Windows build fix
33520
33521 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
33522
mrowe@apple.com37686d42008-09-04 00:10:39 +0000335232008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000033524
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000033525 Reviewed by Beth Dakin.
33526
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000033527 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
33528
33529 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
33530 to determine if an attachment is ignored through accessibility. Added equivalent
33531 methods in Gtk, Win and Mac
33532
33533 Test: accessibility/plugin.html
33534
33535 * GNUmakefile.am:
33536 * WebCore.vcproj/WebCore.vcproj:
33537 * WebCore.xcodeproj/project.pbxproj:
33538 * page/AccessibilityObject.h:
33539 * page/AccessibilityRenderObject.cpp:
33540 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
33541 * page/gtk/AccessibilityObjectAtk.cpp: Added.
33542 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
33543 * page/mac/AccessibilityObjectMac.mm: Added.
33544 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
33545 * page/mac/AccessibilityObjectWrapper.h:
33546 * page/win/AccessibilityObjectWin.cpp: Added.
33547 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
33548
mrowe@apple.com37686d42008-09-04 00:10:39 +0000335492008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000033550
33551 Reviewed by Beth Dakin.
33552
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000033553 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
33554
33555 * page/mac/AccessibilityObjectWrapper.mm:
33556 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
33557 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
33558
mrowe@apple.com37686d42008-09-04 00:10:39 +0000335592008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000033560
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000033561 Reviewed by Darin Adler.
33562
33563 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
33564
33565 Tests: accessibility/table-notbody.html
33566
33567 * page/AccessibilityTable.cpp:
33568 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
33569
weinig@apple.com33705852008-08-26 19:51:28 +0000335702008-08-26 Sam Weinig <sam@webkit.org>
33571
weinig@apple.comf6f553a2008-08-26 21:21:26 +000033572 Reviewed by Beth Dakin.
33573
33574 Fix typo.
33575
33576 * dom/DOMCoreException.h:
33577
335782008-08-26 Sam Weinig <sam@webkit.org>
33579
weinig@apple.com0f34f002008-08-26 19:56:54 +000033580 Reviewed by Oliver Hunt.
33581
33582 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
33583 <rdar://problem/6167660>
33584 Take image redirects into account when tainting the canvas.
33585
33586 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
33587
33588 * html/CanvasRenderingContext2D.cpp:
33589 (WebCore::CanvasRenderingContext2D::drawImage):
33590 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
33591
335922008-08-26 Sam Weinig <sam@webkit.org>
33593
weinig@apple.com33705852008-08-26 19:51:28 +000033594 Reviewed by Darin Adler.
33595
33596 Change canvas tainting logic to ask the image if it contains
33597 any resources outside of its own origin. Since there is no
33598 way to determine if SVG images contain any resources outside its
33599 origin, we always assume it does.
33600
33601 * html/CanvasRenderingContext2D.cpp:
33602 (WebCore::CanvasRenderingContext2D::drawImage):
33603 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
33604 * platform/graphics/BitmapImage.h:
33605 (WebCore::BitmapImage::hasSingleSecurityOrigin):
33606 * platform/graphics/GeneratedImage.h:
33607 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
33608 * platform/graphics/Image.h:
33609 (WebCore::Image::hasSingleSecurityOrigin):
33610 * platform/graphics/cg/PDFDocumentImage.h:
33611 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
33612 * svg/graphics/SVGImage.h:
33613
britto@apple.com616ef6d2008-08-26 17:51:03 +0000336142008-08-26 Maxime Britto <britto@apple.com>
33615
33616 Reviewed by Adele.
33617
33618 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
33619 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.
33620 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.
33621
33622 * page/EventHandler.cpp:
33623 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
33624 * page/EventHandler.h:
33625 * rendering/RenderLayer.cpp:
33626 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
33627 (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.
33628 * rendering/RenderLayer.h:
33629 * rendering/RenderObject.cpp:
33630 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
33631 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
33632 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
33633
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000336342008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
33635
darin@apple.com07c80c62008-09-05 18:15:43 +000033636 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000033637
33638 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
33639 https://bugs.webkit.org/show_bug.cgi?id=20247
33640
33641 <rdar://problem/6118218>
33642
33643 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
33644 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
33645 (case insensitive for HTML elements).
33646
33647 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
33648
33649 * dom/Element.cpp:
33650 (WebCore::Element::getAttribute):
33651 * dom/NamedAttrMap.cpp:
33652 (WebCore::NamedAttrMap::getNamedItem):
33653 (WebCore::NamedAttrMap::getAttributeItem):
33654 * dom/NamedAttrMap.h:
33655
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000336562008-08-25 Sam Weinig <sam@webkit.org>
33657
weinig@apple.com8d3ea722008-08-26 04:19:07 +000033658 Reviewed by Oliver Hunt.
33659
33660 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
33661 <rdar://problem/6174096>
33662 Treat SVG images as dirty when drawing to a canvas.
33663
33664 Test: http/tests/security/canvas-remote-read-svg-image.html
33665
33666 * html/CanvasRenderingContext2D.cpp:
33667 (WebCore::CanvasRenderingContext2D::drawImage):
33668 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
33669 * platform/graphics/Image.h:
33670 (WebCore::Image::isSVGImage):
33671 * svg/graphics/SVGImage.h:
33672 (WebCore::SVGImage::isSVGImage):
33673
336742008-08-25 Sam Weinig <sam@webkit.org>
33675
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000033676 Reviewed by Mark Rowe.
33677
33678 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
33679 Leak in XMLHttpRequest.
33680
33681 * xml/XMLHttpRequest.cpp:
33682 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
33683
beidson@apple.com46421212008-08-25 21:48:56 +0000336842008-08-25 Brady Eidson <beidson@apple.com>
33685
33686 Reviewed by Anders
33687
33688 Speculative fix for <rdar://problem/6173217>
33689
33690 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
33691 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
33692 the first null check invalid.
33693
33694 * loader/FrameLoader.cpp:
33695 (WebCore::FrameLoader::stopAllLoaders):
33696
33697
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000336982008-08-25 Kevin McCullough <kmccullough@apple.com>
33699
33700 Reviewed by Tim.
33701
33702 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
33703 there is no profile, can cause crash
33704
33705 * page/inspector/ProfilesPanel.js:
33706
dino@apple.com1baeea62008-08-25 21:06:21 +0000337072008-08-25 Dean Jackson <dino@apple.com>
33708
33709 Reviewed by Dave Hyatt
33710
33711 Make sure 'inherit' is handled by transition property.
33712 https://bugs.webkit.org/show_bug.cgi?id=20513
33713
33714 Test: transitions/inherit.html
33715 Test: transitions/inherit-other-props.html
33716
33717 * css/CSSStyleSelector.cpp:
33718 fix macro to check existence of list before getting size
33719
andersca@apple.com2866b8302008-08-25 20:56:21 +0000337202008-08-25 Anders Carlsson <andersca@apple.com>
33721
33722 Reviewed by Mark.
33723
33724 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
33725
33726 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
33727 (safely) that any class that needs finalization on the main thread will also need to be deallocated
33728 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
33729 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
33730
33731 * platform/mac/WebCoreObjCExtras.c:
33732 (WebCoreObjCFinalizeOnMainThread):
33733
antti@apple.com60381cb2008-08-25 20:41:11 +0000337342008-08-25 Antti Koivisto <antti@apple.com>
33735
33736 Reviewed by Dan Bernstein.
33737
33738 Rename CachedResource::referenced() to CachedResource::hasClients() to
33739 match previous ref() -> addClient() rename.
33740
33741 * loader/Cache.cpp:
33742 (WebCore::Cache::pruneLiveResources):
33743 (WebCore::Cache::pruneDeadResources):
33744 (WebCore::Cache::remove):
33745 (WebCore::Cache::getStatistics):
33746 (WebCore::Cache::dumpLRULists):
33747 * loader/CachedResource.cpp:
33748 (WebCore::CachedResource::addClient):
33749 (WebCore::CachedResource::removeClient):
33750 (WebCore::CachedResource::setDecodedSize):
33751 (WebCore::CachedResource::setEncodedSize):
33752 * loader/CachedResource.h:
33753 (WebCore::CachedResource::hasClients):
33754 (WebCore::CachedResource::canDelete):
33755
timothy@apple.com7d809242008-08-25 18:33:05 +0000337562008-08-25 Anthony Ricaud <rik24d@gmail.com>
33757
33758 Add a missing Inspector localized string for "other".
33759
33760 https://bugs.webkit.org/show_bug.cgi?id=20509
33761
33762 Reviewed by Tim Hatcher.
33763
33764 * English.lproj/localizedStrings.js:
33765
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000337662008-08-22 Kevin McCullough <kmccullough@apple.com>
33767
33768 Reviewed by Geoff, Mark and Tim.
33769
33770 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
33771 in the console said what file and line number they came from
33772 - Lay the foundation for getting line numbers and other data from the
33773 JavaScript engine.
33774
33775 * ForwardingHeaders/VM: Added.
33776 * ForwardingHeaders/VM/Machine.h: Added.
33777 * page/Console.cpp: Gather the line number and file information when
33778 profileEnd has been called, but don't use it until didFinishProfiling is
33779 called. We won't need to wait once we remove the profiler "zombie" mode
33780 which this patch helps pave the foundation for.
33781 (WebCore::Console::Console):
33782 (WebCore::Console::profileEnd):
33783 (WebCore::Console::finishedProfiling):
33784 * page/Console.h:
33785 * page/InspectorController.cpp: Modify calls to
33786 addProfileMessageToConsole to satisfy the new arguments it takes.
33787 (WebCore::InspectorController::finishedProfiling):
33788 (WebCore::InspectorController::addProfile):
33789 (WebCore::InspectorController::addProfileMessageToConsole):
33790 (WebCore::InspectorController::finishedProfiling):
33791 * page/InspectorController.h:
33792
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000337932008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
33794
33795 Reviewed by Simon.
33796
33797 [inspector] Update the WebKit.qrc Qt resources file
33798 Catchup with the changes in the directory.
33799
33800 * page/inspector/WebKit.qrc:
33801
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000338022008-08-25 Dirk Schulze <vbs85@gmx.de>
33803
33804 Reviewed by Simon.
33805
33806 Transformed the radian to degree, to get rotate()
33807 in canvas work as expected.
33808
33809 [Qt] Canvas.rotate() doesn't work
33810 https://bugs.webkit.org/show_bug.cgi?id=20496
33811
33812 * platform/graphics/qt/GraphicsContextQt.cpp:
33813 (WebCore::GraphicsContext::rotate):
33814
sfalken@apple.com9d442862008-08-25 05:43:33 +0000338152008-08-24 Steve Falkenburg <sfalken@apple.com>
33816
33817 Add a "last chance" WM_TIMER to the Windows shared timer.
33818
33819 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
33820 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
33821 timers if a timer with an earlier expiration is already pending. This results in no timers
33822 firing from that point on.
33823
33824 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
33825 buggy window message hook.
33826
33827 This timer will start when the first WM_TIMER is scheduled, and will
33828 fire every 5 seconds thereafter, causing any lost timers to be fired.
33829
33830 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
33831 and prevents the WebFrame leak.
33832
33833 Reviewed by Darin Adler, Geoff Garen.
33834
33835 * platform/win/SharedTimerWin.cpp:
33836 (WebCore::):
33837 (WebCore::TimerWindowWndProc):
33838 (WebCore::setSharedTimerFireTime):
33839
mitz@apple.com771fb752008-08-25 03:22:44 +0000338402008-08-24 Dan Bernstein <mitz@apple.com>
33841
33842 Reviewed by Darin Adler.
33843
33844 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
33845
33846 Test: fast/css/font-property-priority.html
33847
33848 * css/CSSParser.cpp:
33849 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
33850 to the font-property-parsing functions.
33851 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
33852 changed to use it rather than the m_important member.
33853 (WebCore::CSSParser::parseFontVariant): Ditto.
33854 (WebCore::CSSParser::parseFontWeight): Ditto.
33855 * css/CSSParser.h:
33856
timothy@apple.com4cea2632008-08-24 22:28:44 +0000338572008-08-24 Timothy Hatcher <timothy@apple.com>
33858
33859 Fixes a bug where the Inspector's UI would not animate or
33860 fully function because JavaScript timeouts, intervals and
33861 CSS animation timers where not firing while paused at a
33862 a breakpoint in the inspected page.
33863
33864 https://bugs.webkit.org/show_bug.cgi?id=20042
33865
33866 Reviewed by Darin Adler.
33867
33868 Test: manual-tests/inspector/forzen-ui-while-paused.html
33869
33870 * page/JavaScriptDebugServer.cpp:
33871 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
33872 Add a call to TimerBase::fireTimersInNestedEventLoop before
33873 spinning the EventLoop.
33874
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000338752008-08-24 Rob Buis <buis@kde.org>
33876
33877 Reviewed by Sam Weinig.
33878
33879 https://bugs.webkit.org/show_bug.cgi?id=20324
33880 A change in SVG Glyph wont show up
33881
33882 Invalidate the glyph cache when the d attribute is set.
33883
33884 Test: svg/custom/glyph-setting-d-attribute.svg
33885
33886 * svg/SVGGlyphElement.cpp:
33887 (WebCore::SVGGlyphElement::invalidateGlyphCache):
33888 (WebCore::SVGGlyphElement::parseMappedAttribute):
33889 (WebCore::SVGGlyphElement::insertedIntoDocument):
33890 (WebCore::SVGGlyphElement::removedFromDocument):
33891 * svg/SVGGlyphElement.h:
33892
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000338932008-08-24 Dan Bernstein <mitz@apple.com>
33894
33895 Reviewed by Sam Weinig.
33896
33897 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
33898 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
33899
33900 * rendering/RenderText.cpp:
33901 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
33902 beginWS and endWS before the early return to ensure that they are
33903 initialized in that case.
33904
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000339052008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
33906
33907 Rubber-stamped by Mark Rowe.
33908
33909 Remove modelines.
33910
33911 * WebCore.pro:
33912 * bridge/testbindings.cpp:
33913 * dom/DocPtr.h:
33914 * loader/SubstituteData.h:
33915 * page/Chrome.cpp:
33916 * page/Chrome.h:
33917 * page/ChromeClient.h:
33918 * page/Frame.h:
33919 * page/FrameLoadRequest.h:
33920 * page/FrameTree.cpp:
33921 * page/FrameTree.h:
33922 * page/Page.h:
33923 * page/mac/ChromeMac.mm:
33924 * platform/network/HTTPHeaderMap.h:
33925 * platform/network/ResourceErrorBase.cpp:
33926 * platform/network/ResourceErrorBase.h:
33927 * platform/network/ResourceHandleInternal.h:
33928 * platform/network/ResourceRequestBase.cpp:
33929 * platform/network/ResourceRequestBase.h:
33930 * platform/network/ResourceResponseBase.cpp:
33931 * platform/network/ResourceResponseBase.h:
33932 * platform/network/cf/ResourceError.h:
33933 * platform/network/cf/ResourceRequest.h:
33934 * platform/network/cf/ResourceRequestCFNet.h:
33935 * platform/network/cf/ResourceResponse.h:
33936 * platform/network/cf/ResourceResponseCFNet.h:
33937 * platform/network/curl/ResourceError.h:
33938 * platform/network/curl/ResourceRequest.h:
33939 * platform/network/curl/ResourceResponse.h:
33940 * platform/network/mac/ResourceError.h:
33941 * platform/network/mac/ResourceErrorMac.mm:
33942 * platform/network/mac/ResourceRequest.h:
33943 * platform/network/mac/ResourceRequestMac.mm:
33944 * platform/network/mac/ResourceResponse.h:
33945 * platform/network/mac/ResourceResponseMac.mm:
33946 * platform/network/qt/ResourceError.h:
33947 * platform/network/qt/ResourceRequest.h:
33948 * platform/network/qt/ResourceResponse.h:
33949 * platform/network/soup/CookieJarSoup.cpp:
33950 * platform/network/soup/ResourceError.h:
33951 * platform/network/soup/ResourceRequest.h:
33952 * platform/network/soup/ResourceResponse.h:
33953
mitz@apple.com57a2f482008-08-23 07:16:41 +0000339542008-08-23 Dan Bernstein <mitz@apple.com>
33955
33956 Reviewed by Dave Hyatt.
33957
33958 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
33959
33960 Test: fast/table/vertical-align-baseline.html
33961
33962 * rendering/RenderTable.cpp:
33963 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
33964 baseline of the first table row, if there is one, -1 otherwise.
33965 * rendering/RenderTable.h:
33966 * rendering/RenderTableCell.cpp:
33967 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
33968 CSS2.1 definition of the baseline of a table cell.
33969 * rendering/RenderTableSection.cpp:
33970 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
33971 the baseline of the first row in the section.
33972 * rendering/RenderTableSection.h:
33973
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000339742008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
33975
33976 Add SPI to make a Windows WebView transparent.
33977
33978 Reviewed by Dan Bernstein.
33979
33980 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
33981 determines whether the created context has an alpha channel.
33982 * platform/graphics/win/GraphicsContextCGWin.cpp:
33983 (WebCore::CGContextWithHDC):
33984
timothy@apple.comb63d1172008-08-22 18:39:42 +0000339852008-08-22 Timothy Hatcher <timothy@apple.com>
33986
timothy@apple.com964022d2008-08-22 20:35:20 +000033987 Rolls out r35834 because it caused a regression in the Inspector's
33988 Console where some expressions always threw a syntax error.
33989
33990 https://bugs.webkit.org/show_bug.cgi?id=20487
33991
33992 * page/inspector/Console.js:
33993 (Console.prototype._evalInInspectedWindow): Removes parenthesis
33994 around the expression.
33995
339962008-08-22 Timothy Hatcher <timothy@apple.com>
33997
timothy@apple.com056d4782008-08-22 18:39:52 +000033998 Makes getStyleProperty return a value for the overflow property
33999 when overflow-x and overflow-y are equal.
34000
34001 https://bugs.webkit.org/show_bug.cgi?id=20485
34002
34003 Reviewed by Dan Bernstein.
34004
34005 Test: fast/css/overflow-property.html
34006
34007 * css/CSSMutableStyleDeclaration.cpp:
34008 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
34009
340102008-08-22 Timothy Hatcher <timothy@apple.com>
34011
timothy@apple.comb63d1172008-08-22 18:39:42 +000034012 Fixes a bug where while editing in the Inspector the
34013 sidebar scroll position would jump to the top.
34014
34015 https://bugs.webkit.org/show_bug.cgi?id=20484
34016
34017 Reviewed by Darin Adler.
34018
34019 * page/inspector/treeoutline.js:
34020 (TreeOutline._removeChildren): Remove the offsetTop call that
34021 was forcing a layout, since layout causes scroll positions
34022 to be clamped to the new scrollHeight/Width. Layout will happen
34023 normally when needed.
34024
kevino@webkit.org8271c842008-08-22 16:25:52 +0000340252008-08-22 Kevin Ollivier <kevino@theolliviers.com>
34026
34027 wx build fix. Add AccessibilityTable sources.
34028
34029 * WebCoreSources.bkl:
34030
mitz@apple.com9befc872008-08-22 06:29:33 +0000340312008-08-21 Dan Bernstein <mitz@apple.com>
34032
34033 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
34034
34035 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
34036
34037 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
34038
34039 * platform/graphics/mac/SimpleFontDataMac.mm:
34040 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
34041 ascent and 100% to its reported descent.
34042
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000340432008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
34044
34045 Reviewed by Darin Adler.
34046
mrowe@apple.com22eaa172008-08-22 02:10:15 +000034047 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000034048 [GTK] Crash on some pages due to a plugin
34049
34050 Fix handling of badly formatted and empty plugin mime descriptions
34051
34052 * plugins/gtk/PluginPackageGtk.cpp:
34053 (WebCore::PluginPackage::fetchInfo):
34054
mrowe@apple.com798b3432008-08-22 02:07:48 +0000340552008-08-21 Kevin Watters <kevinwatters@gmail.com>
34056
34057 Reviewed by Darin Adler.
34058
34059 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
34060 animated GIF frame duration of less than 50ms.
34061
34062 * platform/graphics/wx/ImageSourceWx.cpp:
34063 (WebCore::ImageSource::frameDurationAtIndex):
34064
britto@apple.com8ed72772008-08-22 00:39:39 +0000340652008-08-21 Maxime Britto <britto@apple.com>
34066
34067 Reviewed by Kevin McCullough.
34068
34069 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
34070 https://bugs.webkit.org/show_bug.cgi?id=20451
34071
34072 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
34073 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
34074 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
34075
34076 * page/EventHandler.cpp:
34077 (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.
34078
34079 (WebCore::EventHandler::handleMousePressEvent): ditto
34080
timothy@apple.com5d492192008-08-21 23:54:01 +0000340812008-08-21 Anthony Ricaud <rik24d@gmail.com>
34082
34083 Small optimization for when the dividers in the Inspector's
34084 Resources panel are updated.
34085
34086 Reviewed by Tim Hatcher.
34087
34088 * page/inspector/ResourcesPanel.js:
34089 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
34090 Combind a for loop and clone the divider element.
34091
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000340922008-08-21 Chris Marrin <cmarrin@apple.com>
34093
34094 Allow 0 (without units) for Time eg. duration
34095 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
34096
34097 Reviewed by Dave Hyatt.
34098
34099 Test: css1/units/zero-duration-without-units.html
34100
34101 * css/CSSParser.cpp:
34102 (WebCore::CSSParser::validUnit):
34103
timothy@apple.com29c12d02008-08-21 20:12:47 +0000341042008-08-21 Timothy Hatcher <timothy@apple.com>
34105
timothy@apple.comca11cd82008-08-21 20:13:12 +000034106 Make deleting all text while editing a DOM attribute in
34107 the Inspector delete the attribute. This also fixes
34108 an exception that would happen before.
34109
34110 https://bugs.webkit.org/show_bug.cgi?id=20472
34111
34112 Reviewed by Kevin McCullough.
34113
34114 * page/inspector/ElementsPanel.js:
34115 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
34116 Don't check for hasAttributes on the parseElement, continuing
34117 through the function will correctly remove the attribute.
34118 If the parseElement is null, call _editingCancelled not
34119 editingCancelled, this fixes an exception.
34120
341212008-08-21 Timothy Hatcher <timothy@apple.com>
34122
timothy@apple.comde831cf2008-08-21 20:12:59 +000034123 Update the Inspector's Metrics pane when editing in
34124 the Styles pane. This makes sure the metrics shown
34125 always match what the Styles pane shows.
34126
34127 https://bugs.webkit.org/show_bug.cgi?id=20470
34128
34129 Reviewed by Kevin McCullough.
34130
34131 * page/inspector/ElementsPanel.js:
34132 (WebInspector.ElementsPanel): Add event listeners for
34133 the "style edited" and "style property toggled" events,
34134 so the Metrics pane is updated.
34135 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
34136 Update the Metrics pane.
34137 * page/inspector/StylesSidebarPane.js:
34138 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
34139 Dispatch the "style property toggled" event.
34140 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
34141 Dispatch the "style edited" event when the CSS text is restored.
34142 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
34143 Dispatch the "style edited" event.
34144
341452008-08-21 Timothy Hatcher <timothy@apple.com>
34146
timothy@apple.com29c12d02008-08-21 20:12:47 +000034147 Make the Inspector's Metrics sidebar pane editable.
34148
34149 https://bugs.webkit.org/show_bug.cgi?id=17218
34150 rdar://problem/5732818
34151
34152 Reviewed by Kevin McCullough.
34153
34154 * page/inspector/ElementsPanel.js:
34155 (WebInspector.ElementsPanel): Add an event listener for
34156 the "metrics edited" event, so the Styles pane is updated.
34157 * page/inspector/MetricsSidebarPane.js:
34158 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
34159 so future updates work. Add a double click event listener for the
34160 metric values to start editing.
34161 (WebInspector.MetricsSidebarPane.prototype.startEditing):
34162 Call WebInspector.startEditing with some context.
34163 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
34164 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
34165 Set the user input on the elements inline style. Fire the
34166 "metrics edited" event.
34167
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000341682008-08-21 Steve Falkenburg <sfalken@apple.com>
34169
34170 Fix a race condition in Windows timer code.
34171 Timer function could end up being called with a 0 timer, leading to a Windows exception.
34172
34173 Don't post a timer message if one is already pending.
34174
34175 Reviewed by Ada Chan.
34176
34177 * platform/win/SharedTimerWin.cpp:
34178 (WebCore::TimerWindowWndProc):
34179 (WebCore::clearTimer):
34180 (WebCore::queueTimerProc):
34181 (WebCore::setSharedTimerFireTime):
34182
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000341832008-08-21 Anthony Ricaud <rik24d@gmail.com>
34184
timothy@apple.com493212c72008-08-21 16:36:06 +000034185 After trying to add the expression, try again with quotes for
34186 easier edition.
34187
34188 https://bugs.webkit.org/show_bug.cgi?id=20466
34189
34190 Reviewed by Tim Hatcher.
34191
34192 * page/inspector/ObjectPropertiesSection.js: Added an
34193 evaluateExpression function.
34194
341952008-08-21 Anthony Ricaud <rik24d@gmail.com>
34196
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000034197 Perform Inspector searches on search event to clear results when
34198 clicking the cross to empty it. Delete the lastQuery when the field
34199 is emptied in order to perform the search if exactly the same query
34200 is entered next.
34201
34202 https://bugs.webkit.org/show_bug.cgi?id=20462
34203
34204 Reviewed by Tim Hatcher.
34205
34206 * page/inspector/inspector.js:
34207
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000342082008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
34209
34210 Reviewed by Mark Rowe.
34211
34212 http://bugs.webkit.org/show_bug.cgi?id=19656
34213 [SOUP] The gio code should call didFail() instead of
34214 didFinishLoading() in case of error
34215
34216 In case of error call didFail() instead of didReceiveResponse() and
34217 didFinishLoading().
34218
34219 * platform/network/soup/ResourceHandleSoup.cpp:
34220 (WebCore::networkErrorForFile):
34221 (WebCore::readCallback):
34222 (WebCore::openCallback):
34223 (WebCore::queryInfoCallback):
34224
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000342252008-08-20 Mark Rowe <mrowe@apple.com>
34226
mrowe@apple.com4e593f42008-08-21 06:52:42 +000034227 Reviewed by Jon Honeycutt.
34228
34229 Fix build failure.
34230
34231 * bridge/c/c_instance.cpp:
34232 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
34233 as that is what NPEnumerationFunctionPtr is declared as accepting.
34234
342352008-08-20 Mark Rowe <mrowe@apple.com>
34236
mrowe@apple.com72a95b12008-08-21 04:01:51 +000034237 Reviewed by Dan Bernstein.
34238
34239 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
34240
34241 * platform/graphics/GraphicsContext.h:
34242 (WebCore::):
34243 * platform/graphics/cg/GraphicsContextCG.cpp:
34244 (WebCore::GraphicsContext::setImageInterpolationQuality):
34245 (WebCore::GraphicsContext::imageInterpolationQuality):
34246
mitz@apple.comaa938792008-08-21 00:33:29 +0000342472008-08-20 Dan Bernstein <mitz@apple.com>
34248
34249 Rubber-stamped by John Sullivan.
34250
34251 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
34252 rename related methods and variables accordingly.
34253
34254 * WebCore.base.exp:
34255 * page/FrameView.cpp:
34256 (WebCore::FrameViewPrivate::FrameViewPrivate):
34257 (WebCore::FrameView::shouldUpdateWhileOffscreen):
34258 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
34259 * page/FrameView.h:
34260 * platform/ScrollView.h:
34261 * platform/mac/ScrollViewMac.mm:
34262 (WebCore::ScrollView::updateContents):
34263
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000342642008-08-20 Brady Eidson <beidson@apple.com>
34265
34266 Reviewed by Mitzpettel
34267
beidson@apple.comeb0fdc62008-11-24 22:46:53 +000034268 <rdar://problem/6153432> - Many images broken in Mail
beidson@apple.com2ace6b12008-08-21 00:13:12 +000034269
34270 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
34271 sooner than before and confuse the WebArchive machinery.
34272
34273 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
34274 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
34275 machinery and nothing is known about where the data will eventually come from.
34276
34277 * loader/DocumentLoader.cpp:
34278 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
34279 CachedResource::PreloadReferenced.
34280
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000342812008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
34282
34283 Unreviewed compile fix
34284
34285 Catch up with the JSValue::type elimination.
34286
34287 * bridge/qt/qt_instance.cpp:
34288 (KJS::Bindings::QtRuntimeObjectImp::construct):
34289 (KJS::Bindings::QtInstance::defaultValue):
34290 * bridge/qt/qt_runtime.cpp:
34291 (KJS::Bindings::QtRuntimeConnectionMethod::call):
34292
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000342932008-08-20 Chris Teague <chris.teague@gmail.com>
34294
34295 Reviewed by Mark Rowe.
34296
34297 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
34298 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
34299
34300 * ChangeLog:
34301 * loader/FrameLoader.cpp:
34302 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
34303
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000343042008-08-20 Simon Fraser <simon.fraser@apple.com>
34305
34306 Reviewed by Dave Hyatt
34307
34308 getComputedStyle() for webkitTransform should return a transform
34309 that does not have the transform origin baked into it.
34310 https://bugs.webkit.org/show_bug.cgi?id=20464
34311
34312 Test: fast/css/getComputedStyle-transform.html
34313
34314 * css/CSSComputedStyleDeclaration.cpp:
34315 (WebCore::computedTransform):
34316 * rendering/style/RenderStyle.cpp:
34317 (WebCore::RenderStyle::applyTransform):
34318 * rendering/style/RenderStyle.h:
34319
andersca@apple.com021ce772008-08-20 21:04:12 +0000343202008-08-20 Josh Aas <joshmoz@gmail.com>
34321
34322 Reviewed and landed by Anders.
34323
34324 <rdar://problem/6163636>
34325 rename NPCocoaEvent's "event" struct to "data" (20446)
34326
34327 * bridge/npapi.h:
34328 (_NPCocoaEvent::):
34329
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000343302008-08-20 Beth Dakin <bdakin@apple.com>
34331
darin@apple.com07c80c62008-09-05 18:15:43 +000034332 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000034333
34334 Fix for <rdar://problem/6145626>
34335 This patch fixes a number of remaining problems getting
34336 disconnected frames to work correctly with markAllMatchesForText()
34337 and findString(). Details inline.
34338
34339 This was a static helper function in Frame, but this patch requires
34340 the same functionality in Editor, so I just added it as a function
34341 on Node.
34342 * dom/Node.cpp:
34343 (WebCore::Node::isInShadowTree):
34344 * dom/Node.h:
34345
34346 * editing/Editor.cpp:
34347 (WebCore::Editor::insideVisibleArea): Returns false if
34348 excludeFromTextSearch() is true.
34349
34350 In a normal (non-disconnected) frame, findString returns a range of
34351 the document node if the text is not found in the frame. I changed
34352 firstVisibleRange and lastVisibleRange to match that behavior when
34353 the text is not found
34354 (WebCore::Editor::firstVisibleRange):
34355 (WebCore::Editor::lastVisibleRange):
34356
34357 Here are the bulk of the changes in the patch. A lot of text was
34358 not being found in disconnected frames because I failed to account
34359 for all of the possible problems associated with shadow trees. That
34360 is fixed here.
34361 (WebCore::Editor::nextVisibleRange):
34362 * editing/Editor.h:
34363
34364 excludeFromTextSearch() is new. It allows a WebKit client to mark a
34365 frame as not-text-searchable through SPI.
34366 * WebCore.base.exp:
34367 * page/Frame.cpp:
34368 (WebCore::Frame::excludeFromTextSearch):
34369 (WebCore::Frame::setExcludeFromTextSearch):
34370 (WebCore::FramePrivate::FramePrivate):
34371 * page/Frame.h:
34372 * page/FramePrivate.h:
34373
34374 (WebCore::Frame::findString):
34375 (WebCore::Frame::markAllMatchesForText): I kept running into an
34376 assertion failure in paining code because of the forced paint on
34377 empty visible rects.
34378
timothy@apple.com301befc2008-08-20 19:10:54 +0000343792008-08-20 Timothy Hatcher <timothy@apple.com>
34380
34381 Adds a positon box to the Inspector's Metrics sidebar
34382 pane. When an element is not statically positioned, there
34383 is now a position box that show top, right, bottom and
34384 left computed values.
34385
34386 Reviewed by Kevin McCullough.
34387
34388 * English.lproj/localizedStrings.js: Updated the strings.
34389 * page/inspector/MetricsSidebarPane.js:
34390 (WebInspector.MetricsSidebarPane.prototype.update):
34391 Renamed the boxPartValue function to createBoxPartElement
34392 and made it create the entire element. Made it understand
34393 how to get position style properties. Don't use the figure dash
34394 when 0px is used for positions, since the 0 is meaningful there.
34395 Instead use the figure dash when a position is auto.
34396 * page/inspector/inspector.css: Added a new rule for position.
34397
mrowe@apple.com37686d42008-09-04 00:10:39 +0000343982008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000034399
34400 Reviewed by Beth Dakin
34401
34402 Qt build fix
34403
34404 * WebCore.pro:
34405
mitz@apple.comedaa9042008-08-20 18:28:07 +0000344062008-08-20 Dan Bernstein <mitz@apple.com>
34407
34408 Reviewed by Anders Carlsson.
34409
34410 - avoid using a deprecated NSScroller method on Leopard
34411
34412 * platform/mac/PlatformScrollBarMac.mm:
34413 (WebCore::PlatformScrollbar::updateThumbPosition):
34414 (WebCore::PlatformScrollbar::updateThumbProportion):
34415
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000344162008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
34417
34418 Reviewed by Oliver Hunt.
34419
34420 Gtk build fix
34421
34422 * GNUmakefile.am:
34423 * page/AccessibilityTable.cpp: Change nil to 0
34424 (WebCore::AccessibilityTable::cellForColumnAndRow):
34425
ap@webkit.org01aff702008-08-20 07:23:06 +0000344262008-08-19 Alexey Proskuryakov <ap@webkit.org>
34427
34428 Reviewed by Geoff Garen.
34429
34430 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
34431
34432 * ForwardingHeaders/kjs/JSLock.h: Added.
34433 * WebCore.vcproj/WebCore.vcproj:
34434 * bindings/js/GCController.cpp:
34435 (WebCore::collect):
34436 (WebCore::GCController::gcTimerFired):
34437 (WebCore::GCController::garbageCollectNow):
34438 * bindings/js/JSCustomSQLStatementCallback.cpp:
34439 (WebCore::JSCustomSQLStatementCallback::handleEvent):
34440 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
34441 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
34442 * bindings/js/JSCustomSQLTransactionCallback.cpp:
34443 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
34444 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
34445 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
34446 * bindings/js/JSCustomVoidCallback.cpp:
34447 (WebCore::JSCustomVoidCallback::handleEvent):
34448 * bindings/js/JSCustomXPathNSResolver.cpp:
34449 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
34450 * bindings/js/JSDOMWindowBase.cpp:
34451 (WebCore::DOMWindowTimer::~DOMWindowTimer):
34452 (WebCore::JSDOMWindowBase::clear):
34453 (WebCore::JSDOMWindowBase::timerFired):
34454 * bindings/js/JSEventCustom.cpp:
34455 (WebCore::toJS):
34456 * bindings/js/JSEventListener.cpp:
34457 (WebCore::JSAbstractEventListener::handleEvent):
34458 * bindings/js/JSNSResolver.cpp:
34459 (WebCore::JSNSResolver::lookupNamespaceURI):
34460 * bindings/js/JSNodeFilterCondition.cpp:
34461 (WebCore::JSNodeFilterCondition::acceptNode):
34462 * bindings/js/ScheduledAction.cpp:
34463 (WebCore::ScheduledAction::execute):
34464 * bindings/js/ScriptController.cpp:
34465 (WebCore::ScriptController::evaluate):
34466 (WebCore::ScriptController::clearWindowShell):
34467 (WebCore::ScriptController::createHTMLEventHandler):
34468 (WebCore::ScriptController::createSVGEventHandler):
34469 (WebCore::ScriptController::initScript):
34470 (WebCore::ScriptController::updateDocument):
34471 (WebCore::ScriptController::bindingRootObject):
34472 (WebCore::ScriptController::windowScriptNPObject):
34473 (WebCore::ScriptController::createScriptObjectForPluginElement):
34474 (WebCore::ScriptController::clearScriptObjects):
34475 * bindings/js/ScriptControllerMac.mm:
34476 (WebCore::ScriptController::windowScriptObject):
34477 * bindings/objc/WebScriptObject.mm:
34478 (_didExecute):
34479 (-[WebScriptObject callWebScriptMethod:withArguments:]):
34480 (-[WebScriptObject evaluateWebScript:]):
34481 (-[WebScriptObject setValue:forKey:]):
34482 (-[WebScriptObject valueForKey:]):
34483 (-[WebScriptObject removeWebScriptKey:]):
34484 (-[WebScriptObject stringRepresentation]):
34485 (-[WebScriptObject webScriptValueAtIndex:]):
34486 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
34487 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
34488 * bridge/NP_jsobject.cpp:
34489 (_NPN_InvokeDefault):
34490 (_NPN_Invoke):
34491 (_NPN_Evaluate):
34492 (_NPN_GetProperty):
34493 (_NPN_SetProperty):
34494 (_NPN_RemoveProperty):
34495 (_NPN_HasProperty):
34496 (_NPN_HasMethod):
34497 (_NPN_Enumerate):
34498 * bridge/c/c_class.cpp:
34499 (KJS::Bindings::CClass::~CClass):
34500 (KJS::Bindings::CClass::methodsNamed):
34501 (KJS::Bindings::CClass::fieldNamed):
34502 * bridge/c/c_instance.cpp:
34503 (KJS::Bindings::CInstance::invokeMethod):
34504 (KJS::Bindings::CInstance::invokeDefaultMethod):
34505 (KJS::Bindings::CInstance::getPropertyNames):
34506 * bridge/c/c_runtime.cpp:
34507 (KJS::Bindings::CField::valueFromInstance):
34508 (KJS::Bindings::CField::setValueToInstance):
34509 * bridge/c/c_utility.cpp:
34510 (KJS::Bindings::convertValueToNPVariant):
34511 (KJS::Bindings::convertNPVariantToValue):
34512 * bridge/jni/jni_class.cpp:
34513 (JavaClass::JavaClass):
34514 (JavaClass::~JavaClass):
34515 * bridge/jni/jni_instance.cpp:
34516 (JavaInstance::stringValue):
34517 * bridge/jni/jni_jsobject.mm:
34518 (JavaJSObject::call):
34519 (JavaJSObject::eval):
34520 (JavaJSObject::getMember):
34521 (JavaJSObject::setMember):
34522 (JavaJSObject::removeMember):
34523 (JavaJSObject::getSlot):
34524 (JavaJSObject::setSlot):
34525 (JavaJSObject::toString):
34526 (JavaJSObject::convertValueToJObject):
34527 (JavaJSObject::convertJObjectToValue):
34528 * bridge/jni/jni_objc.mm:
34529 (KJS::Bindings::dispatchJNICall):
34530 * bridge/jni/jni_runtime.cpp:
34531 (appendClassName):
34532 (JavaMethod::signature):
34533 * bridge/jni/jni_runtime.h:
34534 (KJS::Bindings::JavaString::JavaString):
34535 (KJS::Bindings::JavaString::_commonInit):
34536 (KJS::Bindings::JavaString::~JavaString):
34537 (KJS::Bindings::JavaString::UTF8String):
34538 * bridge/jni/jni_utility.cpp:
34539 (KJS::Bindings::convertValueToJValue):
34540 * bridge/npruntime.cpp:
34541 (_NPN_GetStringIdentifier):
34542 * bridge/objc/objc_instance.mm:
34543 (ObjcInstance::moveGlobalExceptionToExecState):
34544 (ObjcInstance::invokeMethod):
34545 (ObjcInstance::invokeDefaultMethod):
34546 (ObjcInstance::setValueOfUndefinedField):
34547 (ObjcInstance::getValueOfUndefinedField):
34548 * bridge/objc/objc_runtime.mm:
34549 (ObjcField::valueFromInstance):
34550 (ObjcField::setValueToInstance):
34551 * bridge/objc/objc_utility.mm:
34552 (KJS::Bindings::convertValueToObjcValue):
34553 (KJS::Bindings::convertNSStringToString):
34554 (KJS::Bindings::convertObjcValueToValue):
34555 * bridge/qt/qt_instance.cpp:
34556 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
34557 (KJS::Bindings::QtInstance::~QtInstance):
34558 (KJS::Bindings::QtInstance::getQtInstance):
34559 (KJS::Bindings::QtInstance::getRuntimeObject):
34560 * bridge/qt/qt_runtime.cpp:
34561 (KJS::Bindings::convertValueToQVariant):
34562 (KJS::Bindings::convertQVariantToValue):
34563 (KJS::Bindings::QtRuntimeMetaMethod::call):
34564 (KJS::Bindings::QtRuntimeConnectionMethod::call):
34565 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
34566 (KJS::Bindings::QtConnectionObject::execute):
34567 * bridge/runtime.cpp:
34568 (KJS::Bindings::Instance::createRuntimeObject):
34569 * bridge/testbindings.cpp:
34570 (main):
34571 * bridge/testbindings.mm:
34572 (main):
34573 * bridge/testqtbindings.cpp:
34574 (main):
34575 * dom/Document.cpp:
34576 (WebCore::Document::~Document):
34577 * dom/Node.cpp:
34578 (WebCore::Node::setDocument):
34579 * history/CachedPage.cpp:
34580 (WebCore::CachedPage::CachedPage):
34581 (WebCore::CachedPage::restore):
34582 (WebCore::CachedPage::clear):
34583 * loader/FrameLoader.cpp:
34584 (WebCore::getString):
34585 * page/InspectorController.cpp:
34586 (WebCore::ConsoleMessage::ConsoleMessage):
34587 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
34588 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
34589 (WebCore::getResourceDocumentNode):
34590 (WebCore::search):
34591 (WebCore::inspectedWindow):
34592 (WebCore::wrapCallback):
34593 (WebCore::currentCallFrame):
34594 (WebCore::profiles):
34595 (WebCore::InspectorController::focusNode):
34596 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
34597 (WebCore::InspectorController::addDatabaseScriptResource):
34598 (WebCore::InspectorController::addScriptProfile):
34599 * page/JavaScriptCallFrame.cpp:
34600 (WebCore::JavaScriptCallFrame::evaluate):
34601 * page/JavaScriptProfileNode.cpp:
34602 (WebCore::getTotalTime):
34603 (WebCore::getSelfTime):
34604 (WebCore::getTotalPercent):
34605 (WebCore::getSelfPercent):
34606 (WebCore::getNumberOfCalls):
34607 (WebCore::getChildren):
34608 (WebCore::getVisible):
34609 * page/Page.cpp:
34610 * page/mac/FrameMac.mm:
34611 * plugins/PluginView.cpp:
34612 (WebCore::PluginView::start):
34613 (WebCore::getString):
34614 (WebCore::PluginView::performRequest):
34615 (WebCore::PluginView::bindingInstance):
34616 * plugins/gtk/PluginViewGtk.cpp:
34617 (WebCore::PluginView::paint):
34618 (WebCore::PluginView::handleKeyboardEvent):
34619 (WebCore::PluginView::handleMouseEvent):
34620 (WebCore::PluginView::setNPWindowRect):
34621 (WebCore::PluginView::stop):
34622 (WebCore::PluginView::init):
34623 * plugins/qt/PluginViewQt.cpp:
34624 (WebCore::PluginView::setNPWindowRect):
34625 (WebCore::PluginView::stop):
34626 (WebCore::PluginView::init):
34627 * plugins/win/PluginViewWin.cpp:
34628 (WebCore::PluginView::dispatchNPEvent):
34629 (WebCore::PluginView::handleKeyboardEvent):
34630 (WebCore::PluginView::handleMouseEvent):
34631 (WebCore::PluginView::setNPWindowRect):
34632 (WebCore::PluginView::stop):
34633 * xml/XMLHttpRequest.cpp:
34634 (WebCore::XMLHttpRequest::clearResponse):
34635 (WebCore::XMLHttpRequest::didFinishLoading):
34636 (WebCore::XMLHttpRequest::didReceiveData):
34637
eric@webkit.orgbac93762008-08-19 23:33:07 +0000346382008-08-19 Eric Seidel <eric@webkit.org>
34639
34640 Reviewed by Geoff Garen.
34641
34642 Add the beginnings of Skia graphics support to WebCore
34643 as I try to begin the long process of un-forking the changes
34644 needed to WebCore to make Andriod's WebCore build.
34645
34646 I'll follow this up with actual *Skia.cpp files in a separate patch.
34647
34648 * platform/graphics/AffineTransform.h:
34649 * platform/graphics/FloatPoint.h:
34650 * platform/graphics/FloatRect.h:
34651 * platform/graphics/Gradient.h:
34652 * platform/graphics/GraphicsContext.h:
34653 * platform/graphics/Image.h:
34654 * platform/graphics/ImageBuffer.h:
34655 * platform/graphics/ImageSource.h:
34656 * platform/graphics/IntPoint.h:
34657 * platform/graphics/IntRect.h:
34658 * platform/graphics/Path.h:
34659 * platform/graphics/Pattern.h:
34660 * svg/graphics/SVGPaintServerPattern.h:
34661 * svg/graphics/SVGPaintServerSolid.h:
34662
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000346632008-08-19 Steve Falkenburg <sfalken@apple.com>
34664
sfalken@apple.com45d22802008-08-19 22:46:31 +000034665 Fix Windows build more.
34666
34667 * WebCore.vcproj/WebCore.vcproj:
34668
346692008-08-19 Steve Falkenburg <sfalken@apple.com>
34670
sfalken@apple.com3f69b332008-08-19 22:34:37 +000034671 Fix Windows build.
34672
34673 * page/AccessibilityRenderObject.cpp:
34674 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
34675
mrowe@apple.com37686d42008-09-04 00:10:39 +0000346762008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000034677
34678 Reviewed by Beth Dakin.
34679
34680 <rdar://problem/4003764> Expose tables as AXTables
34681
34682 Tests: accessibility/table-attributes.html
34683 accessibility/table-cell-spans.html
34684 accessibility/table-cells.html
34685 accessibility/table-detection.html
34686 accessibility/table-sections.html
34687 accessibility/table-with-rules.html
34688
34689 * WebCore.xcodeproj/project.pbxproj:
34690 * page/AXObjectCache.cpp:
34691 (WebCore::AXObjectCache::get):
34692 * page/AccessibilityObject.h:
34693 (WebCore::):
34694 (WebCore::AccessibilityObject::isDataTable):
34695 (WebCore::AccessibilityObject::isTableRow):
34696 (WebCore::AccessibilityObject::isTableColumn):
34697 (WebCore::AccessibilityObject::isTableCell):
34698 * page/AccessibilityRenderObject.cpp:
34699 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
34700 * page/AccessibilityTable.cpp: Added.
34701 (WebCore::AccessibilityTable::AccessibilityTable):
34702 (WebCore::AccessibilityTable::~AccessibilityTable):
34703 (WebCore::AccessibilityTable::create):
34704 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
34705 (WebCore::AccessibilityTable::clearChildren):
34706 (WebCore::AccessibilityTable::addChildren):
34707 (WebCore::AccessibilityTable::headerContainer):
34708 (WebCore::AccessibilityTable::columns):
34709 (WebCore::AccessibilityTable::rows):
34710 (WebCore::AccessibilityTable::rowHeaders):
34711 (WebCore::AccessibilityTable::columnHeaders):
34712 (WebCore::AccessibilityTable::cells):
34713 (WebCore::AccessibilityTable::columnCount):
34714 (WebCore::AccessibilityTable::rowCount):
34715 (WebCore::AccessibilityTable::cellForColumnAndRow):
34716 (WebCore::AccessibilityTable::roleValue):
34717 (WebCore::AccessibilityTable::accessibilityIsIgnored):
34718 (WebCore::AccessibilityTable::title):
34719 (WebCore::AccessibilityTable::isDataTable):
34720 * page/AccessibilityTable.h: Added.
34721 * page/AccessibilityTableCell.cpp: Added.
34722 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
34723 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
34724 (WebCore::AccessibilityTableCell::create):
34725 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
34726 (WebCore::AccessibilityTableCell::rowIndexRange):
34727 (WebCore::AccessibilityTableCell::columnIndexRange):
34728 * page/AccessibilityTableCell.h: Added.
34729 (WebCore::AccessibilityTableCell::isTableCell):
34730 (WebCore::AccessibilityTableCell::roleValue):
34731 * page/AccessibilityTableColumn.cpp: Added.
34732 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
34733 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
34734 (WebCore::AccessibilityTableColumn::create):
34735 (WebCore::AccessibilityTableColumn::setParentTable):
34736 (WebCore::AccessibilityTableColumn::elementRect):
34737 (WebCore::AccessibilityTableColumn::size):
34738 (WebCore::AccessibilityTableColumn::children):
34739 (WebCore::AccessibilityTableColumn::headerObject):
34740 (WebCore::AccessibilityTableColumn::headerObjectForSection):
34741 (WebCore::AccessibilityTableColumn::addChildren):
34742 * page/AccessibilityTableColumn.h: Added.
34743 (WebCore::AccessibilityTableColumn::parentObject):
34744 (WebCore::AccessibilityTableColumn::roleValue):
34745 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
34746 (WebCore::AccessibilityTableColumn::isTableColumn):
34747 (WebCore::AccessibilityTableColumn::setColumnIndex):
34748 (WebCore::AccessibilityTableColumn::columnIndex):
34749 * page/AccessibilityTableHeaderContainer.cpp: Added.
34750 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
34751 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
34752 (WebCore::AccessibilityTableHeaderContainer::create):
34753 (WebCore::AccessibilityTableHeaderContainer::children):
34754 (WebCore::AccessibilityTableHeaderContainer::elementRect):
34755 (WebCore::AccessibilityTableHeaderContainer::size):
34756 (WebCore::AccessibilityTableHeaderContainer::addChildren):
34757 * page/AccessibilityTableHeaderContainer.h: Added.
34758 (WebCore::AccessibilityTableHeaderContainer::roleValue):
34759 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
34760 (WebCore::AccessibilityTableHeaderContainer::parentObject):
34761 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
34762 * page/AccessibilityTableRow.cpp: Added.
34763 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
34764 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
34765 (WebCore::AccessibilityTableRow::create):
34766 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
34767 (WebCore::AccessibilityTableRow::headerObject):
34768 * page/AccessibilityTableRow.h: Added.
34769 (WebCore::AccessibilityTableRow::isTableRow):
34770 (WebCore::AccessibilityTableRow::roleValue):
34771 (WebCore::AccessibilityTableRow::setRowIndex):
34772 (WebCore::AccessibilityTableRow::rowIndex):
34773 * page/mac/AccessibilityObjectWrapper.mm:
34774 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
34775 (RoleEntry::):
34776 (-[AccessibilityObjectWrapper roleDescription]):
34777 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
34778 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
34779 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
34780
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000347812008-08-19 Steve Falkenburg <sfalken@apple.com>
34782
34783 Build fix.
34784 Add buildfailed support to stop builds early (preventing inaccurate error messages).
34785 Add missing post-build rule to Release.
34786
34787 * WebCore.vcproj/QTMovieWin.vcproj:
34788
timothy@apple.comda3aa632008-08-19 18:33:02 +0000347892008-08-19 Keishi Hattori <casey.hattori@gmail.com>
34790
timothy@apple.com7d08c322008-08-19 18:33:27 +000034791 Added support for console.count in the inspector.
34792
34793 Reviewed by Geoff Garen.
34794
34795 * page/Console.cpp:
34796 (WebCore::Console::count):
34797 * page/Console.h:
34798 * page/Console.idl: Added console.count.
34799 * page/InspectorController.cpp:
34800 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
34801 (WebCore::InspectorController::count): Updates the count number
34802 sing "title@source:line" as the identifier, and adds a
34803 message to the console.
34804 * page/InspectorController.h: Added m_counts.
34805
348062008-08-19 Keishi Hattori <casey.hattori@gmail.com>
34807
timothy@apple.comda3aa632008-08-19 18:33:02 +000034808 Clear console.time timers when changing page.
34809
34810 Reviewed by Geoff Garen.
34811
34812 * page/InspectorController.cpp:
34813 (WebCore::InspectorController::didCommitLoad):
34814
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000348152008-08-19 Eric Carlson <eric.carlson@apple.com>
34816
34817 Reviewed by Adele.
34818
34819 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
34820 https://bugs.webkit.org/show_bug.cgi?id=20404
34821
34822 Ignore setVisible() when visibility doesn't change.
34823
34824 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
34825 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
34826 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
34827 (WebCore::MediaPlayerPrivate::setVisible):
34828
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000348292008-08-19 Timothy Hatcher <timothy@apple.com>
34830
timothy@apple.come058a792008-08-19 17:01:12 +000034831 Fixes a bug in the Profile view where switching sort order, then
34832 switching from heavy to tree mode would show the tree in the
34833 previous sort order.
34834
34835 https://bugs.webkit.org/show_bug.cgi?id=20441
34836
34837 Reviewed by Kevin McCullough.
34838
34839 * page/inspector/ProfileView.js:
34840 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
34841 on the next profile before assigning it to this.profile.
34842 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
34843 (WebInspector.ProfileView.prototype._sortProfile): Moves from
34844 _sortData and takes a profile argument. If the profile passed in
34845 matches the this.profile, then call refresh.
34846
348472008-08-18 Timothy Hatcher <timothy@apple.com>
34848
timothy@apple.come525e402008-08-19 17:01:00 +000034849 Changed the default sort order now that heavy view is the default.
34850 Also fixes a bug where the heavy profile was not sorted at first.
34851
34852 https://bugs.webkit.org/show_bug.cgi?id=20440
34853
34854 Reviewed by Kevin McCullough.
34855
34856 * page/inspector/ProfileView.js:
34857 (WebInspector.ProfileView): Changed the default sort column. Also assign
34858 heavyProfile to profile, so the sortSelfTimeDescending call happens
34859 on the heavy profile before assigning to this.profile.
34860
348612008-08-18 Timothy Hatcher <timothy@apple.com>
34862
timothy@apple.comc9287f32008-08-19 17:00:36 +000034863 Add support for editing DOM properties and scope variables by double
34864 clicking a property to enter edit mode.
34865
34866 https://bugs.webkit.org/show_bug.cgi?id=20415
34867
34868 Reviewed by Kevin McCullough.
34869
34870 * page/inspector/ObjectPropertiesSection.js:
34871 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
34872 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
34873 Factored out code into update, and calls update.
34874 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
34875 Call removeChildren since this method can be called multiple times now.
34876 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
34877 gets made later in onattach.
34878 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
34879 if shouldRefreshChildren is true. Call removeChildren since this method can be
34880 called multiple times now.
34881 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
34882 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
34883 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
34884 this element (code moved from the constructor.)
34885 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
34886 sibling property elements.
34887 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
34888 WebInspector.startEditing after rememebring some context.
34889 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
34890 for the list element, since it might have scrolled during editing.
34891 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
34892 then restore the state from the context. Then call update to restore the title.
34893 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
34894 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
34895 to commit the user input.
34896 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
34897 and stores the result on the object for the property name of this element. If the expression is
34898 empty, delete the property and remove the tree element.
34899 * page/inspector/ScopeChainSidebarPane.js:
34900 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
34901 property on each ObjectPropertiesSection.
34902 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
34903 since it is now implemented.
34904 * page/inspector/ScriptsPanel.js:
34905 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
34906 that defaults to true if omitted. It specifies whether to call update on the scope chain.
34907 * page/inspector/inspector.css: New styles.
34908 * page/inspector/treeoutline.js:
34909 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
34910 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
34911
349122008-08-18 Timothy Hatcher <timothy@apple.com>
34913
timothy@apple.com9d9821a2008-08-19 17:00:26 +000034914 Surround the expression to be evaluated in parenthesis so the
34915 result of the eval is the result of the whole expression not
34916 the last potential sub-expression. So evaluating {x: 123}
34917 will show the Object not 123.
34918
34919 https://bugs.webkit.org/show_bug.cgi?id=20428
34920
34921 Reviewed by Kevin McCullough.
34922
34923 * page/inspector/Console.js:
34924 (Console.prototype._evalInInspectedWindow): Add parenthesis
34925 around the expression. And add couple comments.
34926
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000349272008-08-19 Kevin McCullough <kmccullough@apple.com>
34928
34929 Reviewed by Geoff.
34930
34931 -Implement a page() function to extract a common code pattern.
34932
34933 * WebCore.xcodeproj/project.pbxproj:
34934 * page/Console.cpp:
34935 (WebCore::Console::addMessage):
34936 (WebCore::Console::error):
34937 (WebCore::Console::info):
34938 (WebCore::Console::log):
34939 (WebCore::Console::dir):
34940 (WebCore::Console::assertCondition):
34941 (WebCore::Console::time):
34942 (WebCore::Console::timeEnd):
34943 (WebCore::Console::group):
34944 (WebCore::Console::groupEnd):
34945 (WebCore::Console::finishedProfiling):
34946 (WebCore::Console::warn):
34947 (WebCore::Console::framePage):
34948 * page/Console.h:
34949
darin@apple.com349e1eb2008-08-19 04:39:04 +0000349502008-08-12 Darin Adler <darin@apple.com>
34951
34952 Reviewed by Geoff.
34953
34954 - eliminate JSValue::type()
34955
34956 * bridge/c/c_instance.cpp:
34957 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
34958 argument instead of JSType argument. Removed unneeded code to handle
34959 boolean, since that's never passed.
34960 * bridge/c/c_instance.h: Ditto.
34961
34962 * bridge/c/c_utility.cpp:
34963 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
34964 instead of JSValue::type(). Removed unneeded code to handle
34965 "unspecified".
34966
34967 * bridge/jni/jni_instance.cpp:
34968 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
34969 instead of JSType argument. Removed unneeded code to handle boolean.
34970 * bridge/jni/jni_instance.h: Ditto.
34971
34972 * bridge/jni/jni_jsobject.mm:
34973 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
34974 instead of JSValue::type().
34975
34976 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
34977 instead of JSType argument. Removed unused argument.
34978 * bridge/objc/objc_instance.mm:
34979 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
34980 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
34981 instead of JSType argument. Removed unneeded code to handle boolean
34982 and another dead code path for unknown types.
34983
34984 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
34985 instead of JSType argument. Removed override of type() that caused
34986 the fallback object to return "UndefinedType" when there is no
34987 invokeUndefinedMethodFromWebScript:withArguments: method defined.
34988 That didn't accomplish much, since most checks for undefined don't
34989 ever call type().
34990 * bridge/objc/objc_runtime.mm:
34991 (ObjcFallbackObjectImp::defaultValue): Ditto.
34992
34993 * bridge/qt/qt_instance.cpp:
34994 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
34995 argument instead of JSType argument. Removed unneeded code to handle
34996 boolean.
34997 * bridge/qt/qt_instance.h: Ditto.
34998
34999 * bridge/runtime.h:
35000 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
35001 unsed argument.
35002 * bridge/runtime_object.cpp:
35003 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
35004 argument instead of JSType argument.
35005 * bridge/runtime_object.h: Ditto.
35006
britto@apple.comaf7f8382008-08-19 00:42:13 +0000350072008-08-18 Maxime Britto <britto@apple.com>
35008
35009 Reviewed by Adele.
35010
35011 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
35012 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
35013 We shouldn't be able to create another window while we are in pan scrolling.
35014 Other browsers behaviors :
35015 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
35016 IE7 : Keys are not disabled but stops immediately the panning.
35017 This patch matches FF3 behavior by disabling every key but the esc key.
35018
35019 * page/EventHandler.cpp:
35020 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
35021 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
35022
mitz@apple.com12404d82008-08-19 00:20:38 +0000350232008-08-18 Dan Bernstein <mitz@apple.com>
35024
35025 Reviewed by Dave Hyatt.
35026
35027 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
35028
35029 Test: fast/replaced/max-width-percent.html
35030
35031 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
35032 When false, max-width is not factored into the
35033 calculation.
35034 Changed RenderReplaced and subclasses' calcPrefWidths() to call
35035 calcReplacedWidth(false) and then apply max-width only if it has a
35036 fixed, positive value.
35037
35038 * rendering/RenderBox.cpp:
35039 (WebCore::RenderBox::calcReplacedWidth):
35040 * rendering/RenderBox.h:
35041 * rendering/RenderImage.cpp:
35042 (WebCore::RenderImage::calcReplacedWidth):
35043 (WebCore::RenderImage::calcPrefWidths):
35044 * rendering/RenderImage.h:
35045 * rendering/RenderReplaced.cpp:
35046 (WebCore::RenderReplaced::calcPrefWidths):
35047 * rendering/RenderSVGRoot.cpp:
35048 (WebCore::RenderSVGRoot::calcPrefWidths):
35049 * rendering/RenderVideo.cpp:
35050 (WebCore::RenderVideo::calcReplacedWidth):
35051 (WebCore::RenderVideo::calcPrefWidths):
35052 * rendering/RenderVideo.h:
35053
mrowe@apple.comced88732008-08-18 22:47:28 +0000350542008-08-18 Daniel Macks <dmacks@netspace.org>
35055
35056 Reviewed by Mark Rowe.
35057
35058 https://bugs.webkit.org/show_bug.cgi?id=20410
35059 More portable/self-documenting replacement for SIZE_MAX.
35060
35061 * platform/network/curl/FormDataStreamCurl.cpp:
35062 (WebCore::FormDataStream::read):
35063
350642008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000035065
35066 Reviewed by Dave Hyatt
35067
35068 Need to make sure we have an Animation in the AnimationList
35069 before setting the initial value.
35070 https://bugs.webkit.org/show_bug.cgi?id=20408
35071
35072 Test: fast/css/transition_shorthand_parsing.html
35073
35074 * css/CSSStyleSelector.cpp:
35075
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000350762008-08-18 Kevin McCullough <kmccullough@apple.com>
35077
kmccullough@apple.com707bd362008-08-18 20:21:57 +000035078 Reviewed by Tim.
35079
35080 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
35081 is another profile.
35082
35083 * page/inspector/ProfilesPanel.js:
35084
350852008-08-18 Kevin McCullough <kmccullough@apple.com>
35086
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000035087 Reviewed by Geoff.
35088
35089 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
35090 all console messages
35091
35092 * page/inspector/Console.js:
35093
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000350942008-08-18 Dirk Schulze <vbs85@gmx.de>
35095
35096 Reviewed by Eric Seidel.
35097
35098 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
35099 the canvas clean up.
35100
35101 https://bugs.webkit.org/show_bug.cgi?id=20405
35102
35103 * html/CanvasRenderingContext2D.cpp:
35104 (WebCore::CanvasRenderingContext2D::fill):
35105 (WebCore::CanvasRenderingContext2D::stroke):
35106 (WebCore::CanvasRenderingContext2D::fillRect):
35107
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000351082008-08-17 Timothy Hatcher <timothy@apple.com>
35109
35110 Complete in scope variables in the Console when paused.
35111
35112 https://bugs.webkit.org/show_bug.cgi?id=19115
35113
35114 Reviewed by Geoffrey Garen.
35115
35116 * page/inspector/Console.js:
35117 (WebInspector.Console.prototype.completions): If the expressionString
35118 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
35119 to get an object that declares all the in scope variables. That way
35120 "top level" expressions are completed.
35121 * page/inspector/ScriptsPanel.js:
35122 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
35123 Return an object that has all the variables that are in scope for the
35124 selected call frame. The value of each property is just true.
35125 The return object is useful for quick lookups or auto completion.
35126
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000351272008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
35128
35129 Not reviewed.
35130
35131 Speculative Qt build fix.
35132
35133 * bridge/qt/qt_runtime.cpp:
35134 (KJS::Bindings::convertValueToQVariant):
35135 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
35136
ggaren@apple.comfea43532008-08-17 20:23:49 +0000351372008-08-17 Geoffrey Garen <ggaren@apple.com>
35138
35139 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000035140
35141 Updated project files to XCode 3.1.
35142
35143 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
35144
351452008-08-17 Geoffrey Garen <ggaren@apple.com>
35146
35147 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000035148
35149 Made room for a free word in JSCell.
35150
35151 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
35152 JSGlobalData, so the two could share a pointer.
35153
35154 Added a bunch of ASSERTs, to help catch over-sized objects.
35155
mrowe@apple.com13570292008-08-16 06:48:10 +0000351562008-08-15 Mark Rowe <mrowe@apple.com>
35157
mitz@apple.comb96c1b92008-08-17 03:28:52 +000035158 Reviewed by Dan Bernstein.
35159
35160 Disable dead code stripping in debug builds.
35161
35162 * Configurations/Base.xcconfig:
35163 * WebCore.xcodeproj/project.pbxproj:
35164
351652008-08-15 Mark Rowe <mrowe@apple.com>
35166
mrowe@apple.com13570292008-08-16 06:48:10 +000035167 Rubber-stamped by Geoff Garen.
35168
35169 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
35170
35171 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
35172 between the Debug configuration and debug Production variant.
35173 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
35174
antti@apple.coma05e8b02008-08-15 22:58:06 +0000351752008-08-15 Antti Koivisto <antti@apple.com>
35176
35177 Reviewed by Anders.
35178
35179 Don't start preloading body resources before the head is complete. This prevents
35180 body preloads from slowing down initial display when there is limited amount
35181 of bandwidth available.
35182
35183 Works by queuing up found body preloads to DocLoader and only issuing them
35184 after document has rendering.
35185
35186 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
35187 without affecting complete load time.
35188
35189 * html/PreloadScanner.cpp:
35190 (WebCore::PreloadScanner::PreloadScanner):
35191 (WebCore::PreloadScanner::scanningBody):
35192 (WebCore::PreloadScanner::emitTag):
35193 (WebCore::PreloadScanner::emitCSSRule):
35194 * html/PreloadScanner.h:
35195 * loader/DocLoader.cpp:
35196 (WebCore::DocLoader::preload):
35197 (WebCore::DocLoader::checkForPendingPreloads):
35198 (WebCore::DocLoader::requestPreload):
35199 * loader/DocLoader.h:
35200 * loader/loader.cpp:
35201 (WebCore::Loader::Host::didFinishLoading):
35202 (WebCore::Loader::Host::didFail):
35203
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000352042008-08-15 Ada Chan <adachan@apple.com>
35205
35206 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
35207 This way style set on an <hr> within a <select> will be honored.
35208
35209 Reviewed by Dave Hyatt and Dan Bernstein.
35210
35211 * rendering/RenderMenuList.cpp:
35212 (WebCore::RenderMenuList::itemStyle):
35213
antti@apple.com9f7911472008-08-15 20:48:06 +0000352142008-08-15 Antti Koivisto <antti@apple.com>
35215
35216 Reviewed by Oliver.
35217
35218 Some loader performance tweaks:
35219 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
35220 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
35221 to not delay rendering.
35222 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
35223 can take long time when latency is high so it is good to get started early.
35224 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
35225 load queues. Issue remaining loads to the network layer.
35226
35227 * loader/loader.cpp:
35228 (WebCore::Loader::determinePriority):
35229 (WebCore::Loader::load):
35230 (WebCore::Loader::Host::servePendingRequests):
35231 * loader/loader.h:
35232
timothy@apple.com2d974c32008-08-15 18:35:39 +0000352332008-08-15 Timothy Hatcher <timothy@apple.com>
35234
35235 Detach the script debugger when the Web Inspector's window closes.
35236 This has always been the intended design, but never fully implemented.
35237
35238 https://bugs.webkit.org/show_bug.cgi?id=20402
35239
35240 Reviewed by Adam Roben.
35241
35242 * page/InspectorController.cpp:
35243 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
35244 if the window is no longer visible.
35245
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000352462008-08-15 HĂĄvard Wall <hwall@trolltech.com>
35247
35248 Reviewed by Simon.
35249
hausmann@webkit.org58144a72008-08-15 18:12:08 +000035250 Fixes: compile with QT_NO_CONTEXTMENU
35251
35252 * platform/qt/PlatformMouseEventQt.cpp:
35253 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
35254 * platform/qt/PlatformScrollBarQt.cpp:
35255 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
35256 (WebCore::PlatformScrollbar::handleContextMenuEvent):
35257
352582008-08-15 HĂĄvard Wall <hwall@trolltech.com>
35259
35260 Reviewed by Simon.
35261
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000035262 Fixes: compile with QT_NO_WHEELEVENT
35263
35264 * platform/qt/WheelEventQt.cpp:
35265 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
35266
timothy@apple.com4889e612008-08-15 17:06:14 +0000352672008-08-15 Keishi Hattori <casey.hattori@gmail.com>
35268
timothy@apple.comd64639c2008-08-15 17:48:36 +000035269 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
35270
35271 https://bugs.webkit.org/show_bug.cgi?id=20210
35272
35273 Reviewed by Tim Hatcher.
35274
35275 * page/Console.cpp:
35276 (WebCore::Console::group):
35277 (WebCore::Console::groupEnd):
35278 * page/Console.h:
35279 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
35280 * page/InspectorController.cpp:
35281 (WebCore::InspectorController::startGroup): Increments group level by
35282 one and adds console message with StartGroupMessaageLevel.
35283 (WebCore::InspectorController::endGroup): Decrements group level by one
35284 and adds console message with EndGroupMessaageLevel.
35285 * page/InspectorController.h:
35286 * page/inspector/Console.js:
35287 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
35288 if the message is StartGroupMessaageLevel.
35289 (WebInspector.ConsoleMessage.prototype.toMessageElement):
35290 (WebInspector.ConsoleGroup.prototype.addMessage):
35291 * page/inspector/inspector.js:
35292
352932008-08-15 Keishi Hattori <casey.hattori@gmail.com>
35294
timothy@apple.com7310b6a2008-08-15 17:35:22 +000035295 Adds support for console.dir to the Inspector
35296
35297 https://bugs.webkit.org/show_bug.cgi?id=19155
35298
35299 Reviewed by Tim Hatcher.
35300
35301 * bindings/js/JSConsoleCustom.cpp:
35302 (WebCore::JSConsole::dir):
35303 * page/Console.cpp:
35304 (WebCore::Console::dir):
35305 * page/Console.h: Added ObjectMessageLevel.
35306 * page/Console.idl: Added console.dir.
35307 * page/inspector/Console.js:
35308 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
35309 ObjectPropertiesSection if the MessageLevel is Object.
35310 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
35311 used on primitive data types.
35312 * page/inspector/inspector.css:
35313
353142008-08-15 Keishi Hattori <casey.hattori@gmail.com>
35315
timothy@apple.com4889e612008-08-15 17:06:14 +000035316 Adds support for clear() in the Inspector console.
35317
35318 https://bugs.webkit.org/show_bug.cgi?id=19873
35319
35320 Reviewed by Tim Hatcher.
35321
35322 * page/inspector/Console.js:
35323
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000353242008-08-15 Anthony Ricaud <rik24d@gmail.com>
35325
35326 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
35327
35328 Platform distinction and modifier key matching adjusted
35329 by Daniel Jalkut <jalkut@red-sweater.com>
35330
35331 Bug 16313: text search (find) keybindings should work in the Web Inspector
35332 https://bugs.webkit.org/show_bug.cgi?id=16313
35333
35334 Reviewed by Tim Hatcher.
35335
35336 * page/inspector/inspector.js: Added a case for the F key
35337
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000353382008-08-15 Keishi Hattori <casey.hattori@gmail.com>
35339
35340 Fix for error when the string doesn't contain a webkit-profile link.
35341
35342 https://bugs.webkit.org/show_bug.cgi?id=20399
35343
35344 Reviewed by Tim Hatcher.
35345
35346 * page/inspector/inspector.js:
35347
timothy@apple.com895b2652008-08-15 16:33:27 +0000353482008-08-15 Timothy Hatcher <timothy@apple.com>
35349
35350 Fixes two bugs where JavaScript could be executed from the page
35351 while the debugger is paused.
35352
35353 The first issue was JSLazyEventListener not checking the paused
35354 state before parsing the code.
35355
35356 The second issue was with the PageGroup version of
35357 JavaScriptDebugServer::setJavaScriptPaused always passing false
35358 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
35359 and not the paused argument.
35360
35361 https://bugs.webkit.org/show_bug.cgi?id=20284
35362
35363 Reviewed by Adam Roben.
35364
35365 * bindings/js/JSEventListener.cpp:
35366 (WebCore::JSLazyEventListener::parseCode): Check the paused
35367 state of the ScriptController. Return early if paused.
35368 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
35369 * page/JavaScriptDebugServer.cpp:
35370 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
35371 Pass the paused argument to the Page version of setJavaScriptPaused.
35372
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000353732008-08-15 Alexey Proskuryakov <ap@webkit.org>
35374
35375 Reviewed by Geoff Garen.
35376
35377 JSStringRef is created context-free, but can get linked to one via an identifier table,
35378 breaking an implicit API contract.
35379
35380 * page/InspectorController.cpp:
35381 (WebCore::jsStringRef):
35382 (WebCore::InspectorController::didParseSource):
35383 (WebCore::InspectorController::failedToParseSource):
35384 * page/JavaScriptProfile.cpp:
35385 (WebCore::getTitleCallback):
35386 Updated for JavaScriptCore changes.
35387
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000353882008-08-14 Kevin Ollivier <kevino@theolliviers.com>
35389
35390 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
35391 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
35392
35393 * platform/graphics/AffineTransform.h:
35394
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000353952008-08-14 Eric Carlson <eric.carlson@apple.com>
35396
35397 Reviewed by Adele.
35398
35399 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
35400 <video> elements on Windows never becomes visible when a page is restored from the cache
35401
35402 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
35403 value is different from the cached value. Let the implementation decide when
35404 to avoid work because nothing has changed.
35405
35406 * platform/graphics/MediaPlayer.cpp:
35407 (WebCore::MediaPlayer::setVolume):
35408 (WebCore::MediaPlayer::setRate):
35409 (WebCore::MediaPlayer::setRect):
35410 (WebCore::MediaPlayer::setVisible):
35411
timothy@apple.comda810f42008-08-14 23:57:14 +0000354122008-08-14 Keishi Hattori <casey.hattori@gmail.com>
35413
35414 Make Firebug command line API respect predefined variables.
35415
timothy@apple.com90751f02008-08-14 23:58:19 +000035416 https://bugs.webkit.org/show_bug.cgi?id=20385
35417
timothy@apple.comda810f42008-08-14 23:57:14 +000035418 Reviewed by Tim Hatcher.
35419
35420 * page/inspector/Console.js:
35421
weinig@apple.com4b51d002008-08-14 23:33:22 +0000354222008-08-14 Sam Weinig <sam@webkit.org>
35423
35424 Reviewed by Geoffrey Garen and Timothy Hatcher.
35425
35426 Allow programatically setting the HTMLTokenizers time delay and chunk size
35427 which are used for determining how aggressively we yield.
35428
35429 * WebCore.base.exp:
35430 * html/HTMLTokenizer.cpp:
35431 (WebCore::HTMLTokenizer::begin):
35432 (WebCore::HTMLTokenizer::continueProcessing):
35433 * html/HTMLTokenizer.h:
35434 * page/Page.cpp:
35435 (WebCore::Page::Page):
35436 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
35437 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
35438 * page/Page.h:
35439 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
35440 (WebCore::Page::customHTMLTokenizerTimeDelay):
35441 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
35442 (WebCore::Page::customHTMLTokenizerChunkSize):
35443
eric@webkit.org89613d22008-08-14 23:19:17 +0000354442008-08-14 Eric Seidel <eric@webkit.org>
35445
eric@webkit.org7e897c32008-08-14 23:20:00 +000035446 Reviewed by Beth.
35447
35448 Move us one step closer to cross-platform svg/graphics code
35449
35450 * WebCore.xcodeproj/project.pbxproj:
35451 * html/CanvasStyle.cpp:
35452 * platform/graphics/Color.cpp:
35453 (WebCore::colorWithOverrideAlpha):
35454 * platform/graphics/Color.h:
35455 * svg/graphics/cg/CgSupport.cpp:
35456 (WebCore::applyStrokeStyleToContext):
35457 (WebCore::strokeBoundingBox):
35458 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
35459 (WebCore::SVGPaintServerSolid::setup):
35460
354612008-08-14 Eric Seidel <eric@webkit.org>
35462
eric@webkit.org4f490652008-08-14 23:19:31 +000035463 Reviewed by Alexey.
35464
eric@webkit.org73fa9d12008-08-14 23:19:44 +000035465 Remove un-need includes from HTMLCanvas and use the
35466 Gradient platform abstraction in one place in CanvasStyle
35467
35468 * html/CanvasRenderingContext2D.cpp:
35469 (WebCore::CanvasRenderingContext2D::fillRect):
35470 * html/CanvasStyle.cpp:
35471 * html/HTMLCanvasElement.cpp:
35472
354732008-08-14 Eric Seidel <eric@webkit.org>
35474
35475 Reviewed by Alexey.
35476
eric@webkit.org4f490652008-08-14 23:19:31 +000035477 Clean up GlyphBuffer.h, removing more #ifdefs
35478
35479 * platform/graphics/GlyphBuffer.h:
35480 (WebCore::GlyphBuffer::glyphAt):
35481 (WebCore::GlyphBuffer::advanceAt):
35482 (WebCore::GlyphBuffer::add):
35483
354842008-08-14 Eric Seidel <eric@webkit.org>
35485
eric@webkit.org89613d22008-08-14 23:19:17 +000035486 Reviewed by Sam.
35487
35488 Clean up AffineTransform.h, removing #ifdefs
35489
35490 * platform/graphics/AffineTransform.h:
35491 * platform/graphics/cairo/AffineTransformCairo.cpp:
35492 * platform/graphics/cg/AffineTransformCG.cpp:
35493 * platform/graphics/qt/AffineTransformQt.cpp:
35494 * platform/graphics/wx/AffineTransformWx.cpp:
35495
mitz@apple.com551d6252008-08-14 23:08:09 +0000354962008-08-14 Dan Bernstein <mitz@apple.com>
35497
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000035498 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
35499
35500 * platform/graphics/cairo/ImageSourceCairo.cpp:
35501 (WebCore::ImageSource::frameSizeAtIndex):
35502 * platform/graphics/qt/ImageSourceQt.cpp:
35503 (WebCore::ImageSource::frameSizeAtIndex):
35504 * platform/graphics/wx/ImageSourceWx.cpp:
35505 (WebCore::ImageSource::frameSizeAtIndex):
35506
355072008-08-14 Dan Bernstein <mitz@apple.com>
35508
mitz@apple.com551d6252008-08-14 23:08:09 +000035509 Reviewed by Brady Eidson.
35510
35511 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
35512
35513 * platform/graphics/BitmapImage.cpp:
35514 (WebCore::BitmapImage::BitmapImage): Added initialization of
35515 m_hasUniformFrameSize.
35516 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
35517 cached frame for use in decoded size computation and for setting
35518 m_hasUniformFrameSize.
35519 (WebCore::BitmapImage::currentFrameSize): Added.
35520 (WebCore::BitmapImage::dataChanged): Added code to reset
35521 m_hasUniformFrameSize.
35522 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
35523 m_hasUniformFrameSize.
35524 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
35525 * platform/graphics/cg/ImageCG.cpp:
35526 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
35527 fixes the bug, which resulted from assuming that the frame being drawn
35528 was the same size as the first frame.
35529 * platform/graphics/cg/ImageSourceCG.cpp:
35530 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
35531 changed to get the size of the frame at the given index.
35532 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
35533
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000355342008-08-13 Simon Fraser <simon.fraser@apple.com>
35535
35536 Reviewed by Eric Seidel
35537
35538 Fix @font-face inside @media rule crash.
35539 https://bugs.webkit.org/show_bug.cgi?id=20367
35540
35541 Test: fast/css/font-face-in-media-rule.html
35542
35543 * css/CSSStyleSelector.cpp:
35544 (WebCore::CSSRuleSet::addRulesFromSheet):
35545
kevino@webkit.org141c4602008-08-14 22:52:55 +0000355462008-08-14 Kevin Ollivier <kevino@theolliviers.com>
35547
35548 wx build fixes after recent changes to Canvas and Image classes.
35549
35550 * platform/graphics/Pattern.h:
35551 * platform/graphics/wx/GradientWx.cpp:
35552 (WebCore::Gradient::fill):
35553 * platform/graphics/wx/GraphicsContextWx.cpp:
35554 (WebCore::GraphicsContext::applyFillPattern):
35555 (WebCore::GraphicsContext::applyStrokePattern):
35556 * platform/graphics/wx/ImageBufferWx.cpp:
35557 (WebCore::ImageBuffer::image):
35558 * platform/graphics/wx/ImageWx.cpp:
35559 (WebCore::Image::loadPlatformResource):
35560
britto@apple.comd7008662008-08-14 19:26:02 +0000355612008-08-14 Maxime Britto <britto@apple.com>
35562
35563 Reviewed by Sam Weinig.
35564
35565 rdar://6102511
35566 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
35567 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
35568 Some differences exist between them concerning the kind of key which is pressed :
35569 IE7 : every key leads to a stop of the panning
35570 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
35571 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
35572
35573 * page/EventHandler.cpp:
35574 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
35575
christian@webkit.org0e20f322008-08-14 19:14:47 +0000355762008-08-14 Christian Dywan <christian@twotoasts.de>
35577
35578 Gtk+/ Cairo build fix, patch by Dirk Schulze.
35579
35580 * html/CanvasStyle.cpp:
35581 * platform/graphics/cairo/PatternCairo.cpp:
35582 (WebCore::Pattern::createPlatformPattern):
35583 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
35584
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000355852008-08-14 Kevin McCullough <kmccullough@apple.com>
35586
35587 Reviewed by Tim.
35588
35589 <rdar://problem/6115819> Notify of profile in console
35590
35591 * page/InspectorController.cpp:
35592 (WebCore::InspectorController::addProfile):
35593 (WebCore::InspectorController::addProfileMessageToConsole): Called by
35594 addProfile this is the function that adds a message to the console that
35595 a profile finished.
35596 * page/InspectorController.h:
35597 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
35598 the console log to the profile in the web inspector.
35599 (WebCore::getUniqueIdCallback):
35600 (WebCore::ProfileClass):
35601 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
35602 Id to bring up the requested profile. Also select and reveal the
35603 profile in the profile panel. And created displayTitleForProfileLink()
35604 which formats a title taking into account if it's user initiated or if
35605 there are multiples. Lasty, I put the user initiated profile in a
35606 variable.
35607 * page/inspector/inspector.js: Make the profile title be a clickable
35608 link that will take the user to the identified profile. Also expose
35609 the count of user initiated profiles so they can be displayed in the
35610 console with the correct count.
35611
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000356122008-08-14 Timothy Hatcher <timothy@apple.com>
35613
35614 Avoid formating ConsoleMessages twice unless the message will be
35615 displayed in bubbles of a SourceFrame.
35616
35617 Reviewed by Kevin McCullough.
35618
35619 * page/inspector/Console.js:
35620 (WebInspector.ConsoleMessage): Only format the plain text message
35621 if the URL and line are valid and the level is error or warning.
35622 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
35623 Helper to test for error or warning level.
35624 * page/inspector/SourceFrame.js:
35625 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
35626 message if there is no message or valid line or if the msg
35627 isn't an error or warning.
35628
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000356292008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
35630
35631 partial Gtk build fix, not reviewed
35632
35633 * platform/graphics/cairo/PatternCairo.cpp:
35634
weinig@apple.com45e83142008-08-14 04:49:30 +0000356352008-08-13 Sam Weinig <sam@webkit.org>
35636
weinig@apple.com1c615fe2008-09-29 04:17:33 +000035637 Reviewed by Anders Carlsson.
weinig@apple.com45e83142008-08-14 04:49:30 +000035638
35639 Fix style issue.
35640
35641 * html/HTMLMediaElement.cpp:
35642 (WebCore::HTMLMediaElement::pickMedia):
35643
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000356442008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
35645
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000035646 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
35647 Continue Erics build fixes, after the Image cleanup.
35648
35649 * platform/graphics/cairo/ImageBufferCairo.cpp:
35650 (WebCore::ImageBuffer::image):
35651
356522008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
35653
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000035654 Build fix for Qt, not reviewed.
35655 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
35656
35657 * dom/XMLTokenizer.cpp:
35658 (WebCore::eventuallyMarkAsParserCreated): Was erre
35659
356602008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
35661
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000035662 Build fix, not reviewed.
35663 Add ScriptElement.cpp to Gtk build.
35664
35665 * GNUmakefile.am:
35666
356672008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
35668
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000035669 Reviewed by Eric.
35670
35671 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
35672
35673 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
35674 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
35675
35676 This resolves code duplications and allows us to completly replace the old
35677 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
35678
35679 As ScriptElement, doesn't actually inherit from Element, we may want to rename
35680 it, though StyleElement uses the same naming convention, so I left it as is for now.
35681 Eventually we'll rename both files in future.
35682
35683 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
35684
35685 * WebCore.pro: Add new ScriptElement.cpp to build.
35686 * WebCore.vcproj/WebCore.vcproj: Ditto.
35687 * WebCore.xcodeproj/project.pbxproj: Ditto.
35688 * WebCoreSources.bkl: Dutto.
35689 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
35690 (WebCore::ScriptElement::insertedIntoDocument):
35691 (WebCore::ScriptElement::removedFromDocument):
35692 (WebCore::ScriptElement::childrenChanged):
35693 (WebCore::ScriptElement::finishParsingChildren):
35694 (WebCore::ScriptElement::handleSourceAttribute):
35695 (WebCore::isSupportedJavaScriptLanguage):
35696 (WebCore::ScriptElementData::ScriptElementData):
35697 (WebCore::ScriptElementData::~ScriptElementData):
35698 (WebCore::ScriptElementData::requestScript):
35699 (WebCore::ScriptElementData::evaluateScript):
35700 (WebCore::ScriptElementData::stopLoadRequest):
35701 (WebCore::ScriptElementData::notifyFinished):
35702 (WebCore::ScriptElementData::ignoresLoadRequest):
35703 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
35704 (WebCore::ScriptElementData::scriptCharset):
35705 (WebCore::ScriptElementData::scriptContent):
35706 * dom/ScriptElement.h: Added.
35707 (WebCore::ScriptElement::ScriptElement):
35708 (WebCore::ScriptElement::~ScriptElement):
35709 (WebCore::ScriptElementData::element):
35710 (WebCore::ScriptElementData::createdByParser):
35711 (WebCore::ScriptElementData::setCreatedByParser):
35712 * dom/XMLTokenizer.cpp:
35713 (WebCore::isScriptElement):
35714 (WebCore::castToScriptElement):
35715 (WebCore::eventuallyMarkAsParserCreated):
35716 (WebCore::XMLTokenizer::startElementNs):
35717 (WebCore::XMLTokenizer::endElementNs):
35718 (WebCore::createXHTMLParserErrorHeader):
35719 (WebCore::XMLTokenizer::insertErrorMessageBlock):
35720 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
35721 (WebCore::HTMLScriptElement::HTMLScriptElement):
35722 (WebCore::HTMLScriptElement::~HTMLScriptElement):
35723 (WebCore::HTMLScriptElement::isURLAttribute):
35724 (WebCore::HTMLScriptElement::setCreatedByParser):
35725 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
35726 (WebCore::HTMLScriptElement::childrenChanged):
35727 (WebCore::HTMLScriptElement::parseMappedAttribute):
35728 (WebCore::HTMLScriptElement::finishParsingChildren):
35729 (WebCore::HTMLScriptElement::insertedIntoDocument):
35730 (WebCore::HTMLScriptElement::removedFromDocument):
35731 (WebCore::HTMLScriptElement::text):
35732 (WebCore::HTMLScriptElement::setText):
35733 (WebCore::HTMLScriptElement::setHtmlFor):
35734 (WebCore::HTMLScriptElement::setEvent):
35735 (WebCore::HTMLScriptElement::charset):
35736 (WebCore::HTMLScriptElement::src):
35737 (WebCore::HTMLScriptElement::type):
35738 (WebCore::HTMLScriptElement::scriptCharset):
35739 (WebCore::HTMLScriptElement::scriptContent):
35740 (WebCore::HTMLScriptElement::sourceAttributeValue):
35741 (WebCore::HTMLScriptElement::charsetAttributeValue):
35742 (WebCore::HTMLScriptElement::typeAttributeValue):
35743 (WebCore::HTMLScriptElement::languageAttributeValue):
35744 (WebCore::HTMLScriptElement::dispatchLoadEvent):
35745 (WebCore::HTMLScriptElement::dispatchErrorEvent):
35746 * html/HTMLScriptElement.h:
35747 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
35748 * svg/SVGScriptElement.cpp:
35749 (WebCore::SVGScriptElement::SVGScriptElement):
35750 (WebCore::SVGScriptElement::scriptContent):
35751 (WebCore::SVGScriptElement::sourceAttributeValue):
35752 (WebCore::SVGScriptElement::charsetAttributeValue):
35753 (WebCore::SVGScriptElement::typeAttributeValue):
35754 (WebCore::SVGScriptElement::languageAttributeValue):
35755 (WebCore::SVGScriptElement::dispatchLoadEvent):
35756 (WebCore::SVGScriptElement::dispatchErrorEvent):
35757 * svg/SVGScriptElement.h:
35758 (WebCore::SVGScriptElement::setCreatedByParser):
35759
eric@webkit.org7811ef02008-08-14 00:28:51 +0000357602008-08-13 Eric Seidel <eric@webkit.org>
35761
eric@webkit.org3562c592008-08-14 02:17:29 +000035762 Attempt to fix the Gtk build, no review.
35763
35764 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
35765
35766 * platform/graphics/GraphicsContext.h:
35767 * platform/graphics/cairo/GraphicsContextCairo.cpp:
35768 * platform/graphics/qt/GradientQt.cpp:
35769 * platform/graphics/qt/GraphicsContextQt.cpp:
35770 * platform/gtk/RenderThemeGtk.cpp:
35771 (WebCore::paintMozWidget):
35772
357732008-08-13 Eric Seidel <eric@webkit.org>
35774
eric@webkit.org2ec42072008-08-14 02:03:09 +000035775 Yet another attempt to fix the Qt build, no review.
35776
35777 * platform/graphics/qt/GradientQt.cpp:
35778 * platform/graphics/qt/GraphicsContextQt.cpp:
35779 (WebCore::GraphicsContext::applyStrokePattern):
35780 (WebCore::GraphicsContext::applyFillPattern):
35781
357822008-08-13 Eric Seidel <eric@webkit.org>
35783
35784 Attempt to fix the Windows build, no review.
35785
35786 * platform/win/CursorWin.cpp:
35787 (WebCore::loadCursorByName):
35788 * platform/win/ScrollViewWin.cpp:
35789 (WebCore::ScrollView::paint):
35790
357912008-08-13 Eric Seidel <eric@webkit.org>
35792
eric@webkit.org508c0282008-08-14 01:29:34 +000035793 Attempt to fix the Windows build, no review.
35794
35795 * platform/win/CursorWin.cpp:
35796 (WebCore::loadCursorByName):
35797 * platform/win/ScrollViewWin.cpp:
35798 (WebCore::ScrollView::paint):
35799
358002008-08-13 Eric Seidel <eric@webkit.org>
35801
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000035802 Attempt to fix the Qt build, no review.
35803
35804 * platform/graphics/qt/ImageBufferQt.cpp:
35805 (WebCore::ImageBuffer::image):
35806
358072008-08-13 Eric Seidel <eric@webkit.org>
35808
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000035809 Attempt to fix the Windows build, no review.
35810
35811 * platform/graphics/win/ImageWin.cpp:
35812 (WebCore::Image::loadPlatformResource):
35813 * plugins/win/PluginViewWin.cpp:
35814 (WebCore::PluginView::paintMissingPluginIcon):
35815
358162008-08-13 Eric Seidel <eric@webkit.org>
35817
eric@webkit.orgac3f6662008-08-14 01:15:50 +000035818 Another attempt to fix the Qt build, no review.
35819
35820 * platform/graphics/qt/ImageQt.cpp:
35821 * platform/graphics/qt/StillImageQt.h:
35822
358232008-08-13 Eric Seidel <eric@webkit.org>
35824
eric@webkit.org31e0d812008-08-14 01:05:42 +000035825 No review, build fix only.
35826
35827 Fix mac build, due to change in new code since my patch was written.
35828
35829 * svg/graphics/cg/SVGResourceMaskerCg.mm:
35830 (WebCore::SVGResourceMasker::applyMask):
35831
358322008-08-13 Eric Seidel <eric@webkit.org>
35833
eric@webkit.orga20a0032008-08-14 00:42:54 +000035834 Build fix only, no review.
35835
35836 Attempt to fix the Qt build.
35837
eric@webkit.org923255c2008-08-14 00:59:20 +000035838 * platform/graphics/qt/ImageBufferQt.cpp:
35839 * platform/graphics/qt/StillImageQt.h:
35840 (WebCore::StillImage::create):
35841 (WebCore::StillImage::destroyDecodedData):
35842 (WebCore::StillImage::decodedSize):
35843
358442008-08-13 Eric Seidel <eric@webkit.org>
35845
35846 Build fix only, no review.
35847
35848 Attempt to fix the Qt build.
35849
eric@webkit.orga20a0032008-08-14 00:42:54 +000035850 * html/CanvasStyle.cpp:
35851 (WebCore::CanvasStyle::applyStrokeColor):
35852 (WebCore::CanvasStyle::applyFillColor):
35853
358542008-08-13 Eric Seidel <eric@webkit.org>
35855
eric@webkit.org4aca3be2008-08-14 00:30:04 +000035856 Reviewed by Sam.
35857
35858 Match HTML5 spec by throwing INVALID_STATE_ERR when
35859 createPattern is called and the HTMLImageElement is not
35860 yet done loading the image (!isComplete)
35861 https://bugs.webkit.org/show_bug.cgi?id=20351
35862
35863 Test: http/misc/canvas-pattern-from-incremental-image.html
35864
35865 * html/CanvasRenderingContext2D.cpp:
35866 (WebCore::CanvasRenderingContext2D::createPattern):
35867
358682008-08-13 Eric Seidel <eric@webkit.org>
35869
eric@webkit.org5b265602008-08-14 00:29:26 +000035870 Reviewed by Niko.
35871
eric@webkit.orgf0124f62008-08-14 00:29:50 +000035872 Split out a Pattern class from CanvasPattern
35873 and remove all the Pattern-related #ifdefs
35874 (This will break non-mac platforms! I will fix them.)
35875 https://bugs.webkit.org/show_bug.cgi?id=20351
35876
35877 * GNUmakefile.am:
35878 * WebCore.pro:
35879 * WebCore.vcproj/WebCore.vcproj:
35880 * WebCore.xcodeproj/project.pbxproj:
35881 * WebCoreSources.bkl:
35882 * html/CanvasPattern.cpp:
35883 (WebCore::CanvasPattern::parseRepetitionType):
35884 (WebCore::CanvasPattern::CanvasPattern):
35885 * html/CanvasPattern.h:
35886 (WebCore::CanvasPattern::create):
35887 (WebCore::CanvasPattern::pattern):
35888 (WebCore::CanvasPattern::originClean):
35889 * html/CanvasRenderingContext2D.cpp:
35890 (WebCore::CanvasRenderingContext2D::createPattern):
35891 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
35892 (WebCore::CanvasRenderingContext2D::applyFillPattern):
35893 * html/CanvasRenderingContext2D.h:
35894 * html/HTMLCanvasElement.cpp:
35895 * html/HTMLCanvasElement.h:
35896 * loader/FrameLoader.cpp:
35897 (WebCore::FrameLoader::createHistoryItem):
35898 * platform/graphics/GraphicsContext.h:
35899 * platform/graphics/cairo/GraphicsContextCairo.cpp:
35900 (WebCore::GraphicsContext::applyStrokePattern):
35901 (WebCore::GraphicsContext::applyFillPattern):
35902 * platform/graphics/cg/GraphicsContextCG.cpp:
35903 (WebCore::GraphicsContext::clipToImageBuffer):
35904 (WebCore::GraphicsContext::applyStrokePattern):
35905 (WebCore::GraphicsContext::applyFillPattern):
35906
359072008-08-13 Eric Seidel <eric@webkit.org>
35908
35909 Reviewed by Niko.
35910
eric@webkit.org5b265602008-08-14 00:29:26 +000035911 Make Images RefCounted (and clean up callers)
35912 https://bugs.webkit.org/show_bug.cgi?id=20351
35913
35914 * editing/DeleteButtonController.cpp:
35915 (WebCore::DeleteButtonController::createDeletionUI):
35916 * loader/CachedImage.cpp:
35917 (WebCore::CachedImage::CachedImage):
35918 (WebCore::brokenImage):
35919 (WebCore::nullImage):
35920 (WebCore::CachedImage::image):
35921 (WebCore::CachedImage::notifyObservers):
35922 (WebCore::CachedImage::createImage):
35923 * loader/CachedImage.h:
35924 * loader/icon/IconRecord.cpp:
35925 (WebCore::IconRecord::setImageData):
35926 (WebCore::IconRecord::loadImageFromResource):
35927 * loader/icon/IconRecord.h:
35928 * platform/graphics/BitmapImage.h:
35929 (WebCore::BitmapImage::create):
35930 * platform/graphics/GeneratedImage.h:
35931 * platform/graphics/Gradient.cpp:
35932 * platform/graphics/Gradient.h:
35933 * platform/graphics/Image.cpp:
35934 (WebCore::Image::nullImage):
35935 * platform/graphics/Image.h:
35936 * platform/graphics/ImageBuffer.h:
35937 * platform/graphics/cairo/ImageBufferCairo.cpp:
35938 (WebCore::ImageBuffer::image):
35939 * platform/graphics/cg/ImageBufferCG.cpp:
35940 (WebCore::ImageBuffer::image):
35941 (WebCore::ImageBuffer::getImageData):
35942 (WebCore::ImageBuffer::putImageData):
35943 * platform/graphics/cg/PDFDocumentImage.h:
35944 (WebCore::PDFDocumentImage::create):
35945 (WebCore::PDFDocumentImage::destroyDecodedData):
35946 (WebCore::PDFDocumentImage::decodedSize):
35947 * platform/graphics/gtk/ImageGtk.cpp:
35948 (WebCore::Image::loadPlatformResource):
35949 * platform/graphics/mac/ImageMac.mm:
35950 (WebCore::Image::loadPlatformResource):
35951 * rendering/RenderImage.cpp:
35952 * rendering/RenderLayer.cpp:
35953 (WebCore::RenderLayer::paintOverflowControls):
35954 * svg/graphics/SVGImage.cpp:
35955 (WebCore::SVGImage::nativeImageForCurrentFrame):
35956 * svg/graphics/SVGImage.h:
35957 (WebCore::SVGImage::create):
35958 (WebCore::SVGImage::destroyDecodedData):
35959 (WebCore::SVGImage::decodedSize):
35960 (WebCore::SVGImage::frameAtIndex):
35961 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
35962 (WebCore::SVGPaintServerPattern::setup):
35963 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
35964 (WebCore::SVGResourceMasker::applyMask):
35965 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
35966 (WebCore::patternCallback):
35967 * svg/graphics/cg/SVGResourceMaskerCg.mm:
35968 (WebCore::SVGResourceMasker::applyMask):
35969
359702008-08-13 Eric Seidel <eric@webkit.org>
35971
35972 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000035973
35974 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000035975 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000035976
35977 There are some down-sides to this commit.
35978 This commit limits us to 255 levels of grey for calls like:
35979 context.setStrokeStyle(.37, 1.0)
35980 previously CG might have used up to 32bits to store the grey level
35981 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
35982
35983 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
35984 to RGBA32 (like all the rest of colors in WebCore), thus:
35985 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
35986 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
35987
35988 If this is a problem for Dashboard, we can either roll out this commit
35989 or add a beefier Color abstraction, which can be used internally by GraphicsContext
35990 when keeping state, and then GraphicsContext can grow some additional set* routines
35991 for setting the a grey/float/whatever fill and stroke.
35992
35993 * html/CanvasRenderingContext2D.cpp:
35994 (WebCore::CanvasRenderingContext2D::setFillStyle):
35995 * html/CanvasStyle.cpp:
35996 (WebCore::CanvasStyle::CanvasStyle):
35997 (WebCore::colorWithOverrideAlpha):
35998 (WebCore::CanvasStyle::applyStrokeColor):
35999 (WebCore::CanvasStyle::applyFillColor):
36000 * html/CanvasStyle.h:
36001 * platform/graphics/Color.cpp:
36002 (WebCore::colorFloatToRGBAByte):
36003 (WebCore::makeRGBA32FromFloats):
36004 * platform/graphics/Color.h:
36005
adele@apple.com83e44822008-08-13 23:50:41 +0000360062008-08-13 Eric Carlson <eric.carlson@apple.com>
36007
36008 Reviewed by Adele Peterson.
36009
36010 Fix for <rdar://problem/6137931>
36011 https://bugs.webkit.org/show_bug.cgi?id=20360
36012 Remove all parameters from the MIME type before checking with the MIME type registry
36013
36014 Tests: media/video-source-type-params.html
36015
36016 * html/HTMLMediaElement.cpp:
36017 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
36018 to isSupportedMediaMIMEType()
36019
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000360202008-08-13 Beth Dakin <bdakin@apple.com>
36021
36022 Reviewed by Sam Weinig.
36023
36024 Fix for <rdar://problem/6141345>
36025
36026 This patch refines findString and markAllMatchesForText functions'
36027 interactions with disconnected frames. They no longer rely on
36028 knowing where a range is relative to the visible region and work
36029 with disconnected frames that contain frames.
36030
36031 * editing/Editor.cpp:
36032 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
36033 the visiblity enum.
36034 (WebCore::Editor::firstVisibleRange): This now returns the very
36035 first visible range in the document. It's no longer dependent on
36036 searching forward.
36037 (WebCore::Editor::lastVisibleRange): This now returns the very last
36038 visible range in the document. It's no longer dependent on
36039 searching backwards.
36040 (WebCore::Editor::nextVisibleRange): This returns the next visible
36041 range in the appropriate direction from the current range.
36042 * editing/Editor.h:
36043 * page/Frame.cpp:
36044 (WebCore::Frame::findString):
36045 (WebCore::Frame::markAllMatchesForText):
36046
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000360472008-08-13 Kevin Ollivier <kevino@theolliviers.com>
36048
36049 wx build fix for case-sensitive platforms, like Linux.
36050
36051 * WebCoreSources.bkl:
36052
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000360532008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
36054
36055 Reviewed by Holger Freyther.
36056
36057 http://bugs.webkit.org/show_bug.cgi?id=16881
36058 [GTK] PlatformScreenGtk is unimplemented
36059
36060 Original patch by Christian Dywan.
36061
36062 * platform/gtk/PlatformScreenGtk.cpp:
36063 (WebCore::screenDepth):
36064 (WebCore::screenDepthPerComponent):
36065 (WebCore::screenIsMonochrome):
36066 (WebCore::screenRect):
36067 (WebCore::screenAvailableRect):
36068
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000360692008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
36070
36071 Reviewed by Holger Freyther.
36072
36073 http://bugs.webkit.org/show_bug.cgi?id=20318
36074 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
36075
36076 g_idle_add is the same as g_idle_add_full with a priority of
36077 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
36078
36079 * platform/gtk/SharedTimerGtk.cpp:
36080 (WebCore::setSharedTimerFireTime):
36081
timothy@apple.comf0426602008-08-13 18:11:01 +0000360822008-08-13 Timothy Hatcher <timothy@apple.com>
36083
36084 Changed the InspectorController so it can be notified when the
36085 attached state of the Inspector changes in WebKit.
36086
36087 Reviewed by Kevin McCullough.
36088
36089 * WebCore.base.exp: Updated the symbol for setWindowVisible.
36090 * page/InspectorController.cpp:
36091 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
36092 that defaults to false.Call setAttachedWindow with the attached argument.
36093 (WebCore::InspectorController::setAttachedWindow): Call the script version
36094 of setAttachedWindow.
36095 * page/InspectorController.h:
36096 * page/inspector/inspector.js:
36097 (WebInspector.setAttachedWindow): Set the attached property.
36098
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000360992008-08-12 Timothy Hatcher <timothy@apple.com>
36100
timothy@apple.com72c92ae2008-08-13 18:10:45 +000036101 Added a close button to the Inspector's toolbar when docked.
36102
36103 https://bugs.webkit.org/show_bug.cgi?id=14270
36104
36105 Reviewed by Kevin McCullough.
36106
36107 * page/InspectorController.cpp:
36108 (WebCore::closeWindow): Call InspectorController::closeWindow.
36109 (WebCore::InspectorController::windowScriptObjectAvailable):
36110 Added closeWindow to the script class.
36111 * page/InspectorController.h:
36112 * page/inspector/Images/closeButtons.png: Added.
36113 * page/inspector/inspector.css: Added and changed styles.
36114 * page/inspector/inspector.html: Added the close button.
36115 * page/inspector/inspector.js:
36116 (WebInspector.loaded): Added click event listener to the close button.
36117 (WebInspector.close): Call InspectorController.closeWindow.
36118
361192008-08-12 Timothy Hatcher <timothy@apple.com>
36120
timothy@apple.com9ea832b2008-08-13 18:10:36 +000036121 Make the docked Web Inspector resizable. This is the cross platform
36122 portion of the code. Each InspectorClient needs to implement the
36123 real resize code.
36124
36125 https://bugs.webkit.org/show_bug.cgi?id=14282
36126
36127 Reviewed by Kevin McCullough.
36128
36129 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
36130 * page/InspectorClient.h: Added setAttachedWindowHeight.
36131 * page/InspectorController.cpp:
36132 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
36133 on the InspectorController.
36134 (WebCore::InspectorController::setAttachedWindowHeight): Call
36135 setAttachedWindowHeight on the client.
36136 (WebCore::InspectorController::windowScriptObjectAvailable):
36137 Added setAttachedWindowHeight to the script class.
36138 * page/InspectorController.h:
36139 * page/inspector/inspector.css: Make the cursor on the toolbar be
36140 row-resize when docked.
36141 * page/inspector/inspector.js:
36142 (WebInspector.loaded): Always add the toolbarDragStart event listener.
36143 (WebInspector.toolbarDragStart): Return early if we are not attached
36144 and not on Leopard. Call WebInspector.elementDragStart.
36145 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
36146 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
36147 otherwise call moveByUnrestricted.
36148
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000361492008-08-13 Simon Hausmann <hausmann@webkit.org>
36150
36151 Reviewed by Holger.
36152
36153 Initialize m_zoomsTextOnly in the Settings constructor.
36154
36155 * page/Settings.cpp:
36156 (WebCore::Settings::Settings):
36157
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000361582008-08-13 Brad Hughes <bhughes@trolltech.com>
36159
36160 Reviewed by Simon.
36161
36162 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
36163
36164 The latest upgrade of the intel compiler allows us to compile all of
36165 Qt with optimizations enabled (yay!).
36166
36167 * WebCore.pro:
36168
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000361692008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
36170
36171 Reviewed by Simon.
36172
36173 Fix QtWebKit not displaying content on 403 HTTP responses
36174
36175 Just like with 404 responses also display content with 403, as
36176 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
36177
36178 * platform/network/qt/QNetworkReplyHandler.cpp:
36179 (WebCore::QNetworkReplyHandler::finish):
36180
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000361812008-08-13 Simon Hausmann <hausmann@webkit.org>
36182
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000036183 Reviewed by Holger.
36184
36185 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
36186
36187 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
36188
36189 * platform/text/String.cpp:
36190 (WebCore::String::format):
36191
361922008-08-13 Simon Hausmann <hausmann@webkit.org>
36193
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000036194 Reviewed by Lars.
36195
36196 Fix QWebFrame::setHtml() not setting the new contents immediately.
36197
36198 Added a setter to the DocumentLoader to toggle the deferred loading of the main
36199 resource when it comes from substitute data.
36200
36201 Disable deferred loading of the main resource when we have valid substitute data,
36202 as used by QWebFrame::setHtml.
36203
36204 * loader/DocumentLoader.h:
36205
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000362062008-08-13 Mark Rowe <mrowe@apple.com>
36207
36208 Speculative GTK build fix.
36209
36210 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
36211
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000362122008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
36213
36214 Reviewed by Simon.
36215
36216 Fix encoding of [ and ] in the host part of the URL
36217
36218 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
36219 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
36220 doesn't encode [ and ] when they are found in the host part. That is, the
36221 following URL:
36222 http://[::1]/
36223 is valid and should not be reencoded to:
36224 http://%5b::1%5d/
36225
36226 * platform/qt/KURLQt.cpp:
36227 (WebCore::KURL::operator QUrl):
36228
mitz@apple.come198b012008-08-12 21:49:07 +0000362292008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
36230
36231 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
36232 Broken HTML object elements cause de-reference of pointer to freed memory.
36233 If we fail to load an image for an object tag and we no longer believe the object tag points at
36234 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
36235 fall back content.
36236
36237 Reviewed by Dave Hyatt and Alexey Proskuryakov.
36238
36239 Test: http/tests/misc/object-image-error-with-onload.html
36240
36241 * html/HTMLObjectElement.cpp:
36242 (WebCore::HTMLObjectElement::renderFallbackContent):
36243 * page/Frame.cpp:
36244 (WebCore::Frame::Frame):
36245
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000362462008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
36247
36248 Reviewed by Dave.
36249
36250 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
36251 Masks are translated, and the mask images are swapped on the y-axis.
36252
36253 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
36254 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
36255
36256 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
36257 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
36258
36259 * svg/graphics/cg/SVGResourceMaskerCg.mm:
36260 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
36261
mitz@apple.comf8a98692008-08-12 17:04:42 +0000362622008-08-12 Dan Bernstein <mitz@apple.com>
36263
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000036264 - WebCore part of <rdar://problem/6121636>
36265 Make fast*alloc() abort() on failure and add "try" variants that
36266 return NULL on failure.
36267
36268 Reviewed by Darin Adler.
36269
36270 * platform/Arena.cpp:
36271 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
36272 result.
36273 * platform/graphics/cg/ImageBufferCG.cpp:
36274 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
36275
362762008-08-12 Dan Bernstein <mitz@apple.com>
36277
mitz@apple.com1e09cd72008-08-12 18:27:58 +000036278 Reviewed by Darin Adler.
36279
36280 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
36281 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
36282
36283 Test: fast/frames/frameset-style-recalc.html
36284
36285 * html/HTMLFrameSetElement.cpp:
36286 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
36287 class implementation after marking for layout.
36288
362892008-08-12 Dan Bernstein <mitz@apple.com>
36290
mitz@apple.comf8a98692008-08-12 17:04:42 +000036291 Reviewed by John Sullivan.
36292
36293 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
36294
36295 * WebCore.base.exp:
36296 * page/FrameView.cpp:
36297 (WebCore::FrameViewPrivate::FrameViewPrivate):
36298 (WebCore::FrameView::shouldUpdateWhileHidden):
36299 (WebCore::FrameView::setShouldUpdateWhileHidden):
36300 * page/FrameView.h:
36301 * page/Settings.cpp:
36302 * page/Settings.h:
36303
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000363042008-08-12 Adam Roben <aroben@apple.com>
36305
36306 Windows build fix
36307
36308 * bindings/js/JSSVGPODTypeWrapper.h: Align
36309 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
36310 members on 16-byte boundaries to avoid an alignment warning.
36311
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000363122008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
36313
36314 Reviewed by Oliver.
36315
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000036316 Add new dynamice-update layout tests covering SVGMarkerElement.
36317 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
36318 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
36319
36320 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
36321 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
36322 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
36323 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
36324 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
36325 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
36326 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
36327 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
36328 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
36329 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
36330 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
36331 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
36332 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
36333 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
36334 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
36335
36336 * svg/SVGMarkerElement.cpp:
36337 (WebCore::SVGMarkerElement::SVGMarkerElement):
36338 (WebCore::SVGMarkerElement::parseMappedAttribute):
36339 (WebCore::SVGMarkerElement::svgAttributeChanged):
36340 (WebCore::SVGMarkerElement::childrenChanged):
36341 (WebCore::SVGMarkerElement::setOrientToAuto):
36342 (WebCore::SVGMarkerElement::setOrientToAngle):
36343 (WebCore::SVGMarkerElement::canvasResource):
36344
363452008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
36346
36347 Reviewed by Oliver.
36348
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000036349 Add new dynamic-update layout tests covering SVGImageElement.
36350 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
36351
36352 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
36353 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
36354 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
36355 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
36356 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
36357 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
36358 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
36359 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
36360 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
36361 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
36362
36363 * svg/SVGImageElement.cpp:
36364 (WebCore::SVGImageElement::svgAttributeChanged):
36365
timothy@apple.com93114722008-08-12 04:20:25 +0000363662008-08-11 Anthony Ricaud <rik24d@gmail.com>
36367
timothy@apple.com2f2cde32008-08-12 04:28:16 +000036368 Changed Option/Alt-Up or Down in CSS editing when the value is
36369 near zero to jump to the next integer.
36370
36371 Reviewed by Tim Hatcher.
36372
36373 https://bugs.webkit.org/show_bug.cgi?id=20326
36374
36375 * page/inspector/StylesSidebarPane.js:
36376
363772008-08-11 Anthony Ricaud <rik24d@gmail.com>
36378
timothy@apple.com93114722008-08-12 04:20:25 +000036379 Changed the line highlight transition for an easier animation.
36380
36381 Reviewed by Tim Hatcher.
36382
36383 * page/inspector/SourceFrame.js:
36384
timothy@apple.com24a14852008-08-12 03:57:39 +0000363852008-08-11 Keishi Hattori <casey.hattori@gmail.com>
36386
36387 Added support for some Firebug Command Line APIs.
36388
36389 Reviewed by Tim Hatcher.
36390
36391 https://bugs.webkit.org/show_bug.cgi?id=19867
36392 https://bugs.webkit.org/show_bug.cgi?id=19868
36393 https://bugs.webkit.org/show_bug.cgi?id=19869
36394 https://bugs.webkit.org/show_bug.cgi?id=19875
36395 https://bugs.webkit.org/show_bug.cgi?id=19876
36396 https://bugs.webkit.org/show_bug.cgi?id=19880
36397
36398 * page/inspector/Console.js:
36399 (WebInspector.Console.prototype._evalInInspectedWindow):
36400 Create an object on the inspected window that holds the console
36401 command line API functions. This object is used in a with statement
36402 around the typed expression.
36403
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000364042008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
36405
36406 Reviewed by Antti.
36407
36408 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
36409
36410 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
36411 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
36412
36413 Added tests: svg/custom/svg-modify-currentTranslate.html
36414 svg/custom/tearoffs-with-tearoffs.html
36415 svg/custom/immutable-properties.html
36416
36417 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
36418
36419 * bindings/js/JSSVGPODTypeWrapper.h:
36420 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
36421 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
36422 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
36423 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
36424 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
36425 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
36426 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
36427 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
36428 * bindings/scripts/CodeGenerator.pm:
36429 * bindings/scripts/CodeGeneratorJS.pm:
36430 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
36431 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
36432
beidson@apple.com0e772f72008-08-12 00:34:46 +0000364332008-08-11 Brady Eidson <beidson@apple.com>
36434
36435 Reviewed by John and Anders
36436
36437 Fix for <rdar://problem/6141797>
36438
36439 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
36440 would never have nil data.
36441
36442 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
36443 semantics with some WebKit applications.
36444
36445 The guarantee was a good one and should be restored.
36446
36447 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
36448 creates an empty data object in the case of null data for its own purposes.
36449
36450 * loader/SubstituteResource.h:
36451 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
36452 well help any future subclassers not make this mistake.
36453
36454 * loader/archive/ArchiveResource.cpp:
36455 (WebCore::ArchiveResource::create): Return 0 if the data is null.
36456
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000364572008-08-11 Simon Fraser <simon.fraser@apple.com>
36458
36459 Reviewed by Dave Hyatt
36460
36461 https://bugs.webkit.org/show_bug.cgi?id=20328
36462 Fix a problem when an 'all' transition transition with more than
36463 one property changing is interrupted, and did some AnimationController
36464 cleanup.
36465
36466 Test: transitions/interrupted-all-transition.html
36467
36468 * page/AnimationController.cpp:
36469 (WebCore::ImplicitAnimation::ImplicitAnimation):
36470 (WebCore::AnimationControllerPrivate::blendProperties):
36471 (WebCore::CompositeAnimation::updateTransitions):
36472 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
36473 (WebCore::CompositeAnimation::setTransitionStartTime):
36474 (WebCore::CompositeAnimation::overrideImplicitAnimations):
36475 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
36476 (WebCore::ImplicitAnimation::animate):
36477 (WebCore::ImplicitAnimation::onAnimationEnd):
36478 (WebCore::ImplicitAnimation::sendTransitionEvent):
36479 (WebCore::ImplicitAnimation::affectsProperty):
36480 (WebCore::KeyframeAnimation::endAnimation):
36481 (WebCore::KeyframeAnimation::onAnimationEnd):
36482
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000364832008-08-11 Kevin McCullough <kmccullough@apple.com>
36484
36485 Reviewed by Tim.
36486
36487 - Because console messages have group levels now, newly created messages
36488 that do not specify the level lose their message since the number of
36489 arguments is wrong.
36490
36491 * page/inspector/Console.js:
36492 * page/inspector/Resource.js:
36493
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000364942008-08-11 Alp Toker <alp@nuanti.com>
36495
36496 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
36497 the opportunity to sort the sources lists.
36498
36499 * GNUmakefile.am:
36500
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000365012008-08-11 Timothy Hatcher <timothy@apple.com>
36502
36503 Speed up the the JavaScript syntax highlighter by generating
36504 the finders only once per script instead of per line.
36505
36506 https://bugs.webkit.org/show_bug.cgi?id=20346
36507
36508 Reviewed by Adam Roben.
36509
36510 * page/inspector/SourceFrame.js:
36511 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
36512 Removed, factored into syntaxHighlightJavascript as an inline function.
36513 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
36514 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
36515 Generate the finders before iterating the lines.
36516
aroben@apple.com957d2d32008-08-11 18:31:37 +0000365172008-08-11 Adam Roben <aroben@apple.com>
36518
36519 Windows build fix
36520
36521 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
36522 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
36523 too.
36524
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000365252008-08-11 Dan Bernstein <mitz@apple.com>
36526
36527 Reviewed by Darin Adler.
36528
36529 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
36530
36531 Test: fast/css/counters/invalidate-cached-counter-node.html
36532
36533 * rendering/RenderContainer.cpp:
36534 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
36535 RenderCounters in :before and :after content.
36536 * rendering/RenderContainer.h:
36537 * rendering/RenderCounter.cpp:
36538 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
36539 to match the RenderObject method.
36540 (WebCore::RenderCounter::invalidate): Added. Resets the cached
36541 CounterNode and invalidates the object's layout and preferred widths.
36542 (WebCore::destroyCounterNodeChildren): Added a call to
36543 invalidateCounters().
36544 * rendering/RenderCounter.h:
36545 * rendering/RenderObject.h:
36546 (WebCore::RenderObject::invalidateCounters):
36547
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000365482008-08-11 Dean Jackson <dino@apple.com>
36549
36550 Implement CSS Animation and Transition Events
36551 https://bugs.webkit.org/show_bug.cgi?id=20337
36552
36553 Implement the events defined in the CSS Animations
36554 and Transitions specifications so code can react
36555 to animations and transitions.
36556
36557 Reviewed by Tim Hatcher and Dave Hyatt.
36558
36559 * DerivedSources.make:
36560 * GNUmakefile.am:
36561 * WebCore.pro:
36562 * WebCore.vcproj/WebCore.vcproj:
36563 * WebCore.xcodeproj/project.pbxproj:
36564 * WebCoreSources.bkl:
36565 Build configs for new files
36566
36567 * bindings/js/JSDOMWindowBase.cpp:
36568 * bindings/js/JSDOMWindowBase.h:
36569 * bindings/js/JSEventCustom.cpp:
36570 * dom/Document.h:
36571 * dom/Event.cpp:
36572 * dom/Event.h:
36573 * dom/EventTarget.cpp:
36574 * dom/EventTargetNode.cpp:
36575 * dom/EventTargetNode.h:
36576 * html/HTMLElement.cpp:
36577 * page/AnimationController.cpp:
36578 do all the new event stuff
36579
36580 * html/HTMLAttributeNames.in:
36581 the onwebkitanimation* and onwebkittransitionend attrs
36582
36583 * dom/WebKitAnimationEvent.cpp: Added.
36584 * dom/WebKitAnimationEvent.h: Added.
36585 * dom/WebKitAnimationEvent.idl: Added.
36586 * dom/WebKitTransitionEvent.cpp: Added.
36587 * dom/WebKitTransitionEvent.h: Added.
36588 * dom/WebKitTransitionEvent.idl: Added.
36589 New files for the events
36590
36591 * manual-tests/transition-events.html: Added.
36592 New testfile
36593
aroben@apple.com3eae8622008-08-11 17:21:23 +0000365942008-08-11 Adam Roben <aroben@apple.com>
36595
36596 Add a ForwardingHeader for wtf/NotFound.h
36597
36598 Rubberstamped by Darin Adler.
36599
36600 * ForwardingHeaders/wtf/NotFound.h: Added.
36601
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000366022008-08-11 Timothy Hatcher <timothy@apple.com>
36603
36604 Fixes a bug where error bubbles in JavaScript resources would
36605 be clobbered by the syntax highlighter.
36606
36607 https://bugs.webkit.org/show_bug.cgi?id=20345
36608
36609 Reviewed by Adam Roben.
36610
36611 * manual-tests/inspector/resources/script-error.js: Added.
36612 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
36613 * page/inspector/SourceFrame.js:
36614 (WebInspector.SourceFrame.prototype._addMessageToSource):
36615 Check the nodeType and not the nodeName, this is less fragile.
36616 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
36617 Check if the lastChild is an error bubble, if so remove it before
36618 getting the line's textContent. Add the error bubble back at the end.
36619
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000036620== Rolled over to ChangeLog-2008-08-10 ==