24bd291cb676e7b893054e97a8be442afed0320d
[WebKit.git] / WebCore / ChangeLog
1 2009-08-19  Mike Fenton  <mike.fenton@torchmobile.com>
2
3         Reviewed by Eric Seidel.
4
5         Update GraphicsContextSkia's version of drawLine to make use of the shared
6         adjustLineToPixelBoundaries function and elimination overlapping code.
7
8         https://bugs.webkit.org/show_bug.cgi?id=28268
9
10         * platform/graphics/skia/GraphicsContextSkia.cpp:
11         (WebCore::GraphicsContext::drawLine):
12
13 2009-08-18  Mike Fenton  <mike.fenton@torchmobile.com>
14
15         Reviewed by Eric Seidel.
16
17         Style fixes based on cpp_style.py and WebKit Style guide for
18         GraphicsContextSkia.cpp
19
20         https://bugs.webkit.org/show_bug.cgi?id=28268
21
22         * platform/graphics/skia/GraphicsContextSkia.cpp:
23         (WebCore::GraphicsContext::addInnerRoundedRectClip):
24         (WebCore::GraphicsContext::drawFocusRing):
25         (WebCore::GraphicsContext::roundToDevicePixels):
26         (WebCore::GraphicsContext::setLineDash):
27         (WebCore::GraphicsContext::setPlatformShadow):
28
29 2009-08-18  Alexey Proskuryakov  <ap@webkit.org>
30
31         Reviewed by Maciej Stachowiak.
32
33         https://bugs.webkit.org/show_bug.cgi?id=28446
34         Custom request headers shouldn't be sent with cross-origin preflight request
35
36         Tests: http/tests/xmlhttprequest/access-control-preflight-headers-async.html
37                http/tests/xmlhttprequest/access-control-preflight-headers-sync.html
38
39         * loader/DocumentThreadableLoader.cpp:
40         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
41         Don't copy headers to OPTIONS request. The spec is vague about this, but the intention was
42         that they shouldn't be sent, and Firefox doesn't send them.
43
44 2009-08-18  John Gregg  <johnnyg@google.com>
45
46         Reviewed by Dimitri Glazkov.
47
48         V8 Bindings for Desktop Notifications feature.
49         https://bugs.webkit.org/show_bug.cgi?id=28271
50
51         * WebCore.gypi: 
52         added notification files to build (all still behind a flag that's not on)
53         * bindings/scripts/CodeGeneratorV8.pm:
54         added special case in DOMWindow/AppCache style for named event handlers
55         * bindings/v8/DOMObjectsInclude.h:
56         * bindings/v8/DerivedSourcesAllInOne.cpp:
57         * bindings/v8/V8DOMWrapper.cpp:
58         (WebCore::V8DOMWrapper::getTemplate):
59         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
60         * bindings/v8/V8Index.cpp:
61         * bindings/v8/V8Index.h:
62         * bindings/v8/V8Proxy.h:
63         * bindings/v8/WorkerContextExecutionProxy.cpp:
64         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
65         * bindings/v8/custom/V8CustomBinding.h:
66         * bindings/v8/custom/V8NotificationCenterCustom.cpp: Added.
67         * notifications/Notification.h:
68         made event handler routines public (as they are in DOMWindow, eg) for
69         binding access.
70         * notifications/NotificationCenter.idl:
71         needed to make methods V8Custom to support different behaviors in 
72         worker/page context in chromium. 
73         * workers/WorkerThread.h:
74         (WebCore::WorkerThread::getNotificationPresenter):
75         (WebCore::WorkerThread::setNotificationPresenter):
76         needed to make these methods public as well so chromium can inject
77         the notification presenter into the worker thread.
78
79 2009-08-13  Maciej Stachowiak  <mjs@apple.com>
80
81         Reviewed by Sam Weinig.
82
83         - Implement HTML5 nav element
84         https://bugs.webkit.org/show_bug.cgi?id=27937
85
86         <nav> should behave essentially the same as <div> for parsing
87         etc. This is implemented by the changes below.
88         
89         Tests: fast/html/nav-element.html
90
91         * css/html.css:
92         * editing/htmlediting.cpp:
93         (WebCore::validBlockTag):
94         * html/HTMLElement.cpp:
95         (WebCore::HTMLElement::tagPriority):
96         (WebCore::blockTagList):
97         * html/HTMLParser.cpp:
98         (WebCore::HTMLParser::getNode):
99         * html/HTMLTagNames.in:
100
101 2009-08-18  Anders Carlsson  <andersca@apple.com>
102
103         Reviewed by Adele Peterson, David Hyatt and Dan Bernstein.
104
105         - Fix <rdar://problem/7152727>
106
107         If a page has custom scroll bars, they will not update correctly when the window is activated/deactivated.
108         
109         * page/FrameView.cpp:
110         (WebCore::FrameView::hasCustomScrollbars):
111         Check if the frame view or any of its subviews have custom scroll bars.
112         
113         (WebCore::FrameView::updateControlTints):
114         Go ahead and update control tints if the frame view has custom scroll bars.
115         
116         * page/FrameView.h:
117
118 2009-08-18  Mark Rowe  <mrowe@apple.com>
119
120         Roll out r47477 as it introduced assertion failures and crashes on the build bots.
121
122         * GNUmakefile.am:
123         * WebCore.gypi:
124         * WebCore.pro:
125         * WebCore.vcproj/WebCore.vcproj:
126         * WebCore.xcodeproj/project.pbxproj:
127         * WebCoreSources.bkl:
128         * storage/Database.cpp:
129         * storage/Database.h:
130         * storage/DatabaseThread.cpp:
131         (WebCore::DatabaseThread::DatabaseThread):
132         * storage/DatabaseThread.h:
133         * storage/SQLTransaction.cpp:
134         (WebCore::SQLTransaction::runCurrentStatement):
135         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
136         (WebCore::SQLTransaction::postflightAndCommit):
137         * storage/SQLTransactionClient.cpp: Removed.
138         * storage/SQLTransactionClient.h: Removed.
139
140 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
141
142         Reviewed by Eric Seidel.
143
144         [Haiku] Adding the SharedTimer file for WebCore.
145         https://bugs.webkit.org/show_bug.cgi?id=28126
146
147         * platform/haiku/SharedTimerHaiku.cpp: Added.
148         (WebCore::):
149         (WebCore::SharedTimerHaiku::SharedTimerHaiku):
150         (WebCore::SharedTimerHaiku::~SharedTimerHaiku):
151         (WebCore::SharedTimerHaiku::instance):
152         (WebCore::SharedTimerHaiku::start):
153         (WebCore::SharedTimerHaiku::stop):
154         (WebCore::SharedTimerHaiku::Filter):
155         (WebCore::setSharedTimerFiredFunction):
156         (WebCore::setSharedTimerFireTime):
157         (WebCore::stopSharedTimer):
158
159 2009-08-18  Mark Rowe  <mrowe@apple.com>
160
161         Release build fix.
162
163         * xml/XMLHttpRequest.cpp: Sprinkle some #ifndef NDEBUG around.
164         (WebCore::XMLHttpRequest::XMLHttpRequest):
165         (WebCore::XMLHttpRequest::~XMLHttpRequest):
166
167 2009-08-18  Aaron Boodman  <aa@chromium.org>
168
169         Reviewed by Maciej Stachowiak.
170
171         https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.
172
173         No new tests: Already covered by existing tests.
174
175         * xml/XMLHttpRequest.cpp:
176         (WebCore::XMLHttpRequest::XMLHttpRequest): Add instrumentation for this kind of leak.
177         (WebCore::XMLHttpRequest::~XMLHttpRequest): Ditto.
178         (WebCore::XMLHttpRequest::createRequest): Only setPendingActivity() if we actually started a request. Also,
179         restore a call to nonCacheRequestInFlight() that got lost in a recent refactor.
180
181 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
182
183         Reviewed by Dimitri Glazkov.
184
185         Added a client to SQLTransaction. In addition to being a place to
186         get notifications about certain events in a transaction, it is
187         also an abstraction layer that allows us to plug in different
188         implementations for each port for how transactions interract with
189         the main DB. For example, WebCore's default implementation will
190         make direct calls to DatabaseTracker's methods. At the same time,
191         Chromium's implementation will send IPCs to the browser process
192         whenever a transaction needs something from the main DB.
193
194         All storage tests pass.
195
196         https://bugs.webkit.org/show_bug.cgi?id=27967
197
198         * GNUmakefile.am:
199         * WebCore.gypi:
200         * WebCore.pro:
201         * WebCore.vcproj/WebCore.vcproj:
202         * WebCore.xcodeproj/project.pbxproj:
203         * WebCoreSources.bkl:
204         * storage/Database.cpp:
205         (WebCore::Database::transactionClient):
206         * storage/Database.h:
207         * storage/DatabaseThread.cpp:
208         (WebCore::DatabaseThread::DatabaseThread):
209         * storage/DatabaseThread.h:
210         (WebCore::DatabaseThread::transactionClient):
211         * storage/SQLTransaction.cpp:
212         (WebCore::SQLTransaction::runCurrentStatement):
213         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
214         (WebCore::SQLTransaction::postflightAndCommit):
215         * storage/SQLTransactionClient.cpp: Added.
216         * storage/SQLTransactionClient.h: Added.
217
218 2009-08-18  Julie Parent  <jparent@chromium.org>
219
220         Not reviewed, build fix for Chromium.
221
222         Final change for v8 corresponding to http://trac.webkit.org/changeset/47469.
223
224         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added missing using statment
225
226 2009-08-18  Julie Parent  <jparent@chromium.org>
227
228         Not reviewed, build fix for Chromium.
229
230        More corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
231
232         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
233         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
234
235 2009-08-18  Julie Parent  <jparent@chromium.org>
236
237         Not reviewed, build fix for Chromium.
238
239         Make corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
240
241         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
242         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
243
244 2009-08-18  Dan Bernstein  <mitz@apple.com>
245
246         Build fix.
247
248         * editing/ApplyStyleCommand.cpp:
249         (WebCore::getIdentifierValue):
250
251 2009-08-18  Darin Adler  <darin@apple.com>
252
253         Reviewed by Sam Weinig.
254
255         More work on making DOM classes start with reference count of 1
256         https://bugs.webkit.org/show_bug.cgi?id=28068
257
258         Some related clean-up and preparation steps so the subsequent
259         patches will be as small as possible.
260
261         * WebCore.base.exp: Sorted this file.
262
263         * accessibility/AccessibilityRenderObject.cpp:
264         (WebCore::AccessibilityRenderObject::accessibilityDescription):
265         Use nameAttr instead of the name function.
266
267         * bindings/js/JSHTMLFrameElementCustom.cpp:
268         (WebCore::JSHTMLFrameElement::setSrc):
269         Use srcAttr instead of the src function.
270
271         * bindings/js/JSHTMLIFrameElementCustom.cpp:
272         (WebCore::JSHTMLIFrameElement::setSrc):
273         Use srcAttr instead of the src function.
274
275         * bindings/objc/DOM.mm: Sorted includes.
276         * dom/Document.cpp: Ditto.
277
278         * dom/StyledElement.cpp: Made invalidateStyleAttribute inline.
279         * dom/StyledElement.h: Ditto.
280
281         * dom/make_names.pl: Changed default of createWithNew to 0.
282         Eventually all elements will be created with create instead of new.
283
284         * html/HTMLTagNames.in:
285         * svg/svgtags.in:
286         * wml/WMLTagNames.in:
287         Added createWithNew for every tag. We'll remove it as we convert
288         element classes to use create.
289
290         * html/HTMLAppletElement.h: Removed unneeded forward declarations.
291         * html/HTMLFrameElement.h: Ditto.
292
293         * html/HTMLEmbedElement.cpp: Removed many attribute get and
294         set functions.
295         * html/HTMLEmbedElement.h: Ditto.
296         * html/HTMLIFrameElement.cpp: Ditto.
297         * html/HTMLIFrameElement.h: Ditto.
298         * html/HTMLObjectElement.cpp: Ditto.
299         * html/HTMLObjectElement.h: Ditto.
300         * html/HTMLPlugInElement.cpp: Ditto.
301         * html/HTMLPlugInElement.h: Ditto.
302
303         * html/HTMLFrameElementBase.cpp: Removed many attribute get and
304         set functions.
305         (WebCore::HTMLFrameElementBase::location): Changed to use
306         srcAttr instead of src.
307         * html/HTMLFrameElementBase.h: Removed many attribute get and set
308         functions.
309
310         * loader/MediaDocument.cpp:
311         (WebCore::MediaDocument::replaceMediaElementTimerFired):
312         Use srcAttr and typeAttr instead of setSrc and setType.
313         * loader/PluginDocument.cpp:
314         (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
315
316         * rendering/RenderPartObject.cpp:
317         (WebCore::RenderPartObject::updateWidget): Use nameAttr instead
318         of name -- this avoids an extra AtomicString round trip and a little
319         ref count churn too.
320
321 2009-08-18  Drew Wilson  <atwilson@google.com>
322
323         Reviewed by David Levin.
324
325         SharedWorkers need to support loading.
326         https://bugs.webkit.org/show_bug.cgi?id=28342
327
328         Added loader support to shared workers, and refactored worker tests to also test SharedWorkers
329
330         * workers/DefaultSharedWorkerRepository.cpp:
331         (WebCore::SharedWorkerProxy::postTaskToLoader):
332         Forwards load requests to an arbitrary document from the list of worker's documents.
333         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
334         Posts responses back to the shared worker thread.
335
336 2009-08-18  Ryosuke Niwa  <rniwa@webkit.org>
337
338         Reviewed by Darin Adler.
339
340         StyleChange::init needs clean up before fixing the bug 23892
341         https://bugs.webkit.org/show_bug.cgi?id=27749
342
343         This patch simplifies StyleChange::init by removing the iteration on CSS properties,
344         and adding functions reconcileTextDecorationProperties and extractTextStyle to handle the style.
345
346         Because there is a bug in how text decorations are processes in getPropertiesNotInComputedStyle,
347         this patch simplifies the treatment in order to preserve the original behavior of WebKit.
348         However, the current implementation is not best (adds redundant text-decorations) and we should fix it later.
349
350         No test is added since there is no change in behavior.
351
352         * editing/ApplyStyleCommand.cpp:
353         (WebCore::StyleChange::init): Uses getPropertiesNotInComputedStyle instead of iterating through the properties
354         (WebCore::StyleChange::reconcileTextDecorationProperties): Removes -webkit-text-decorations-in-effects and redundant "none"
355         (WebCore::getIdentifierValue): Obtains the identifier of a CSSPrimitiveValue
356         (WebCore::StyleChange::extractTextStyles): Converts properties in style to m_apply* and removes the property
357         (WebCore::getPropertiesNotInComputedStyle): Fixed a bug with how text decorations are treated
358
359 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
360
361         Reviewed by Dimitri Glazkov.
362
363         Fixing a DB file naming bug in Chromium. The origin should come
364         before the DB name in the file name.
365
366         https://bugs.webkit.org/show_bug.cgi?id=28331
367
368         * storage/DatabaseTracker.cpp:
369         (WebCore::DatabaseTracker::fullPathForDatabase):
370
371 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
372
373         Reviewed by Eric Seidel.
374
375         [Haiku] Adding four image-specific files to WebCore:
376         IconHaiku.cpp, ImageBufferData.h, ImageBufferHaiku.cpp, ImageHaiku.cpp
377         https://bugs.webkit.org/show_bug.cgi?id=28130
378
379         * platform/graphics/Icon.h:
380         * platform/graphics/haiku/IconHaiku.cpp: Added.
381         (WebCore::Icon::~Icon):
382         (WebCore::Icon::createIconForFile):
383         (WebCore::Icon::createIconForFiles):
384         (WebCore::Icon::paint):
385         * platform/graphics/haiku/ImageBufferData.h: Added.
386         * platform/graphics/haiku/ImageBufferHaiku.cpp: Added.
387         (WebCore::ImageBufferData::ImageBufferData):
388         (WebCore::ImageBuffer::ImageBuffer):
389         (WebCore::ImageBuffer::~ImageBuffer):
390         (WebCore::ImageBuffer::context):
391         (WebCore::ImageBuffer::getUnmultipliedImageData):
392         (WebCore::ImageBuffer::getPremultipliedImageData):
393         (WebCore::ImageBuffer::putUnmultipliedImageData):
394         (WebCore::ImageBuffer::putPremultipliedImageData):
395         (WebCore::ImageBuffer::toDataURL):
396         (WebCore::ImageBuffer::image):
397         (WebCore::ImageBuffer::platformTransformColorSpace):
398         * platform/graphics/haiku/ImageHaiku.cpp: Added.
399         (WebCore::FrameData::clear):
400         (WebCore::Image::loadPlatformResource):
401         (WebCore::BitmapImage::initPlatformData):
402         (WebCore::BitmapImage::invalidatePlatformData):
403         (WebCore::BitmapImage::draw):
404         (WebCore::Image::drawPattern):
405         (WebCore::BitmapImage::checkForSolidColor):
406         (WebCore::BitmapImage::getBBitmap):
407
408 2009-08-18  Beth Dakin  <bdakin@apple.com>
409
410         Reviewed by Dan Bernstein.
411
412         Fix for https://bugs.webkit.org/show_bug.cgi?id=27575 [CSS3 
413         Backgrounds and Borders] Drop the prefix from background-size
414
415         * css/CSSComputedStyleDeclaration.cpp:
416         (WebCore::):
417         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
418         * css/CSSParser.cpp:
419         (WebCore::CSSParser::parseValue):
420         (WebCore::CSSParser::parseFillProperty):
421         (WebCore::cssPropertyID):
422         * css/CSSPropertyNames.in:
423         * css/CSSStyleSelector.cpp:
424         (WebCore::CSSStyleSelector::applyProperty):
425         * page/animation/AnimationBase.cpp:
426         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
427         (WebCore::ensurePropertyMap):
428
429 2009-08-18  Drew Wilson  <atwilson@google.com>
430
431         Reviewed by David Levin.
432
433         SharedWorkers need to forward exceptions to parent documents
434         https://bugs.webkit.org/show_bug.cgi?id=28320
435
436         Changed SharedWorkerProxy to have individual mutexes (so workers can interact with their parent documents without contention).
437
438         Updated SharedWorkerProxy to forward exceptions/console messages to all parent documents.
439
440         * bindings/js/JSSharedWorkerConstructor.cpp:
441         Cleaned up bitrot - added missing include.
442         * workers/DefaultSharedWorkerRepository.cpp:
443         (WebCore::postExceptionTask):
444         Callback used to deliver exceptions to a document.
445         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
446         Forwards exceptions to all parent documents for presentation to the user.
447         (WebCore::postConsoleMessageTask):
448         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
449         Forwards console messages to all parent documents for presentation to the user.
450         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
451         Grabs the mutex before accessing workerDocuments.
452         (WebCore::SharedWorkerProxy::documentDetached):
453         Grabs the mutex before accessing workerDocuments.
454
455 2009-08-18  Anders Carlsson  <andersca@apple.com>
456
457         Reviewed by Adele Peterson.
458
459         <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
460         
461         * html/HTMLMediaElement.cpp:
462         (WebCore::HTMLMediaElement::isSafeToLoadURL):
463         Call FrameLoaderClient::shouldLoadMediaElementURL.
464         
465         * loader/FrameLoaderClient.h:
466         (WebCore::FrameLoaderClient::shouldLoadMediaElementURL):
467         Return true by default.
468
469 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
470
471         Reviewed by Dimitri Glazkov.
472
473         openDatabase() should not execute any SQL statement on the
474         database it's trying to open, unless there are no other open
475         handles to the same database. Otherwise, we might run into a
476         deadlock.
477
478         Test: storage/open-database-while-transaction-in-progress.html
479
480         https://bugs.webkit.org/show_bug.cgi?id=28207
481
482         * storage/Database.cpp:
483         (WebCore::Database::performOpenAndVerify):
484
485 2009-08-18  Dirk Schulze  <krit@webkit.org>
486
487         Reviewed by Oliver Hunt.
488
489         SVG Filter feBlend implementation missing
490         [https://bugs.webkit.org/show_bug.cgi?id=28133]
491
492         Implementation of SVG Filter feBlend.
493
494         FilterEffect.cp needed changes to optimize the rendering. With the old code
495         we drew a subEffect on the current FilterEffect by drawImage, got the PixelArray,
496         cleared the drawing area, drew the next FilterEffect with drawImage and picked this
497         PixelArray again. This was unefficient and slow. Now we calculate the requested area
498         of the subEffect and ask the FilterEffect's ImageBuffer for the PixelArray directly,
499         without any drawing operations on GraphicsContext.
500
501         There is already a test case
502         Test: svg/W3C-SVG-1.1/filters-blend-01-b.svg
503
504         * html/canvas/CanvasPixelArray.h:
505         (WebCore::CanvasPixelArray::set):
506         (WebCore::CanvasPixelArray::get):
507         * platform/graphics/filters/FEBlend.cpp:
508         (WebCore::unknown):
509         (WebCore::normal):
510         (WebCore::multiply):
511         (WebCore::screen):
512         (WebCore::darken):
513         (WebCore::lighten):
514         (WebCore::FEBlend::apply):
515         * platform/graphics/filters/FEBlend.h:
516         * platform/graphics/filters/FilterEffect.cpp:
517         (WebCore::FilterEffect::calculateDrawingIntRect):
518         * platform/graphics/filters/FilterEffect.h:
519
520 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
521
522         Reviewed by Timothy Hatcher.
523
524         WebInspector: Fix array formatter followup: node formatter.
525
526         https://bugs.webkit.org/show_bug.cgi?id=28427
527
528         * inspector/front-end/ConsoleView.js:
529         (WebInspector.ConsoleView.prototype._format):
530
531 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
532
533         Reviewed by Timothy Hatcher.
534
535         WebInspector: Metrics sidebar broken
536
537         https://bugs.webkit.org/show_bug.cgi?id=28434
538
539         * inspector/front-end/MetricsSidebarPane.js:
540
541 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
542
543         Reviewed by Darin Adler.
544
545         https://bugs.webkit.org/show_bug.cgi?id=28432
546         String::createCFString() returns a non-retained empty string
547
548         No known change in functionality, so no test.
549
550         * platform/text/cf/StringCF.cpp: (WebCore::String::createCFString): Retain the CFSTR result.
551
552 2009-08-18  Brian Weinstein  <bweinstein@apple.com>
553
554         Reviewed by Oliver Hunt.
555
556         Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support 
557         LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
558         
559         Removed an early return that can cause deleteOrigin or deleteAllDatabases to fail when
560         it doesn't have to.
561
562         * storage/DatabaseTracker.cpp:
563         (WebCore::DatabaseTracker::deleteOrigin):
564
565 2009-08-18  Michelangelo De Simone  <micdesim@gmail.com>
566
567         Reviewed by Adele Peterson.
568
569         https://bugs.webkit.org/show_bug.cgi?id=27357
570         Support for :valid and :invalid CSS selectors, from HTML5 specs.
571         http://www.whatwg.org/specs/web-apps/current-work/#selector-valid
572
573         Tests: fast/css/pseudo-invalid-001.html
574                fast/css/pseudo-invalid-002.html
575                fast/css/pseudo-valid-001.html
576                fast/css/pseudo-valid-002.html
577                fast/css/pseudo-valid-003.html
578                fast/css/pseudo-valid-004.html
579                fast/css/pseudo-valid-005.html
580                fast/css/pseudo-valid-006.html
581                fast/css/pseudo-valid-007.html
582
583         * css/CSSSelector.cpp:
584         (WebCore::CSSSelector::extractPseudoType): extracts new pseudo-classes
585         * css/CSSSelector.h:
586         (WebCore::CSSSelector::):
587         * css/CSSStyleSelector.cpp:
588         (WebCore::CSSStyleSelector::canShareStyleWithElement): Make sure we don't share style between
589 form controls that have different validity states.
590         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
591         style associated to new pseudo-classes
592         * dom/Element.h:
593         (WebCore::Element::willValidate): pushed up in hierarchy
594         (WebCore::Element::isValidFormControlElement): checks for valid form
595         control elements (wraps ValidityState::valid())
596         * html/HTMLFormControlElement.cpp:
597         (WebCore::HTMLFormControlElement::willValidate): minor clean up
598         (WebCore::HTMLFormControlElement::isValidFormControlElement): ditto
599         * html/HTMLFormControlElement.h:
600         * html/HTMLKeygenElement.h:
601         (WebCore::HTMLKeygenElement::willValidate): added
602         * html/HTMLObjectElement.h:
603         (WebCore::HTMLObjectElement::willValidate): added
604         * html/HTMLObjectElement.idl:
605
606 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
607
608         Reviewed by Timothy Hatcher.
609
610         WebInspector: Fix array formatter.
611
612         https://bugs.webkit.org/show_bug.cgi?id=28427
613
614         * inspector/front-end/ConsoleView.js:
615         (WebInspector.ConsoleView.prototype._formatarray):
616
617 2009-08-17  Joe Mason  <joe.mason@torchmobile.com>
618
619         Reviewed by George Staikos
620
621         Replace repeated string of PLATFORM(FOO) with a single define
622         https://bugs.webkit.org/show_bug.cgi?id=27734
623
624         * loader/CachedFont.cpp:
625         (WebCore::CachedFont::~CachedFont):
626         (WebCore::CachedFont::ensureCustomFontData):
627         (WebCore::CachedFont::platformDataFromCustomData):
628         (WebCore::CachedFont::allClientsRemoved):
629
630 2009-08-16  David Hyatt  <hyatt@apple.com>
631
632         Reviewed by Dan Bernstein.
633
634         https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly
635         considered part of scrollable overflow.
636
637         This patch takes the engine's concept of overflow and splits it into two types:
638         layout overflow and visual overflow.
639         
640         Layout overflow is about other boxes that spill out of an enclosing box,  For example,
641         in the inline flow case a tall image could spill out of a line box. Examples of 
642         visual overflow are shadows, text stroke (and eventually outline and
643         border-image).
644
645         Three objects tracked overflow before this patch: RenderBlock had 
646         m_overflowLeft/Top/Width/Height variables.  RootInlineBox had an Overflow*
647         that also had four overflow values.  Finally RenderReplaced elements tracked shadow/reflection
648         overflow using a map that cached four values.
649         
650         This patch takes all of these different overflow models and unifies them into a single
651         new class called RenderOverflow.   This class is now a member variable in RenderBox and
652         InlineFlowBoxes.  It is only allocated if overflow actually exists.  Instead of tracking
653         four values, it tracks eight: left/top/right/bottom for layout overflow and 
654         left/top/right/bottom for visual overflow.
655         
656         Overflow computation is now done after layout is finished rather than during layout
657         (when child objects can be churning and moving around).  A number of layout tests progressed
658         by deferring overflow computation to a separate pass.
659         
660         All inline flow boxes now track overflow (and not just the root line box).  This allows
661         repainting of line boxes to actually be tight and bail early if the overflow rect of a box
662         doesn't intersect.  The old code always visited all object on a line if the root line box
663         intersected at all.
664         
665         Line box overflow no longer propagates across self-painting layers.  This fixes a number of
666         issues with incorrect scrollbars appearing when relative positioned inlines were used in a page.
667         
668         Layer bounds have been modified to exclude visual overflow.  The width/height members only really
669         have one reason for continued existence, and that is that they happen to be used in repaint()
670         when an overflow clip object's height isn't accurate.  In this case, the bounds should exclude
671         visual overflow anyway, so this change tightens that repaint up.
672         
673         Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have
674         been changed to use these instead of relying on overflow (which was totally wrong).
675
676         Significant changes have been made to the "almost strict mode" line box quirk where objects with no
677         text children have no effect on the height of a line.  Instead of making the height() of the objects
678         variable and dependent on overflow, the objects now have their full height and get placed on
679         the baseline properly.  They simply don't contribute to overflow above lineTop/Bottom.
680         
681         Reflections are no longer considered overflow of any kind.  Because reflections have their own layers,
682         it is not necessary to treat them as visual or layout overflow in the RenderObject tree.  The end result
683         of not incorporating them into RenderOverflow is that they have no effect on scrolling.  transparencyClipBox
684         has been extended to support fully reflecting the entire clip box when a reflection exists.  This fixes
685         numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting
686         sublayers.
687
688         * WebCore.xcodeproj/project.pbxproj:
689         * dom/ContainerNode.cpp:
690         (WebCore::ContainerNode::getUpperLeftCorner):
691         * editing/visible_units.cpp:
692         (WebCore::previousLinePosition):
693         (WebCore::nextLinePosition):
694         * page/FrameView.cpp:
695         (WebCore::FrameView::adjustViewSize):
696         (WebCore::FrameView::adjustPageHeight):
697         * rendering/InlineBox.cpp:
698         (WebCore::InlineBox::height):
699         * rendering/InlineBox.h:
700         * rendering/InlineFlowBox.cpp:
701         (WebCore::InlineFlowBox::adjustPosition):
702         (WebCore::InlineFlowBox::placeBoxesHorizontally):
703         (WebCore::InlineFlowBox::placeBoxesVertically):
704         (WebCore::InlineFlowBox::computeVerticalOverflow):
705         (WebCore::InlineFlowBox::nodeAtPoint):
706         (WebCore::InlineFlowBox::paint):
707         * rendering/InlineFlowBox.h:
708         (WebCore::InlineFlowBox::InlineFlowBox):
709         (WebCore::InlineFlowBox::topCombinedOverflow):
710         (WebCore::InlineFlowBox::bottomCombinedOverflow):
711         (WebCore::InlineFlowBox::leftCombinedOverflow):
712         (WebCore::InlineFlowBox::rightCombinedOverflow):
713         (WebCore::InlineFlowBox::combinedOverflowRect):
714         (WebCore::InlineFlowBox::topLayoutOverflow):
715         (WebCore::InlineFlowBox::bottomLayoutOverflow):
716         (WebCore::InlineFlowBox::leftLayoutOverflow):
717         (WebCore::InlineFlowBox::rightLayoutOverflow):
718         (WebCore::InlineFlowBox::layoutOverflowRect):
719         (WebCore::InlineFlowBox::topVisualOverflow):
720         (WebCore::InlineFlowBox::bottomVisualOverflow):
721         (WebCore::InlineFlowBox::leftVisualOverflow):
722         (WebCore::InlineFlowBox::rightVisualOverflow):
723         (WebCore::InlineFlowBox::visualOverflowRect):
724         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
725         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
726         * rendering/InlineTextBox.cpp:
727         (WebCore::InlineTextBox::paint):
728         * rendering/RenderBlock.cpp:
729         (WebCore::RenderBlock::RenderBlock):
730         (WebCore::RenderBlock::layout):
731         (WebCore::RenderBlock::layoutBlock):
732         (WebCore::RenderBlock::addOverflowFromBlockChildren):
733         (WebCore::RenderBlock::handleBottomOfBlock):
734         (WebCore::RenderBlock::layoutBlockChildren):
735         (WebCore::RenderBlock::paint):
736         (WebCore::RenderBlock::fillInlineSelectionGaps):
737         (WebCore::RenderBlock::floatRect):
738         (WebCore::RenderBlock::lowestPosition):
739         (WebCore::RenderBlock::rightmostPosition):
740         (WebCore::RenderBlock::leftmostPosition):
741         (WebCore::RenderBlock::addOverhangingFloats):
742         (WebCore::RenderBlock::nodeAtPoint):
743         (WebCore::RenderBlock::positionForPointWithInlineChildren):
744         (WebCore::RenderBlock::layoutColumns):
745         (WebCore::getHeightForLineCount):
746         * rendering/RenderBlock.h:
747         * rendering/RenderBlockLineLayout.cpp:
748         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
749         (WebCore::RenderBlock::computeVerticalPositionsForLine):
750         (WebCore::RenderBlock::layoutInlineChildren):
751         (WebCore::RenderBlock::matchedEndLine):
752         (WebCore::RenderBlock::addOverflowFromInlineChildren):
753         * rendering/RenderBox.cpp:
754         (WebCore::RenderBox::destroy):
755         (WebCore::RenderBox::clippedOverflowRectForRepaint):
756         (WebCore::RenderBox::localCaretRect):
757         (WebCore::RenderBox::addShadowAndReflectionOverflow):
758         (WebCore::RenderBox::addOverflowFromChild):
759         (WebCore::RenderBox::addLayoutOverflow):
760         (WebCore::RenderBox::addVisualOverflow):
761         (WebCore::RenderBox::clearLayoutOverflow):
762         * rendering/RenderBox.h:
763         (WebCore::RenderBox::combinedOverflowRect):
764         (WebCore::RenderBox::topCombinedOverflow):
765         (WebCore::RenderBox::bottomCombinedOverflow):
766         (WebCore::RenderBox::leftCombinedOverflow):
767         (WebCore::RenderBox::rightCombinedOverflow):
768         (WebCore::RenderBox::layoutOverflowRect):
769         (WebCore::RenderBox::topLayoutOverflow):
770         (WebCore::RenderBox::bottomLayoutOverflow):
771         (WebCore::RenderBox::leftLayoutOverflow):
772         (WebCore::RenderBox::rightLayoutOverflow):
773         (WebCore::RenderBox::visualOverflowRect):
774         (WebCore::RenderBox::topVisualOverflow):
775         (WebCore::RenderBox::bottomVisualOverflow):
776         (WebCore::RenderBox::leftVisualOverflow):
777         (WebCore::RenderBox::rightVisualOverflow):
778         * rendering/RenderFlexibleBox.cpp:
779         (WebCore::RenderFlexibleBox::layoutBlock):
780         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
781         (WebCore::RenderFlexibleBox::layoutVerticalBox):
782         * rendering/RenderLayer.cpp:
783         (WebCore::RenderLayer::updateLayerPosition):
784         (WebCore::RenderLayer::localBoundingBox):
785         * rendering/RenderLayerCompositor.cpp:
786         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
787         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
788         * rendering/RenderLineBoxList.cpp:
789         (WebCore::RenderLineBoxList::paint):
790         (WebCore::RenderLineBoxList::hitTest):
791         * rendering/RenderListItem.cpp:
792         (WebCore::RenderListItem::positionListMarker):
793         * rendering/RenderObject.cpp:
794         (WebCore::RenderObject::RenderObject):
795         * rendering/RenderObject.h:
796         * rendering/RenderOverflow.h: Added.
797         (WebCore::RenderOverflow::RenderOverflow):
798         (WebCore::RenderOverflow::topLayoutOverflow):
799         (WebCore::RenderOverflow::bottomLayoutOverflow):
800         (WebCore::RenderOverflow::leftLayoutOverflow):
801         (WebCore::RenderOverflow::rightLayoutOverflow):
802         (WebCore::RenderOverflow::topVisualOverflow):
803         (WebCore::RenderOverflow::bottomVisualOverflow):
804         (WebCore::RenderOverflow::leftVisualOverflow):
805         (WebCore::RenderOverflow::rightVisualOverflow):
806         (WebCore::RenderOverflow::setTopLayoutOverflow):
807         (WebCore::RenderOverflow::setBottomLayoutOverflow):
808         (WebCore::RenderOverflow::setLeftLayoutOverflow):
809         (WebCore::RenderOverflow::setRightLayoutOverflow):
810         (WebCore::RenderOverflow::setTopVisualOverflow):
811         (WebCore::RenderOverflow::setBottomVisualOverflow):
812         (WebCore::RenderOverflow::setLeftVisualOverflow):
813         (WebCore::RenderOverflow::setRightVisualOverflow):
814         (WebCore::RenderOverflow::layoutOverflowRect):
815         (WebCore::RenderOverflow::visualOverflowRect):
816         (WebCore::RenderOverflow::combinedOverflowRect):
817         (WebCore::RenderOverflow::move):
818         (WebCore::RenderOverflow::addLayoutOverflow):
819         (WebCore::RenderOverflow::addVisualOverflow):
820         (WebCore::RenderOverflow::resetLayoutOverflow):
821         * rendering/RenderPartObject.cpp:
822         (WebCore::RenderPartObject::layout):
823         * rendering/RenderReplaced.cpp:
824         (WebCore::RenderReplaced::~RenderReplaced):
825         (WebCore::RenderReplaced::layout):
826         (WebCore::RenderReplaced::shouldPaint):
827         (WebCore::RenderReplaced::positionForPoint):
828         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
829         * rendering/RenderReplaced.h:
830         * rendering/RenderScrollbarPart.cpp:
831         (WebCore::RenderScrollbarPart::layout):
832         (WebCore::RenderScrollbarPart::paintIntoRect):
833         * rendering/RenderSlider.cpp:
834         (WebCore::RenderSlider::layout):
835         * rendering/RenderTable.cpp:
836         (WebCore::RenderTable::layout):
837         (WebCore::RenderTable::paint):
838         * rendering/RenderTableCell.cpp:
839         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
840         * rendering/RenderTableSection.cpp:
841         (WebCore::RenderTableSection::layoutRows):
842         * rendering/RenderTableSection.h:
843         * rendering/RenderText.cpp:
844         (WebCore::RenderText::positionForPoint):
845         (WebCore::RenderText::localCaretRect):
846         * rendering/RenderView.cpp:
847         (WebCore::RenderView::layout):
848         * rendering/RootInlineBox.cpp:
849         (WebCore::RootInlineBox::addHighlightOverflow):
850         (WebCore::RootInlineBox::adjustPosition):
851         (WebCore::RootInlineBox::verticallyAlignBoxes):
852         (WebCore::RootInlineBox::selectionTop):
853         * rendering/RootInlineBox.h:
854         (WebCore::RootInlineBox::RootInlineBox):
855         (WebCore::RootInlineBox::nextRootBox):
856         (WebCore::RootInlineBox::prevRootBox):
857         (WebCore::RootInlineBox::lineTop):
858         (WebCore::RootInlineBox::lineBottom):
859         (WebCore::RootInlineBox::selectionBottom):
860         (WebCore::RootInlineBox::selectionHeight):
861         (WebCore::RootInlineBox::floats):
862         (WebCore::RootInlineBox::floatsPtr):
863         (WebCore::RootInlineBox::setLineTopBottomPositions):
864         * rendering/SVGRootInlineBox.cpp:
865         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
866
867 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
868
869         Reviewed by Darin Adler.
870
871         https://bugs.webkit.org/show_bug.cgi?id=28431
872         <rdar://problem/7137610> Application Cache doesn't work with HTTP authentication
873
874         Test: http/tests/appcache/auth.html
875
876         * loader/appcache/ApplicationCacheGroup.h:
877         (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled,
878         always allow it to use stored credentials (we can't ask WebKit client, and maybe we
879         shouldn't ask it, because it's not a document that's loading these resources).
880
881 2009-08-18  Anders Carlsson  <andersca@apple.com>
882
883         Reviewed by John Sullivan and David Hyatt.
884
885         Fix <rdar://problem/7147996>
886
887         * platform/ScrollView.cpp:
888         (WebCore::ScrollView::setHasHorizontalScrollbar):
889         (WebCore::ScrollView::setHasVerticalScrollbar):
890         Update the style of the scroll bars.
891         
892         * rendering/RenderScrollbar.cpp:
893         (WebCore::RenderScrollbar::RenderScrollbar):
894         Calculate the size of the scrollbar and set it as the frame size.
895
896 2009-08-18  Eric Carlson  <eric.carlson@apple.com>
897
898         Reviewed by Simon Fraser.
899
900         HTMLMediaElement should fire 'progress' event before 'load'
901         https://bugs.webkit.org/show_bug.cgi?id=28314
902
903         Test: media/progress-event-at-least-one.html
904
905         * html/HTMLMediaElement.cpp:
906         (WebCore::HTMLMediaElement::setNetworkState):
907             Schedule 'progress' event before 'load'.
908
909 2009-08-18  Peter Kasting  <pkasting@google.com>
910
911         Reviewed by Eric Seidel.
912
913         https://bugs.webkit.org/show_bug.cgi?id=28415
914         Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
915         have it.
916
917         * WebCore.vcproj/QTMovieWin.vcproj:
918         * WebCore.vcproj/WebCoreGenerated.vcproj:
919
920 2009-08-18  Drew Wilson  <atwilson@google.com>
921
922         Reviewed by Eric Seidel.
923
924         Need to extend DumpRenderTree to expose number of worker threads
925         https://bugs.webkit.org/show_bug.cgi?id=28292
926
927         Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.
928
929         Tests: fast/workers/shared-worker-lifecycle.html-disabled
930                fast/workers/worker-lifecycle.html
931
932         * WebCore.base.exp:
933         Exported WorkerThread::workerThreadCount().
934         * WebCore.xcodeproj/project.pbxproj:
935         * workers/WorkerThread.cpp:
936         Added tracking of the number of worker threads.
937         (WebCore::threadCountMutex):
938         (WebCore::WorkerThread::workerThreadCount):
939         (WebCore::WorkerThread::WorkerThread):
940         (WebCore::WorkerThread::~WorkerThread):
941         * workers/WorkerThread.h:
942
943 2009-08-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
944
945         Unreviewed, build fix.
946
947         [Qt] Add new files I forgot to add in r47424.
948
949 2009-08-18  Markus Goetz <Markus.Goetz@nokia.com>
950
951         Reviewed by Ariya Hidayat.
952
953         [Qt] Implement prefetchDNS() function.
954
955         * WebCore.pro:
956         * platform/qt/TemporaryLinkStubs.cpp:
957
958 2009-08-18  Kent Tamura  <tkent@chromium.org>
959
960         Reviewed by Eric Seidel.
961
962         Support for parsing <datalist> element and generating HTMLDataListElement nodes.
963         https://bugs.webkit.org/show_bug.cgi?id=26915
964
965         Tests: fast/forms/datalist-nonoption-child.html
966                fast/forms/datalist.html
967
968         * WebCore.gypi:
969         * WebCore.pro:
970         * WebCore.vcproj/WebCore.vcproj:
971         * WebCore.vcproj/WebCoreCommon.vsprops:
972         * WebCore.vcproj/build-generated-files.sh:
973         * WebCore.xcodeproj/project.pbxproj:
974         * WebCoreSources.bkl:
975         * css/html.css:
976         * html/CollectionType.h:
977         (WebCore::):
978         * html/HTMLCollection.cpp:
979         (WebCore::HTMLCollection::itemAfter):
980         * html/HTMLDataListElement.cpp: Added.
981         (WebCore::HTMLDataListElement::HTMLDataListElement):
982         (WebCore::HTMLDataListElement::~HTMLDataListElement):
983         (WebCore::HTMLDataListElement::checkDTD):
984         (WebCore::HTMLDataListElement::options):
985         * html/HTMLDataListElement.h: Added.
986         * html/HTMLDataListElement.idl: Added.
987         * html/HTMLElement.cpp:
988         (WebCore::inlineTagList):
989         * html/HTMLParser.cpp:
990         (WebCore::HTMLParser::isAffectedByResidualStyle):
991         * html/HTMLTagNames.in:
992
993 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
994
995         Reviewed by Eric Seidel.
996
997         -webkit-box-orient:horizontal doesn't work on <button> tag
998         https://bugs.webkit.org/show_bug.cgi?id=34445
999
1000         Make a flexible button's anonymous child flexible and pass the
1001         parent's box-orient to the anonymous child.
1002
1003         Also, added a renderName for anonymous flexible boxes.
1004
1005         Test: fast/flexbox/box-orient-button.html
1006
1007         * rendering/RenderBlock.cpp:
1008         (WebCore::RenderBlock::createAnonymousBlock):
1009         * rendering/RenderBlock.h:
1010         * rendering/RenderButton.cpp:
1011         (WebCore::RenderButton::addChild):
1012         (WebCore::RenderButton::setupInnerStyle):
1013         * rendering/RenderFlexibleBox.cpp:
1014         (WebCore::RenderFlexibleBox::renderName):
1015
1016 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
1017
1018         Reviewed by Dave Hyatt.
1019         
1020         Render -webkit-mask via compositing layers when possible
1021         https://bugs.webkit.org/show_bug.cgi?id=28414
1022         
1023         Implement accelerated compositing of -webkit-mask, when combined
1024         with already-composited content.
1025         
1026         RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
1027         and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
1028         GraphicsLayerCA then applies the mask using -[CALayer setMask:].
1029         
1030         The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
1031         confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
1032         indicates that just the mask is painting.
1033         
1034         When painting the composited mask, we need to paint with the normal compositing
1035         mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
1036         layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
1037         need to make transparency layers.
1038         
1039         We no longer have to throw video rendering into software because of masks.
1040         
1041         When a masked element has composited descendants, that element needs to
1042         become composited so that the mask can be applied via compositing.
1043
1044         Tests: compositing/masks/masked-ancestor.html
1045                compositing/masks/simple-composited-mask.html
1046
1047         * platform/graphics/GraphicsLayer.cpp:
1048         (WebCore::GraphicsLayer::GraphicsLayer):
1049         * platform/graphics/GraphicsLayer.h:
1050         (WebCore::GraphicsLayer::maskLayer):
1051         (WebCore::GraphicsLayer::setMaskLayer):
1052         (WebCore::GraphicsLayer::paintingPhase):
1053         (WebCore::GraphicsLayer::setPaintingPhase):
1054         * platform/graphics/GraphicsLayerClient.h:
1055         (WebCore::):
1056         * platform/graphics/mac/GraphicsLayerCA.h:
1057         (WebCore::GraphicsLayerCA::):
1058         * platform/graphics/mac/GraphicsLayerCA.mm:
1059         (WebCore::GraphicsLayerCA::setMaskLayer):
1060         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1061         (WebCore::GraphicsLayerCA::commitLayerChanges):
1062         (WebCore::GraphicsLayerCA::updateMaskLayer):
1063         * rendering/InlineFlowBox.cpp:
1064         (WebCore::InlineFlowBox::paintMask):
1065         * rendering/RenderBox.cpp:
1066         (WebCore::RenderBox::paintMaskImages):
1067         * rendering/RenderLayer.cpp:
1068         (WebCore::RenderLayer::hasCompositedMask):
1069         * rendering/RenderLayer.h:
1070         (WebCore::RenderLayer::hasCompositedMask):
1071         * rendering/RenderLayerBacking.cpp:
1072         (WebCore::RenderLayerBacking::~RenderLayerBacking):
1073         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
1074         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1075         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1076         (WebCore::RenderLayerBacking::updateForegroundLayer):
1077         (WebCore::RenderLayerBacking::updateMaskLayer):
1078         (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
1079         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
1080         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
1081         (WebCore::RenderLayerBacking::paintIntoLayer):
1082         (WebCore::RenderLayerBacking::paintContents):
1083         * rendering/RenderLayerBacking.h:
1084         (WebCore::RenderLayerBacking::hasMaskLayer):
1085         * rendering/RenderLayerCompositor.cpp:
1086         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1087         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
1088         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
1089         * rendering/RenderLayerCompositor.h:
1090
1091 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
1092
1093         Reviewed by Dave Hyatt.
1094
1095         Layer content misplaced with compositing, z-index and overflow
1096         https://bugs.webkit.org/show_bug.cgi?id=28361
1097         
1098         The foreground GraphicsLayer (used to render element foreground when the element has 
1099         negative z-order children) was misplaced when there is a clipping layer (which clips
1100         children). The foreground layer is parented under the clipping layer so that the foreground
1101         depth-sorts with the layer's children, so its geometry needs to be computed relative to
1102         that clipping layer.
1103         
1104         Also clarified some FIXME comments, and corrected a debug-only layer name.
1105
1106         Test: compositing/geometry/clipping-foreground.html
1107
1108         * platform/graphics/mac/GraphicsLayerCA.mm:
1109         (WebCore::GraphicsLayerCA::updateSublayerList):
1110         * rendering/RenderLayerBacking.cpp:
1111         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1112         (WebCore::RenderLayerBacking::updateForegroundLayer):
1113         * rendering/RenderLayerCompositor.cpp:
1114         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1115
1116 2009-08-17  Mark Rowe  <mrowe@apple.com>
1117
1118         Reviewed by Sam Weinig.
1119
1120         Fix leaks of SVGElementInstance seen during regression tests.
1121
1122         r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
1123         not updated to have a create method that adopted the initial reference.  This lead to the instances
1124         of SVGElementInstance allocated by SVGUseElement being leaked.
1125
1126         * svg/SVGElementInstance.h:
1127         (WebCore::SVGElementInstance::create):
1128         * svg/SVGUseElement.cpp:
1129         (WebCore::SVGUseElement::buildPendingResource):
1130         (WebCore::SVGUseElement::buildInstanceTree):
1131         (WebCore::SVGUseElement::handleDeepUseReferencing):
1132
1133 2009-08-17  Brady Eidson  <beidson@apple.com>
1134
1135         Reviewed by Sam Weinig.
1136
1137         Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
1138         Page Cache should support pages with frames.
1139
1140         - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads
1141           are solely the responsibility of FrameLoader.
1142         - Enhance some page cache related Logging to help development.
1143
1144         * inspector/InspectorController.cpp:
1145         (WebCore::InspectorController::didCommitLoad):
1146         (WebCore::InspectorController::identifierForInitialRequest):
1147
1148         * loader/DocumentLoader.cpp:
1149         (WebCore::DocumentLoader::DocumentLoader):
1150         * loader/DocumentLoader.h:
1151
1152         * loader/FrameLoader.cpp:
1153         (WebCore::FrameLoader::FrameLoader):
1154         (WebCore::FrameLoader::commitProvisionalLoad):
1155         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
1156         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
1157         * loader/FrameLoader.h:
1158         (WebCore::FrameLoader::isLoadingFromCachedPage):
1159
1160 2009-08-17  Roland Steiner  <rolandsteiner@google.com>
1161
1162         Reviewed by Eric Seidel.
1163
1164         Moved implementation of isAfterContent to RenderObject
1165         (as inline method to avoid potential performance regressions).
1166
1167         BUG 28376 -  [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
1168         (https://bugs.webkit.org/show_bug.cgi?id=28376)
1169
1170         * rendering/RenderBox.cpp:
1171         * rendering/RenderBox.h:
1172         * rendering/RenderInline.cpp:
1173         * rendering/RenderObject.h:
1174         (WebCore::RenderObject::isAfterContent):
1175
1176 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
1177
1178         Reviewed by Darin Adler.
1179
1180         Assertion failure in WebCore::RenderHTMLCanvas::layout
1181         https://bugs.webkit.org/show_bug.cgi?id=12052
1182
1183         Don't handle run-in if the element is not a block element.
1184
1185         Test: fast/runin/nonblock-runin.html
1186
1187         * rendering/RenderBlock.cpp:
1188         (WebCore::RenderBlock::handleRunInChild):
1189
1190 2009-08-17  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
1191
1192         Reviewed by Darin Adler.
1193
1194         Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
1195         either of the arguments are not finite.
1196
1197         According to
1198         http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
1199         "If any of the arguments to createImageData() or getImageData() are
1200         infinite or NaN, or if the createImageData()  method is invoked with
1201         only one argument but that argument is null, the method must instead
1202         raise a NOT_SUPPORTED_ERR  exception."
1203
1204         Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html
1205
1206         * html/canvas/CanvasRenderingContext2D.cpp:
1207         (WebCore::CanvasRenderingContext2D::createImageData):
1208         * html/canvas/CanvasRenderingContext2D.h:
1209         * html/canvas/CanvasRenderingContext2D.idl:
1210
1211 2009-08-17  Jeremy Orlow  <jorlow@chromium.org>
1212
1213         Reviewed by Darin Fisher.
1214
1215         Add a way to release the storage lock
1216         https://bugs.webkit.org/show_bug.cgi?id=28411
1217
1218         Two scripts within the same origin that are accessing LocalStorage must not do
1219         it simultaneously, according to the spec.  There are some cases, however, where
1220         a script might want to override this behavior.  navigator.getStorageUpdates()
1221         was added for this reason:
1222         http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex
1223
1224         Add this function to navigator and hook it up to DOM Storage.
1225
1226         * page/Navigator.cpp:
1227         (WebCore::Navigator::getStorageUpdates):
1228         * page/Navigator.h:
1229         * page/Navigator.idl:
1230         * storage/StorageNamespace.h:
1231         * storage/StorageNamespaceImpl.cpp:
1232         (WebCore::StorageNamespaceImpl::unlock):
1233         * storage/StorageNamespaceImpl.h:
1234
1235 2009-08-17  Mark Rowe  <mrowe@apple.com>
1236
1237         Build fix.
1238
1239         CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
1240         We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
1241         results in the CFNetwork headers being included on Mac OS X.  CoreServices.h doesn't include CFNetwork.h on
1242         Windows though so we explicitly include this header from the prefix header when on Windows.
1243
1244         * WebCorePrefix.h:
1245         * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.
1246
1247 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
1248
1249         Trying a better build fix (the previous one broke Leopard bots, although it did build for me).
1250
1251         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.
1252
1253 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
1254
1255         Trying to fix Windows build.
1256
1257         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.
1258
1259 2009-08-17  Peter Kasting  <pkasting@google.com>
1260
1261         Reviewed by Steve Falkenburg.
1262
1263         https://bugs.webkit.org/show_bug.cgi?id=27323
1264         Only add Cygwin to the path when it isn't already there.  This avoids
1265         causing problems for people who purposefully have non-Cygwin versions of
1266         executables like svn in front of the Cygwin ones in their paths.
1267
1268         * WebCore.vcproj/QTMovieWin.vcproj:
1269         * WebCore.vcproj/WebCoreCommon.vsprops:
1270         * WebCore.vcproj/WebCoreGenerated.vcproj:
1271
1272 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
1273
1274         Reviewed by Geoff Garen.
1275
1276         https://bugs.webkit.org/show_bug.cgi?id=28401
1277         Add support for DNS prefetching with CFNetwork
1278
1279         This is just an optimization, no behavior change, so no tests.
1280
1281         * platform/network/cf/DNSCFNet.cpp:
1282         (WebCore::clientCallback):
1283         (WebCore::prefetchDNS):
1284         Use async CFHostStartInfoResolution() for implementation.
1285
1286 2009-08-17  Aaron Boodman  <aa@chromium.org>
1287
1288         Reviewed by Alexey Proskuryakov.
1289
1290         https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
1291         ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.
1292
1293         Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
1294         redirects access control, so we should never redirect across origins. But in two edge cases, we were:
1295
1296         * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
1297           authorization headers) to a resource on origin A.
1298         * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
1299           authorization headers) to another resource on origin B (this time sending access control authorization headers).
1300
1301         Test: http/tests/xmlhttprequest/access-control-and-redirects.html
1302
1303         * loader/DocumentThreadableLoader.cpp:
1304         (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location.
1305         (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
1306         (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
1307         * loader/DocumentThreadableLoader.h:
1308         * loader/ThreadableLoader.h:
1309         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
1310         * page/EventSource.cpp:
1311         (WebCore::EventSource::connect): Ditto.
1312         * workers/Worker.cpp: Ditto.
1313         (WebCore::Worker::Worker): Ditto.
1314         * workers/WorkerContext.cpp: Ditto.
1315         (WebCore::WorkerContext::importScripts): Ditto.
1316         * workers/WorkerScriptLoader.cpp:
1317         (WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
1318         (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
1319         * workers/WorkerScriptLoader.h: 
1320         * xml/XMLHttpRequest.cpp:
1321         (WebCore::XMLHttpRequest::createRequest): Ditto.
1322
1323 2009-08-17  Adam Langley  <agl@google.com>
1324
1325         Reviewed by Dan Bernstein (relanding of r47157).
1326
1327         Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
1328
1329         https://bugs.webkit.org/show_bug.cgi?id=28172
1330
1331         This was originally fixed in r47157, however it triggered a bug in
1332         Skia which caused Chromium Linux to fail layout tests in debug mode.
1333         It was reverted in r47189 while we sorted it out.
1334
1335         The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
1336         Chromium's r23523. This is a reland of the original patch.
1337
1338         No new tests because it's a just typo fix.
1339
1340         [1] http://code.google.com/p/skia/source/detail?r=321
1341
1342         * platform/graphics/skia/PlatformContextSkia.cpp:
1343         (PlatformContextSkia::setupPaintCommon):
1344
1345 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1346
1347         Reviewed by Xan Lopez.
1348
1349         Protect ResourceHandle for g_file_query_info_async call, using the
1350         same technique we already use for HTTP requests that take the soup
1351         path.
1352
1353         * platform/network/soup/ResourceHandleSoup.cpp:
1354         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1355         (WebCore::ResourceHandle::~ResourceHandle):
1356         (WebCore::finishedCallback):
1357         (WebCore::):
1358
1359 2009-08-17  Dan Bernstein  <mitz@apple.com>
1360
1361         Reviewed by Darin Adler.
1362
1363         REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
1364         appears below the main content
1365         https://bugs.webkit.org/show_bug.cgi?id=28350
1366
1367         A particular version of the MediaWiki software detects WebKit through
1368         user agent sniffing and imports a style sheet called KHTMLFixes.css,
1369         which contains a single rule that was meant to work around some KHTML
1370         bug, but currently has the sole effect of causing the float containing
1371         the main article content to extend all the way to the left and thus push
1372         down the left navigation pane.
1373
1374         * css/CSSImportRule.cpp:
1375         (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
1376         enabled, check if the imported style sheet is the MediaWiki
1377         KHTMLFixes.css. If so, remove the offending rule.
1378
1379 2009-08-17  Brent Fulgham  <bfulgham@webkit.org>
1380
1381         Reviewed by Kevin Ollivier.
1382
1383         Correct crash when processing local cancelled requests.
1384
1385         No new tests. Existing fast/images/favicon-as-image.html
1386         displays the problem.
1387
1388         * platform/network/curl/ResourceHandleManager.cpp:
1389         (WebCore::writeCallback): Add check for m_cancelled after
1390           performing local-file processing.
1391         (WebCore::ResourceHandleManager::downloadTimerCallback): Add
1392           check for m_cancelled after performing local-file processing.
1393
1394 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1395
1396         Unreviewed. Reverts 47371, since it breaks GTK+.
1397
1398         * platform/graphics/ImageSource.cpp:
1399         (WebCore::ImageSource::setData):
1400         * platform/image-decoders/ImageDecoder.cpp: Removed.
1401         * platform/image-decoders/ImageDecoder.h:
1402         (WebCore::ImageDecoder::ImageDecoder):
1403         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1404         (WebCore::convertCMYKToRGBA):
1405         (WebCore::convertRGBToRGBA):
1406         (WebCore::JPEGImageDecoder::outputScanlines):
1407         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1408         * platform/image-decoders/png/PNGImageDecoder.cpp:
1409         (WebCore::PNGImageDecoder::headerAvailable):
1410         (WebCore::PNGImageDecoder::rowAvailable):
1411
1412 2009-08-17  Yong Li  <yong.li@torchmobile.com>
1413
1414         Reviewed by Adam Treat.
1415
1416         Allow image decoders to down-sample the image directly
1417         to scaled output buffer. This can be enabled/disabled by
1418         macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
1419         Only JPEG and PNG decoders are modified to support it now.
1420         https://bugs.webkit.org/show_bug.cgi?id=28308
1421
1422         * platform/graphics/ImageSource.cpp:
1423         (WebCore::ImageSource::setData):
1424         * platform/image-decoders/ImageDecoder.cpp: Added.
1425         * platform/image-decoders/ImageDecoder.h:
1426         (WebCore::ImageDecoder::ImageDecoder):
1427         (WebCore::ImageDecoder::setMaxNumPixels):
1428         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1429         (WebCore::convertCMYKToRGBA):
1430         (WebCore::convertRGBToRGBA):
1431         (WebCore::JPEGImageDecoder::outputScanlines):
1432         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1433         (WebCore::JPEGImageDecoder::setSize):
1434         * platform/image-decoders/png/PNGImageDecoder.cpp:
1435         (WebCore::PNGImageDecoder::headerAvailable):
1436         (WebCore::PNGImageDecoder::rowAvailable):
1437
1438 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
1439
1440         Build fix: fix float literals to avoid casting warnings.
1441
1442         * rendering/MediaControlElements.cpp:
1443
1444 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
1445
1446         Reviewed by Eric Seidel.
1447
1448         Use OwnPtrs for GraphicsLayers
1449         https://bugs.webkit.org/show_bug.cgi?id=28399
1450
1451         Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
1452         for their references to GraphicsLayers.
1453
1454         * platform/graphics/GraphicsLayer.h:
1455         * platform/graphics/mac/GraphicsLayerCA.mm:
1456         (WebCore::GraphicsLayer::create):
1457         * rendering/RenderLayerBacking.cpp:
1458         (WebCore::RenderLayerBacking::RenderLayerBacking):
1459         (WebCore::RenderLayerBacking::createGraphicsLayer):
1460         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
1461         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1462         (WebCore::RenderLayerBacking::updateInternalHierarchy):
1463         (WebCore::RenderLayerBacking::updateClippingLayers):
1464         (WebCore::RenderLayerBacking::updateForegroundLayer):
1465         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
1466         * rendering/RenderLayerBacking.h:
1467         (WebCore::RenderLayerBacking::graphicsLayer):
1468         (WebCore::RenderLayerBacking::clippingLayer):
1469         (WebCore::RenderLayerBacking::ancestorClippingLayer):
1470         (WebCore::RenderLayerBacking::foregroundLayer):
1471         (WebCore::RenderLayerBacking::parentForSublayers):
1472         (WebCore::RenderLayerBacking::childForSuperlayers):
1473         * rendering/RenderLayerCompositor.cpp:
1474         (WebCore::RenderLayerCompositor::~RenderLayerCompositor):
1475         (WebCore::RenderLayerCompositor::rootPlatformLayer):
1476         (WebCore::RenderLayerCompositor::didMoveOnscreen):
1477         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1478         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
1479         * rendering/RenderLayerCompositor.h:
1480
1481 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
1482
1483         Reviewed by Timothy Hatcher.
1484
1485         WebInspector: Reset InjectedScript styles cache on document change.
1486
1487         https://bugs.webkit.org/show_bug.cgi?id=28390
1488
1489         * inspector/InspectorController.cpp:
1490         (WebCore::InspectorController::close):
1491         (WebCore::InspectorController::populateScriptObjects):
1492         (WebCore::InspectorController::didCommitLoad):
1493         (WebCore::InspectorController::resetInjectedScript):
1494         * inspector/InspectorController.h:
1495         * inspector/InspectorDOMAgent.cpp:
1496         (WebCore::InspectorDOMAgent::setDocument):
1497         * inspector/InspectorDOMAgent.h:
1498         * inspector/front-end/InjectedScript.js:
1499         (InjectedScript._reset):
1500
1501 2009-08-17  Darin Adler  <darin@apple.com>
1502
1503         Reviewed by Sam Weinig.
1504
1505         * rendering/MediaControlElements.cpp: Removed unneeded include of CString.h,
1506         resorted includes, renamed "doc" to "document" and fixed formatting.
1507
1508 2009-08-17  Darin Adler  <darin@apple.com>
1509
1510         Reviewed by Sam Weinig.
1511
1512         Removed functions now unneeded due to use of Reflect to create
1513         language bindings.
1514
1515         * accessibility/AccessibilityRenderObject.cpp:
1516         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
1517         Get at usemap attribute directly.
1518
1519         * editing/DeleteButtonController.cpp:
1520         (WebCore::DeleteButtonController::createDeletionUI):
1521         Get at id attribute directly.
1522         * editing/EditorCommand.cpp:
1523         (WebCore::executeInsertHorizontalRule): Ditto.
1524
1525         * html/HTMLDocument.cpp:
1526         (WebCore::HTMLDocument::dir): Get at dir attribute of body directly.
1527         (WebCore::HTMLDocument::setDir): Ditto.
1528
1529         * html/HTMLElement.cpp: Deleted unused functions.
1530         * html/HTMLElement.h: Ditto.
1531
1532         * html/HTMLImageElement.cpp: Deleted unused functions.
1533         (WebCore::HTMLImageElement::alt): Changed to return const AtomicString&.
1534         (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to
1535         get at usemap attribute directly, but added a FIXME because although
1536         it is what the old code did, it looks to not be entirely correct.
1537
1538         * html/HTMLImageElement.h: Deleted unused functions.
1539
1540         * rendering/HitTestResult.cpp:
1541         (WebCore::HitTestResult::altDisplayString): Get at alt attribute directly.
1542
1543         * rendering/RenderImage.cpp:
1544         (WebCore::RenderImage::imageMap): Get at usemap attribute directly.
1545
1546         * rendering/RenderLayerBacking.cpp:
1547         (WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute
1548         directly.
1549         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed
1550         explicit HTMLNames namespace qualification.
1551
1552 2009-08-17  Darin Adler  <darin@apple.com>
1553
1554         Reviewed by Sam Weinig.
1555
1556         * dom/Document.cpp:
1557         (WebCore::Document::setFocusedNode): Removed unneeded calls
1558         to RefPtr::get.
1559
1560 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
1561
1562         Reviewed by Timothy Hatcher.
1563
1564         WebInspector: Discard DOM Node bindings on any document change.
1565
1566         https://bugs.webkit.org/show_bug.cgi?id=28389
1567
1568         * inspector/InspectorDOMAgent.cpp:
1569         (WebCore::InspectorDOMAgent::setDocument):
1570
1571 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
1572
1573         Reviewed by Timothy Hatcher.
1574
1575         Inspector: Improve Cookie DataGrid to Show Hidden Data
1576         https://bugs.webkit.org/show_bug.cgi?id=28269
1577
1578         * English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ...
1579         * WebCore.gypi: added missing files
1580
1581           Implemented Bindings for InspectorController.deleteCookie(name)
1582
1583         * inspector/InspectorBackend.idl:
1584         * bindings/js/JSInspectorBackendCustom.cpp:
1585         (WebCore::JSInspectorBackend::cookies):
1586         (WebCore::JSInspectorBackend::deleteCookie):
1587
1588           v8 Bindings Stubs
1589
1590         * bindings/v8/custom/V8CustomBinding.h:
1591         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
1592         (WebCore::CALLBACK_FUNC_DECL):
1593
1594           Removed WebInspector.Cookie
1595
1596         * inspector/front-end/Cookie.js: Removed.
1597         * inspector/front-end/inspector.html:
1598         * inspector/front-end/WebKit.qrc:
1599
1600           Improved DataGrid and Kept Fallback Behavior for Platforms that don't
1601           yet provide access to raw cookies.
1602
1603         * inspector/front-end/CookieItemsView.js:
1604         (WebInspector.CookieItemsView):
1605         (WebInspector.CookieItemsView.prototype.get statusBarItems):
1606         (WebInspector.CookieItemsView.prototype.update):
1607         (WebInspector.CookieItemsView.prototype.buildCookies):
1608         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
1609         (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback):
1610         (WebInspector.CookieItemsView.prototype.fallbackUpdate):
1611         (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString):
1612         (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies):
1613         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
1614
1615           Interaction with the page through Injected Script (for fallback behavior)
1616
1617         * inspector/front-end/DOMAgent.js:
1618         (InspectorController.getCookies):
1619         * inspector/front-end/InjectedScript.js:
1620         (InjectedScript.setStyleProperty): style fix
1621         (InjectedScript.getCookies):
1622
1623           Allow alignment of text inside DataGrids.
1624
1625         * inspector/front-end/DataGrid.js:
1626         (WebInspector.DataGrid):
1627         (WebInspector.DataGridNode.prototype.createCell):
1628         * inspector/front-end/DatabasesPanel.js:
1629         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
1630         * inspector/front-end/inspector.css:
1631
1632           Added deleteCookie(., ., String name)
1633           Modified getRawCookies to return a bool to know if its implemented
1634
1635         * platform/CookieJar.h:
1636
1637
1638           Implemented deleteCookie for Macs
1639
1640         * platform/mac/CookieJar.mm:
1641         (WebCore::getRawCookies):
1642         (WebCore::deleteCookie):
1643
1644           Stub Implementations for Other Platforms
1645
1646         * platform/haiku/CookieJarHaiku.cpp:
1647         (WebCore::getRawCookies):
1648         (WebCore::deleteCookie):
1649         * platform/network/chromium/CookieJarChromium.cpp:
1650         (WebCore::getRawCookies):
1651         (WebCore::deleteCookie):
1652         * platform/network/curl/CookieJarCurl.cpp:
1653         (WebCore::getRawCookies):
1654         (WebCore::deleteCookie):
1655         * platform/network/soup/CookieJarSoup.cpp:
1656         (WebCore::getRawCookies):
1657         (WebCore::deleteCookie):
1658         * platform/network/win/CookieJarCFNetWin.cpp:
1659         (WebCore::getRawCookies):
1660         (WebCore::deleteCookie):
1661         * platform/network/win/CookieJarWin.cpp:
1662         (WebCore::getRawCookies):
1663         (WebCore::deleteCookie):
1664         * platform/qt/CookieJarQt.cpp:
1665         (WebCore::getRawCookies):
1666         (WebCore::deleteCookie):
1667
1668 2009-08-17  Adam Treat  <adam.treat@torchmobile.com>
1669
1670         Blind build fix for Leopard.
1671
1672         * platform/graphics/GraphicsContext.cpp:
1673         (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
1674
1675 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
1676
1677         Reviewed by Adam Treat.
1678
1679         Style fixes based on cpp_style.py and WebKit Style guide for
1680         GraphicsContextCG.cpp
1681
1682         https://bugs.webkit.org/show_bug.cgi?id=28268
1683
1684         * platform/graphics/cg/GraphicsContextCG.cpp:
1685         (WebCore::GraphicsContext::drawLine):
1686         (WebCore::GraphicsContext::drawEllipse):
1687         (WebCore::GraphicsContext::strokeArc):
1688         (WebCore::GraphicsContext::drawConvexPolygon):
1689         (WebCore::GraphicsContext::applyStrokePattern):
1690         (WebCore::GraphicsContext::drawPath):
1691         (WebCore::GraphicsContext::clipOut):
1692         (WebCore::GraphicsContext::clipOutEllipseInRect):
1693         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1694         (WebCore::GraphicsContext::clipToImageBuffer):
1695         (WebCore::GraphicsContext::setPlatformShadow):
1696         (WebCore::GraphicsContext::setLineCap):
1697         (WebCore::GraphicsContext::setLineJoin):
1698         (WebCore::GraphicsContext::roundToDevicePixels):
1699         (WebCore::GraphicsContext::drawLineForText):
1700         (WebCore::GraphicsContext::setURLForRect):
1701         (WebCore::GraphicsContext::setImageInterpolationQuality):
1702         (WebCore::GraphicsContext::imageInterpolationQuality):
1703         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
1704         (WebCore::GraphicsContext::setCompositeOperation):
1705
1706 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
1707
1708         Reviewed by Adam Treat.
1709
1710         Style fixes based on cpp_style.py and WebKit Style guide for
1711         GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp.
1712
1713         https://bugs.webkit.org/show_bug.cgi?id=28268
1714
1715         * platform/graphics/GraphicsContext.cpp:
1716         (WebCore::GraphicsContext::save):
1717         (WebCore::GraphicsContext::restore):
1718         (GraphicsContext::drawText):
1719         (GraphicsContext::initFocusRing):
1720         (GraphicsContext::focusRingBoundingRect):
1721         (GraphicsContext::drawImage):
1722         * platform/graphics/GraphicsContext.h:
1723         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1724         (WebCore::GraphicsContext::drawLine):
1725         (WebCore::GraphicsContext::strokeArc):
1726         (WebCore::GraphicsContext::setLineCap):
1727         (WebCore::GraphicsContext::setLineJoin):
1728         (WebCore::toCairoOperator):
1729         * platform/graphics/qt/GraphicsContextQt.cpp:
1730
1731 2009-08-17  Darin Adler  <darin@apple.com>
1732
1733         Reviewed by Dan Bernstein.
1734
1735         Change HTMLAreaElement to use OwnArrayPtr
1736         https://bugs.webkit.org/show_bug.cgi?id=28386
1737
1738         * html/HTMLAreaElement.cpp:
1739         (WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer.
1740         (WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call.
1741         (WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function
1742         instead of deletion followed by assignment.
1743         * html/HTMLAreaElement.h: Use OwnArrayPtr.
1744
1745 2009-08-17  Darin Adler  <darin@apple.com>
1746
1747         Fix Windows build.
1748
1749         * dom/make_names.pl: Add back cast to (void*) needed on Windows.
1750
1751 2009-08-17  Darin Adler  <darin@apple.com>
1752
1753         Reviewed by Dan Bernstein.
1754
1755         Move noResize from HTMLFrameElementBase to HTMLFrameElement
1756         https://bugs.webkit.org/show_bug.cgi?id=28384
1757
1758         * html/HTMLFrameElement.cpp:
1759         (WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize.
1760         (WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true
1761         here if noresizeAttr is changed. This code was moved here from
1762         HTMLFrameElementBase, but I added some FIXME comments.
1763         (WebCore::HTMLFrameElement::setNoResize): Set the attribute based on
1764         boolean argument. Moved here from HTMLFrameElementBase.
1765
1766         * html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize
1767         here from HTMLFrameElementBase.
1768
1769         * html/HTMLFrameElementBase.cpp:
1770         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize.
1771         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse
1772         noresizeAttr.
1773
1774         * html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize.
1775
1776 2009-08-17  Darin Adler  <darin@apple.com>
1777
1778         Reviewed by Dan Bernstein.
1779
1780         Tweak HTMLFrameElementBase so that m_URL can be private
1781         https://bugs.webkit.org/show_bug.cgi?id=28385
1782
1783         * html/HTMLFrameElement.cpp:
1784         (WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument.
1785         * html/HTMLFrameElementBase.cpp:
1786         (WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of
1787         taking an argument.
1788         (WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument.
1789         * html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function.
1790         * html/HTMLIFrameElement.cpp:
1791         (WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument.
1792
1793 2009-08-17  Darin Adler  <darin@apple.com>
1794
1795         Reviewed by Dan Bernstein.
1796
1797         HTMLViewSourceDocument should use smart pointers
1798         https://bugs.webkit.org/show_bug.cgi?id=28378
1799
1800         * html/HTMLViewSourceDocument.cpp:
1801         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize
1802         pointers any more since RefPtr starts 0 by default.
1803         (WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific
1804         types for local variables.
1805         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr,
1806         and use a RefPtr of a more specific type for a local variable.
1807         (WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local
1808         variables, and use RefPtr as well.
1809         (WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a
1810         RefPtr of a more specific type for a local variable.
1811
1812         * html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and
1813         data member types to RefPtr.
1814
1815 2009-08-17  Darin Adler  <darin@apple.com>
1816
1817         Reviewed by Sam Weinig.
1818
1819         DOM attribute getter/setter functions should use const AtomicString& type
1820         https://bugs.webkit.org/show_bug.cgi?id=25425
1821
1822         Convert 4 more classes. These are classes I am going to make other changes
1823         to soon, so it's good to have this use of Reflect in the IDL out of the way.
1824
1825         * html/HTMLEmbedElement.idl: Use Reflect for many attributes.
1826         * html/HTMLFrameElement.idl: Ditto.
1827         * html/HTMLIFrameElement.idl: Ditto.
1828         * html/HTMLObjectElement.idl: Ditto.
1829
1830 2009-08-17  Darin Adler  <darin@apple.com>
1831
1832         Reviewed by Sam Weinig.
1833
1834         Script to create element factory needs changes to accommodate calling create
1835         https://bugs.webkit.org/show_bug.cgi?id=28379
1836
1837         * dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes
1838         around names used inside {}. Added new createWithNew property for tags
1839         that makes the factory use a create function instead of calling new.
1840         Renamed functions with initialize in their name to have default in their
1841         name, since they return an array full of default values and don't themselves
1842         initialize anything.
1843
1844 2009-08-16  Darin Adler  <darin@apple.com>
1845
1846         Reviewed by Dan Bernstein.
1847
1848         StyledElement should use ASCIICType instead of having its own toHex function
1849         https://bugs.webkit.org/show_bug.cgi?id=28377
1850
1851         * dom/StyledElement.cpp:
1852         (WebCore::StyledElement::addCSSColor): Use isASCIIHexDigit and toASCIIHexValue.
1853
1854 2009-08-16  Darin Adler  <darin@apple.com>
1855
1856         Reviewed by Dan Bernstein.
1857
1858         execCommand("InsertHorizontalRule") inserts a broken <hr> element
1859         https://bugs.webkit.org/show_bug.cgi?id=28375
1860
1861         * editing/EditorCommand.cpp:
1862         (WebCore::executeInsertHorizontalRule): Create an HTMLHRElement
1863         instead of just an HTMLElement.
1864
1865 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1866
1867         Reviewed by George Staikos.
1868
1869         [WML] <option> element & 'onpick' events - history navigation is broken
1870         https://bugs.webkit.org/show_bug.cgi?id=28371
1871
1872         After selecting an option element with an 'onpick' event associated with a 'go' task,
1873         the navigation is executed. When going back in history, the same 'onpick' event is fired
1874         again. Fix that problem, add wml/option-element-onpick-recursion.html covering the bug.
1875
1876         Test: wml/option-element-onpick-recursion.html
1877
1878         * wml/WMLOptionElement.cpp:
1879         (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
1880         * wml/WMLSelectElement.cpp:
1881         (WebCore::WMLSelectElement::WMLSelectElement):
1882         (WebCore::WMLSelectElement::selectInitialOptions):
1883         * wml/WMLSelectElement.h:
1884         (WebCore::WMLSelectElement::initialized):
1885
1886 2009-08-16  Anthony Ricaud  <rik@webkit.org>
1887
1888         Reviewed by Timothy Hatcher.
1889
1890         Inspector Resource filtering: keyboard Navigation always uses ALL resources
1891         https://bugs.webkit.org/show_bug.cgi?id=28231
1892         
1893         Determine if a resource is selectable on user action.
1894         
1895         * inspector/front-end/ResourcesPanel.js:
1896         (WebInspector.ResourceSidebarTreeElement.prototype.get selectable):
1897
1898 2009-08-16  David Kilzer  <ddkilzer@apple.com>
1899
1900         <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
1901
1902         Reviewed by Dan Bernstein.
1903
1904         * accessibility/mac/AccessibilityObjectWrapper.mm:
1905         (AXAttributeStringSetSpelling): Changed MIN() to min().
1906         * platform/graphics/mac/FontMacATSUI.mm:
1907         (WebCore::Font::selectionRectForComplexText): Changed MAX() to
1908         max() and MIN() to min().
1909         (WebCore::Font::floatWidthForComplexText): Ditto.
1910         * platform/graphics/mac/SimpleFontDataMac.mm: Added using
1911         std::max statement.
1912         (WebCore::SimpleFontData::platformInit): Changed MAX() to max().
1913         * platform/text/mac/TextCodecMac.cpp:
1914         (WebCore::TextCodecMac::decode): Changed MIN() to min().
1915
1916 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1917
1918         Reviewed by George Staikos.
1919
1920         [WML] Cleanup WMLIntrinsicEventHandling code
1921         https://bugs.webkit.org/show_bug.cgi?id=28358
1922
1923         Remove superflous "Event* evt" parameter from executeTask() methods. It's a leftover from the initial WML merge.
1924
1925         * wml/WMLAnchorElement.cpp:
1926         (WebCore::WMLAnchorElement::defaultEventHandler):
1927         * wml/WMLDoElement.cpp:
1928         (WebCore::WMLDoElement::defaultEventHandler):
1929         * wml/WMLGoElement.cpp:
1930         (WebCore::WMLGoElement::executeTask):
1931         * wml/WMLGoElement.h:
1932         * wml/WMLIntrinsicEventHandler.cpp:
1933         (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
1934         * wml/WMLPrevElement.cpp:
1935         (WebCore::WMLPrevElement::executeTask):
1936         * wml/WMLPrevElement.h:
1937         * wml/WMLRefreshElement.cpp:
1938         (WebCore::WMLRefreshElement::executeTask):
1939         * wml/WMLRefreshElement.h:
1940         * wml/WMLTaskElement.h:
1941
1942 2009-08-16  Pavel Feldman  <pfeldman@chromium.org>
1943
1944         Reviewed by Timothy Hatcher.
1945
1946         WebInspector: A handful of DOMAgent-related fixes and cleanups.
1947
1948         - renamed elementId to nodeId in operations on nodes.
1949         - added load listeners to frame owners in InspectorDOMAgent.
1950         - removed InspectorController::inspectedWindowScriptObjectCleared event.
1951         - preserved isViaInspector flag for 'via inspector' marker to survive styles update.
1952         - removed contentDocument-related logic from ElementsPanel since it is handled in
1953             the InspectorDOMAgent.
1954         - removed DOM listeners unregistration and corresponding events from InspectorController.
1955         - made this.styles 'private' in ElementsPanel.
1956         - added TODO for the handleCopy processing.
1957
1958         https://bugs.webkit.org/show_bug.cgi?id=28356
1959
1960         * WebCore.order:
1961         * inspector/InspectorBackend.cpp:
1962         (WebCore::InspectorBackend::getChildNodes):
1963         (WebCore::InspectorBackend::setTextNodeValue):
1964         * inspector/InspectorBackend.h:
1965         * inspector/InspectorBackend.idl:
1966         * inspector/InspectorController.cpp:
1967         * inspector/InspectorController.h:
1968         * inspector/InspectorDOMAgent.cpp:
1969         (WebCore::InspectorDOMAgent::startListening):
1970         (WebCore::InspectorDOMAgent::stopListening):
1971         (WebCore::InspectorDOMAgent::handleEvent):
1972         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
1973         (WebCore::InspectorDOMAgent::getChildNodes):
1974         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
1975         (WebCore::InspectorDOMAgent::setTextNodeValue):
1976         (WebCore::InspectorDOMAgent::buildObjectForNode):
1977         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
1978         (WebCore::InspectorDOMAgent::innerParentNode):
1979         * inspector/InspectorDOMAgent.h:
1980         * inspector/InspectorFrontend.cpp:
1981         * inspector/InspectorFrontend.h:
1982         * inspector/front-end/DOMAgent.js:
1983         (WebInspector.DOMDocument.prototype.addEventListener):
1984         (WebInspector.DOMDocument.prototype.removeEventListener):
1985         (WebInspector.DOMDocument.prototype._fireDomEvent):
1986         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
1987         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
1988         (WebInspector.DOMAgent.prototype._setChildNodes):
1989         (WebInspector.CSSStyleDeclaration.parseRule):
1990         (WebInspector.childNodeInserted):
1991         (WebInspector.childNodeRemoved):
1992         * inspector/front-end/ElementsPanel.js:
1993         (WebInspector.ElementsPanel):
1994         (WebInspector.ElementsPanel.prototype.reset):
1995         (WebInspector.ElementsPanel.prototype.addStyleChange):
1996         (WebInspector.ElementsPanel.prototype.removeStyleChange):
1997         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
1998         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
1999         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
2000         * inspector/front-end/ElementsTreeOutline.js:
2001         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
2002         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
2003         (WebInspector.ElementsTreeElement):
2004         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
2005         (WebInspector.ElementsTreeElement.prototype._updateChildren):
2006         (WebInspector.ElementsTreeElement.prototype.onexpand):
2007         * inspector/front-end/InjectedScript.js:
2008         (InjectedScript.addStyleSelector):
2009         (InjectedScript._serializeRule):
2010         * inspector/front-end/StylesSidebarPane.js:
2011         (WebInspector.StylePropertiesSection):
2012         * inspector/front-end/inspector.js:
2013         (WebInspector.set hoveredDOMNode):
2014         * inspector/front-end/treeoutline.js:
2015         (TreeOutline.prototype.findTreeElement):
2016         * inspector/front-end/utilities.js:
2017         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
2018         (Node.prototype.enclosingNodeOrSelfWithClass):
2019         (isAncestorNode):
2020         (firstCommonNodeAncestor):
2021         (traverseNextNode):
2022         (traversePreviousNode):
2023         ():
2024         * loader/FrameLoader.cpp:
2025         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
2026         * page/android/InspectorControllerAndroid.cpp:
2027
2028 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
2029
2030         Reviewed by Dave Hyatt
2031
2032         Optimize updateFillImages() to not add/remove clients every time
2033         https://bugs.webkit.org/show_bug.cgi?id=28334
2034
2035         Optimize the case where old and new just have a single layer pointing to the same (or no)
2036         image.
2037
2038         * rendering/RenderObject.cpp:
2039         (WebCore::RenderObject::updateFillImages):
2040
2041 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
2042
2043         Reviewed by Anders Carlsson.
2044
2045         Implement animations of multiple text-shadows and -webkit-box-shadows.
2046         https://bugs.webkit.org/show_bug.cgi?id=28266
2047         
2048         Test: transitions/multiple-shadow-transitions.html
2049
2050         * page/animation/AnimationBase.cpp:
2051         (WebCore::PropertyWrapperShadow::equals):
2052         (WebCore::PropertyWrapperShadow::blend):
2053
2054 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
2055
2056         Reviewed by Anders Carlsson.
2057
2058         Make transitions work for position and size of multiple backgrounds and masks.
2059         https://bugs.webkit.org/show_bug.cgi?id=28266
2060         
2061         Make background-position, background-size, -webkit-mask-position and -webkit-mask-size
2062         properties animatable with multiple backgrounds, rather than just animating the first one.
2063
2064         Tests: transitions/multiple-background-size-transitions.html
2065                transitions/multiple-background-transitions.html
2066                transitions/multiple-mask-transitions.html
2067
2068         * page/animation/AnimationBase.cpp:
2069         (WebCore::FillLayerPropertyWrapperBase::FillLayerPropertyWrapperBase):
2070         (WebCore::FillLayerPropertyWrapperBase::~FillLayerPropertyWrapperBase):
2071         (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
2072         (WebCore::FillLayerPropertyWrapperGetter::equals):
2073         (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
2074         (WebCore::FillLayerPropertyWrapper::blend):
2075         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
2076         (WebCore::FillLayersPropertyWrapper::equals):
2077         (WebCore::FillLayersPropertyWrapper::blend):
2078         (WebCore::ensurePropertyMap):
2079         * rendering/style/FillLayer.h:
2080         (WebCore::FillLayer::setXPosition):
2081         (WebCore::FillLayer::setYPosition):
2082         (WebCore::FillLayer::setSize):
2083
2084 2009-08-15  George Staikos  <george.staikos@torchmobile.com>
2085
2086         Reviewed by Jan Alonzo.
2087
2088         Don't crash in fieldset code when WML is enabled.
2089         https://bugs.webkit.org/show_bug.cgi?id=28012
2090
2091         Test: fast/wml/html-fieldset-crash.html
2092
2093         * rendering/RenderFieldset.cpp:
2094         (WebCore::RenderFieldset::findLegend): ++brackets
2095
2096 2009-08-15  Sam Weinig  <sam@webkit.org>
2097
2098         Try and enable EventSource on Windows.
2099
2100         * WebCore.vcproj/WebCoreCommon.vsprops:
2101         * WebCore.vcproj/build-generated-files.sh:
2102
2103 2009-08-15  Sam Weinig  <sam@webkit.org>
2104
2105         Reviewed by Dan Bernstein.
2106
2107         Setting attribute event listeners to the body does not set them on the window
2108         https://bugs.webkit.org/show_bug.cgi?id=28343
2109
2110         Tests: fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html
2111                fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html
2112
2113         * html/HTMLBodyElement.cpp:
2114         (WebCore::HTMLBodyElement::setOnblur): Use setWindowAttributeEventListener instead of setAttributeEventListener.
2115         (WebCore::HTMLBodyElement::setOnerror): Ditto.
2116         (WebCore::HTMLBodyElement::setOnfocus): Ditto.
2117         (WebCore::HTMLBodyElement::setOnload): Ditto.
2118         (WebCore::HTMLBodyElement::setOnbeforeunload): Ditto.
2119         (WebCore::HTMLBodyElement::setOnmessage): Ditto.
2120         (WebCore::HTMLBodyElement::setOnoffline): Ditto.
2121         (WebCore::HTMLBodyElement::setOnonline): Ditto.
2122         (WebCore::HTMLBodyElement::setOnresize): Ditto.
2123         (WebCore::HTMLBodyElement::setOnstorage): Ditto.
2124         (WebCore::HTMLBodyElement::setOnunload): Ditto.
2125         * html/HTMLFrameSetElement.cpp:
2126         (WebCore::HTMLFrameSetElement::setOnblur): Ditto.
2127         (WebCore::HTMLFrameSetElement::setOnerror): Ditto.
2128         (WebCore::HTMLFrameSetElement::setOnfocus): Ditto.
2129         (WebCore::HTMLFrameSetElement::setOnload): Ditto.
2130         (WebCore::HTMLFrameSetElement::setOnbeforeunload): Ditto.
2131         (WebCore::HTMLFrameSetElement::setOnmessage): Ditto.
2132         (WebCore::HTMLFrameSetElement::setOnoffline): Ditto.
2133         (WebCore::HTMLFrameSetElement::setOnonline): Ditto.
2134         (WebCore::HTMLFrameSetElement::setOnresize): Ditto.
2135         (WebCore::HTMLFrameSetElement::setOnstorage): Ditto.
2136         (WebCore::HTMLFrameSetElement::setOnunload): Ditto.
2137
2138 2009-08-15  Sam Weinig  <sam@webkit.org>
2139
2140         Reviewed by Dan Bernstein.
2141
2142         Fix up some IDL comments.
2143
2144         * html/HTMLBodyElement.idl:
2145         * html/HTMLFrameSetElement.idl:
2146
2147 2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2148
2149         Reviewed by Sam Weinig.
2150
2151         Added implementation of the EventSource object that enables
2152         server-sent events from HTML5.
2153         http://dev.w3.org/html5/eventsource/
2154         https://bugs.webkit.org/show_bug.cgi?id=14997
2155
2156         Tests: fast/eventsource/eventsource-attribute-listeners.html
2157                fast/eventsource/eventsource-constructor.html
2158                http/tests/eventsource/eventsource-bad-mime-type.html
2159                http/tests/eventsource/eventsource-parse-event-stream.html
2160                http/tests/eventsource/eventsource-reconnect.html
2161                http/tests/eventsource/eventsource-status-code-states.html
2162                http/tests/eventsource/workers/eventsource-simple.html
2163
2164         * Configurations/FeatureDefines.xcconfig:
2165         * DerivedSources.cpp:
2166         * DerivedSources.make:
2167         * GNUmakefile.am:
2168         * WebCore.pro:
2169         * WebCore.vcproj/WebCore.vcproj:
2170         * WebCore.xcodeproj/project.pbxproj:
2171         * bindings/js/JSDOMWindowCustom.cpp:
2172         (WebCore::JSDOMWindow::eventSource):
2173         * bindings/js/JSEventSourceConstructor.cpp: Added.
2174         (WebCore::):
2175         (WebCore::JSEventSourceConstructor::JSEventSourceConstructor):
2176         (WebCore::constructEventSource):
2177         (WebCore::JSEventSourceConstructor::getConstructData):
2178         * bindings/js/JSEventSourceConstructor.h: Added.
2179         (WebCore::JSEventSourceConstructor::classInfo):
2180         * bindings/js/JSEventSourceCustom.cpp: Added.
2181         (WebCore::JSEventSource::markChildren):
2182         (WebCore::JSEventSource::addEventListener):
2183         (WebCore::JSEventSource::removeEventListener):
2184         * bindings/js/JSEventTarget.cpp:
2185         (WebCore::toJS):
2186         (WebCore::toEventTarget):
2187         * bindings/js/JSWorkerContextCustom.cpp:
2188         (WebCore::JSWorkerContext::eventSource):
2189         * dom/EventNames.h:
2190         * dom/EventTarget.cpp:
2191         (WebCore::EventTarget::toEventSource):
2192         * dom/EventTarget.h:
2193         * page/DOMWindow.idl:
2194         * page/EventSource.cpp: Added.
2195         (WebCore::EventSource::EventSource):
2196         (WebCore::EventSource::~EventSource):
2197         (WebCore::EventSource::connect):
2198         (WebCore::EventSource::endRequest):
2199         (WebCore::EventSource::scheduleReconnect):
2200         (WebCore::EventSource::reconnectTimerFired):
2201         (WebCore::EventSource::url):
2202         (WebCore::EventSource::readyState):
2203         (WebCore::EventSource::close):
2204         (WebCore::EventSource::scriptExecutionContext):
2205         (WebCore::EventSource::addEventListener):
2206         (WebCore::EventSource::removeEventListener):
2207         (WebCore::EventSource::dispatchEvent):
2208         (WebCore::EventSource::didReceiveResponse):
2209         (WebCore::EventSource::didReceiveData):
2210         (WebCore::EventSource::didFinishLoading):
2211         (WebCore::EventSource::didFail):
2212         (WebCore::EventSource::didFailRedirectCheck):
2213         (WebCore::EventSource::parseEventStream):
2214         (WebCore::EventSource::parseEventStreamLine):
2215         (WebCore::EventSource::dispatchGenericEvent):
2216         (WebCore::EventSource::dispatchMessageEvent):
2217         (WebCore::EventSource::stop):
2218         * page/EventSource.h: Added.
2219         (WebCore::EventSource::create):
2220         (WebCore::EventSource::):
2221         (WebCore::EventSource::setOnopen):
2222         (WebCore::EventSource::onopen):
2223         (WebCore::EventSource::setOnmessage):
2224         (WebCore::EventSource::onmessage):
2225         (WebCore::EventSource::setOnerror):
2226         (WebCore::EventSource::onerror):
2227         (WebCore::EventSource::toEventSource):
2228         (WebCore::EventSource::eventListeners):
2229         (WebCore::EventSource::refEventTarget):
2230         (WebCore::EventSource::derefEventTarget):
2231         * page/EventSource.idl: Added.
2232         * workers/WorkerContext.idl:
2233
2234 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
2235
2236         Reviewed by Timothy Hatcher.
2237
2238         WebInspector: Minor DOMAgent bugfixes.
2239
2240         https://bugs.webkit.org/show_bug.cgi?id=28177
2241
2242         * inspector/InspectorDOMAgent.cpp:
2243         (WebCore::InspectorDOMAgent::nodeForId):
2244         * inspector/front-end/DOMAgent.js:
2245         (WebInspector.DOMAgent):
2246         * inspector/front-end/ElementsPanel.js:
2247         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2248
2249 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
2250
2251         Reviewed by Timothy Hatcher.
2252
2253         WebInspector: Evaluating objects while on a breakpoint dumps string
2254         representation instead of live object. 
2255
2256         https://bugs.webkit.org/show_bug.cgi?id=28280
2257
2258         * inspector/front-end/ConsoleView.js:
2259         (WebInspector.ConsoleView.prototype.completions.this._evalInInspectedWindow):
2260         (WebInspector.ConsoleView.prototype.completions):
2261         (WebInspector.ConsoleView.prototype._reportCompletions):
2262         * inspector/front-end/ScriptsPanel.js:
2263         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame.delayedEvaluation):
2264         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2265         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
2266
2267 2009-08-15  Maxime Simon  <simon.maxime@gmail.com>
2268
2269         Reviewed by Eric Seidel.
2270
2271         [Haiku] Adding two new files to WebCore/platform/haiku:
2272         LocalizedStringsHaiku.cpp and LoggingHaiku.cpp
2273         https://bugs.webkit.org/show_bug.cgi?id=28129
2274
2275         * platform/haiku/LocalizedStringsHaiku.cpp: Added.
2276         (WebCore::submitButtonDefaultLabel):
2277         (WebCore::inputElementAltText):
2278         (WebCore::resetButtonDefaultLabel):
2279         (WebCore::defaultLanguage):
2280         (WebCore::searchableIndexIntroduction):
2281         (WebCore::fileButtonChooseFileLabel):
2282         (WebCore::fileButtonNoFileSelectedLabel):
2283         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
2284         (WebCore::contextMenuItemTagDownloadLinkToDisk):
2285         (WebCore::contextMenuItemTagCopyLinkToClipboard):
2286         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2287         (WebCore::contextMenuItemTagDownloadImageToDisk):
2288         (WebCore::contextMenuItemTagCopyImageToClipboard):
2289         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
2290         (WebCore::contextMenuItemTagCopy):
2291         (WebCore::contextMenuItemTagGoBack):
2292         (WebCore::contextMenuItemTagGoForward):
2293         (WebCore::contextMenuItemTagStop):
2294         (WebCore::contextMenuItemTagReload):
2295         (WebCore::contextMenuItemTagCut):
2296         (WebCore::contextMenuItemTagPaste):
2297         (WebCore::contextMenuItemTagNoGuessesFound):
2298         (WebCore::contextMenuItemTagIgnoreSpelling):
2299         (WebCore::contextMenuItemTagLearnSpelling):
2300         (WebCore::contextMenuItemTagSearchWeb):
2301         (WebCore::contextMenuItemTagLookUpInDictionary):
2302         (WebCore::contextMenuItemTagOpenLink):
2303         (WebCore::contextMenuItemTagIgnoreGrammar):
2304         (WebCore::contextMenuItemTagSpellingMenu):
2305         (WebCore::contextMenuItemTagShowSpellingPanel):
2306         (WebCore::contextMenuItemTagCheckSpelling):
2307         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
2308         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2309         (WebCore::contextMenuItemTagFontMenu):
2310         (WebCore::contextMenuItemTagBold):
2311         (WebCore::contextMenuItemTagItalic):
2312         (WebCore::contextMenuItemTagUnderline):
2313         (WebCore::contextMenuItemTagOutline):
2314         (WebCore::contextMenuItemTagWritingDirectionMenu):
2315         (WebCore::contextMenuItemTagDefaultDirection):
2316         (WebCore::contextMenuItemTagLeftToRight):
2317         (WebCore::contextMenuItemTagRightToLeft):
2318         (WebCore::contextMenuItemTagInspectElement):
2319         (WebCore::searchMenuNoRecentSearchesText):
2320         (WebCore::searchMenuRecentSearchesText):
2321         (WebCore::searchMenuClearRecentSearchesText):
2322         (WebCore::unknownFileSizeText):
2323         (WebCore::AXWebAreaText):
2324         (WebCore::AXLinkText):
2325         (WebCore::AXListMarkerText):
2326         (WebCore::AXImageMapText):
2327         (WebCore::AXHeadingText):
2328         (WebCore::imageTitle):
2329         (WebCore::contextMenuItemTagTextDirectionMenu):
2330         (WebCore::AXButtonActionVerb):
2331         (WebCore::AXTextFieldActionVerb):
2332         (WebCore::AXRadioButtonActionVerb):
2333         (WebCore::AXCheckedCheckBoxActionVerb):
2334         (WebCore::AXUncheckedCheckBoxActionVerb):
2335         (WebCore::AXLinkActionVerb):
2336         (WebCore::AXDefinitionListTermText):
2337         (WebCore::AXDefinitionListDefinitionText):
2338         * platform/haiku/LoggingHaiku.cpp: Added.
2339         (WebCore::InitializeLoggingChannelsIfNecessary):
2340
2341 2009-08-15  Darin Adler  <darin@apple.com>
2342
2343         Fix GTK build.
2344
2345         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2346         (fallbackObject): Pass 0 for document. Should be OK at least for now.
2347
2348 2009-08-15  Darin Adler  <darin@apple.com>
2349
2350         Fix Qt build.
2351
2352         * dom/XMLTokenizerQt.cpp: Use create functions instead of calling new
2353         directly to make CDATASection and Comment nodes.
2354
2355 2009-08-14  Darin Adler  <darin@apple.com>
2356
2357         Reviewed by Sam Weinig.
2358
2359         Make DOM classes start with a reference count of 1, like all other RefCounted
2360         https://bugs.webkit.org/show_bug.cgi?id=28068
2361
2362         First half, everything except for element classes.
2363
2364         * GNUmakefile.am: Removed DocPtr.h.
2365         * WebCore.gypi: Ditto.
2366         * WebCore.vcproj/WebCore.vcproj: Ditto.
2367         * WebCore.xcodeproj/project.pbxproj: Ditto.
2368
2369         * dom/Attr.cpp:
2370         (WebCore::Attr::Attr): Added a call to createTextChild here so callers don't
2371         have to call it explicitly.
2372         (WebCore::Attr::create): Added.
2373         (WebCore::Attr::setValue): Changed to take AtomicString.
2374         (WebCore::Attr::cloneNode): Use create.
2375
2376         * dom/Attr.h: Added a create function. Made the constructor private,
2377         and a lot of other functions private as well.
2378
2379         * dom/Attribute.cpp:
2380         (WebCore::Attribute::createAttrIfNeeded): Use Attr::create.
2381
2382         * dom/CDATASection.cpp:
2383         (WebCore::CDATASection::create): Added.
2384         (WebCore::CDATASection::cloneNode): Use create.
2385         (WebCore::CDATASection::virtualCreate): Ditto.
2386
2387         * dom/CDATASection.h: Added a create function. Made everything private.
2388         Removed unneeded destructor declaration.
2389
2390         * dom/CharacterData.cpp:
2391         (WebCore::CharacterData::CharacterData): Replaced the multiple constructors
2392         with a single one that takes ConstructionType.
2393
2394         * dom/CharacterData.h: Made more functions be protected and private.
2395         Made m_data be private.
2396
2397         * dom/Comment.cpp:
2398         (WebCore::Comment::Comment): Got rid of an extra constructor.
2399         (WebCore::Comment::create): Added.
2400         (WebCore::Comment::cloneNode): Call create.
2401
2402         * dom/Comment.h: Added a create function. Made everything private.
2403
2404         * dom/ContainerNode.cpp:
2405         (WebCore::dispatchChildInsertionEvents): Use RefPtr instead of DocPtr.
2406         (WebCore::dispatchChildRemovalEvents): Ditto.
2407
2408         * dom/ContainerNode.h: Made the constructor protected and passed
2409         ConstructionType instead of an isElement boolean.
2410
2411         * dom/DocPtr.h: Removed.
2412
2413         * dom/Document.cpp:
2414         (WebCore::Document::Document): Simplified the code that sets m_document
2415         since it's no longer a smart pointer.
2416         (WebCore::Document::removedLastRef): Use explicit calls to selfOnlyRef
2417         and selfOnlyDeref instead of a DocPtr in here.
2418         (WebCore::Document::~Document): Simplified the code that sets m_document
2419         since it's no longer a smart pointer.
2420         (WebCore::Document::createDocumentFragment): Call create.
2421         (WebCore::Document::createTextNode): Ditto.
2422         (WebCore::Document::createComment): Ditto.
2423         (WebCore::Document::createCDATASection): Ditto.
2424         (WebCore::Document::createProcessingInstruction): Ditto.
2425         (WebCore::Document::createEntityReference): Ditto.
2426         (WebCore::Document::createEditingTextNode): Ditto.
2427         (WebCore::Document::importNode): Call Attr::create.
2428         (WebCore::Document::createAttributeNS): Ditto.
2429
2430         * dom/Document.h: Call adoptRef. Made a lot of functions private and
2431         protected and sorted them so public functions come first.
2432
2433         * dom/DocumentFragment.cpp:
2434         (WebCore::DocumentFragment::create): Added.
2435         (WebCore::DocumentFragment::cloneNode): Call create.
2436         * dom/DocumentFragment.h: Added create.
2437
2438         * dom/DocumentType.cpp:
2439         (WebCore::DocumentType::DocumentType): Pass type to Node constructor.
2440         (WebCore::DocumentType::cloneNode): Use create.
2441         * dom/DocumentType.h:
2442         (WebCore::DocumentType::create): Call adoptRef.
2443
2444         * dom/EditingText.cpp:
2445         (WebCore::EditingText::create): Added.
2446         * dom/EditingText.h: Added a create function. Made everything private.
2447
2448         * dom/Element.cpp:
2449         (WebCore::Element::Element): Pass CreateElementZeroRefCount to preserve
2450         the zero reference count behavior for classes derived from Element.
2451
2452         * dom/EntityReference.cpp:
2453         (WebCore::EntityReference::create): Added.
2454         (WebCore::EntityReference::cloneNode): Call create.
2455         * dom/EntityReference.h: Added create. Made everything private.
2456
2457         * dom/Node.cpp:
2458         (WebCore::Node::initialRefCount): Added. Inline helper function for
2459         the constructor.
2460         (WebCore::Node::isContainer): Ditto.
2461         (WebCore::Node::isElement): Ditto.
2462         (WebCore::Node::isText): Ditto.
2463         (WebCore::Node::Node): Changed to take a construction type argument.
2464         Since m_document is now a normal pointer, added a call to selfOnlyRef.
2465         (WebCore::Node::~Node): Ditto, but selfOnlyDeref.
2466         (WebCore::Node::setDocument): Added selfOnlyRef/Deref calls.
2467         (WebCore::Node::appendTextContent): Use the data function instead of
2468         calling nodeValue functions, which do the same thing in a roundabout way.
2469
2470         * dom/Node.h: Made the constructor protected and replaced the multiple
2471         arguments iwth a single ConstructionType argument. Sorted the public
2472         things first.
2473
2474         * dom/Notation.h: Made most things private.
2475         * dom/Notation.cpp: Removed extra constructor.
2476
2477         * dom/ProcessingInstruction.cpp:
2478         (WebCore::ProcessingInstruction::create): Added.
2479         (WebCore::ProcessingInstruction::cloneNode): Call create.
2480         * dom/ProcessingInstruction.h: Added create function. Made many other
2481         members private.
2482
2483         * dom/Range.cpp:
2484         (WebCore::Range::processContents): Use DocumentFragment::create.
2485
2486         * dom/Text.cpp:
2487         (WebCore::Text::Text): Updated for base class change.
2488         (WebCore::Text::create): Added.
2489         (WebCore::Text::splitText): Changed to not require access to m_data.
2490         (WebCore::Text::cloneNode): Call create.
2491         (WebCore::Text::createRenderer): Call dataImpl.
2492         (WebCore::Text::attach): Call data.
2493         (WebCore::Text::recalcStyle): Call dataImpl.
2494         (WebCore::Text::virtualCreate): Call create.
2495         (WebCore::Text::createWithLengthLimit): Call create.
2496         (WebCore::Text::formatForDebugger): Call data.
2497
2498         * dom/Text.h: Added a create function. Made many other members private.
2499         Renamed createNew to virtualCreate.
2500
2501         * dom/XMLTokenizer.cpp:
2502         (WebCore::XMLTokenizer::enterText): Call Text::create.
2503
2504         * dom/XMLTokenizerLibxml2.cpp:
2505         (WebCore::XMLTokenizer::cdataBlock): Call CDATASection::create.
2506         (WebCore::XMLTokenizer::comment): Call Comment::create.
2507
2508         * editing/CompositeEditCommand.cpp:
2509         (WebCore::CompositeEditCommand::deleteInsignificantText):
2510         Call data instead of string.
2511
2512         * editing/CreateLinkCommand.cpp:
2513         (WebCore::CreateLinkCommand::doApply): Call Text::create.
2514
2515         * editing/EditorCommand.cpp:
2516         (WebCore::executeInsertNode): Call DocumentFragment::create.
2517
2518         * editing/SplitTextNodeCommand.cpp:
2519         (WebCore::SplitTextNodeCommand::doApply): Call Text::create.
2520
2521         * editing/markup.cpp:
2522         (WebCore::appendStartMarkup): Call data instead of nodeValue.
2523
2524         * html/HTMLDocument.h:
2525         (WebCore::HTMLDocument::create): Call adoptRef.
2526
2527         * html/HTMLElement.cpp:
2528         (WebCore::HTMLElement::createContextualFragment): Call DocumentFragment::create.
2529         (WebCore::replaceChildrenWithFragment): Call data instead of string.
2530         (WebCore::replaceChildrenWithText): Call Text::create.
2531         (WebCore::HTMLElement::setInnerText): Call DocumentFragment::create and
2532         Text::create.
2533         (WebCore::HTMLElement::setOuterText): Call Text::create.
2534
2535         * html/HTMLKeygenElement.cpp:
2536         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Call Text::create.
2537
2538         * html/HTMLOptionElement.cpp:
2539         (WebCore::HTMLOptionElement::setText): Call Text::create.
2540
2541         * html/HTMLParser.cpp:
2542         (WebCore::HTMLParser::textCreateErrorCheck): Call Text::create.
2543         (WebCore::HTMLParser::commentCreateErrorCheck): Call Comment::create.
2544         (WebCore::HTMLParser::handleIsindex): Call Text::create.
2545
2546         * html/HTMLViewSourceDocument.cpp:
2547         (WebCore::HTMLViewSourceDocument::addText): Call Text::create.
2548
2549         * html/HTMLViewSourceDocument.h:
2550         (WebCore::HTMLViewSourceDocument::create): Call adoptRef.
2551
2552         * loader/FTPDirectoryDocument.cpp:
2553         (WebCore::FTPDirectoryTokenizer::appendEntry): Call Text::create.
2554         (WebCore::FTPDirectoryTokenizer::createTDForFilename): Call Text::create.
2555
2556         * loader/FTPDirectoryDocument.h:
2557         (WebCore::FTPDirectoryDocument::create): Call adoptRef.
2558         * loader/ImageDocument.h:
2559         (WebCore::ImageDocument::create): Ditto.
2560         * loader/MediaDocument.h:
2561         (WebCore::MediaDocument::create): Ditto.
2562         * loader/PlaceholderDocument.h:
2563         (WebCore::PlaceholderDocument::create): Ditto.
2564         * loader/PluginDocument.h:
2565         (WebCore::PluginDocument::create): Ditto.
2566         * loader/TextDocument.h:
2567         (WebCore::TextDocument::create): Ditto.
2568
2569         * loader/loader.cpp:
2570         (WebCore::Loader::Host::didFinishLoading): Use RefPtr instead of DocPtr.
2571         (WebCore::Loader::Host::didFail): Ditto.
2572
2573         * platform/TreeShared.h:
2574         (WebCore::TreeShared::TreeShared): Added an initialRefCount argument,
2575         defaulting to 1. Node still sometimes initializes it to 0 instead for now.
2576
2577         * rendering/RenderText.cpp:
2578         (WebCore::RenderText::originalText): Use dataImpl instead of string.
2579
2580         * rendering/RenderTextFragment.cpp:
2581         (WebCore::RenderTextFragment::originalText): Use dataImpl instead of string.
2582         (WebCore::RenderTextFragment::previousCharacter): Ditto.
2583
2584         * svg/SVGDocument.h:
2585         (WebCore::SVGDocument::create): Use adoptRef.
2586
2587         * svg/SVGElementInstance.cpp:
2588         (WebCore::SVGElementInstance::SVGElementInstance): Updated to take a
2589         PassRefPtr.
2590
2591         * svg/SVGElementInstance.h: Made everything private.
2592
2593         * wml/WMLDocument.h:
2594         (WebCore::WMLDocument::create): Called adoptRef.
2595
2596         * xml/XPathNamespace.cpp:
2597         (WebCore::XPathNamespace::XPathNamespace): Take AtomicString arguments.
2598         * xml/XPathNamespace.h: Made everything private.
2599
2600         * xml/XSLTProcessor.cpp:
2601         (WebCore::createFragmentFromSource): Use DocumentFragment::create and
2602         Text::create.
2603
2604 2009-08-13  Jon Honeycutt  <jhoneycutt@apple.com>
2605
2606         Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
2607         nightly (20866)
2608
2609         https://bugs.webkit.org/show_bug.cgi?id=20866
2610
2611         Reviewed by Oliver Hunt.
2612
2613         * accessibility/AXObjectCache.cpp:
2614         (WebCore::AXObjectCache::AXObjectCache):
2615         Changed to take a pointer to its owner document. This is used by
2616         AXObjectCache::handleFocusedUIElementChanged().
2617         (WebCore::AXObjectCache::focusedUIElementForPage):
2618         Code moved from AccessibilityRenderObject::focusedUIElement(). Modified
2619         to be a static function and to take a pointer to a Page.
2620         (WebCore::AXObjectCache::platformGenerateAXID):
2621         Moved the code to generate the next AXID from getAXID() to here. Added
2622         a #if to make this non-WIN only, because Windows has its own
2623         implementation.
2624         (WebCore::AXObjectCache::getAXID):
2625         Ensure that we generate a positive AXID, ranging from 1 to LONG_MAX.
2626
2627         * accessibility/AXObjectCache.h:
2628         Add a declaration for Document and Page. Removed the declaration of
2629         AccessibilityObject, because we include the header. Reordered the
2630         declaration of Node alphabetically. Moved the typedef for AXID to
2631         AccessibilityObject. Removed some trailing whitespace. Added a member
2632         variable to hold a pointer to the owner Document.
2633         (WebCore::AXObjectCache::AXObjectCache):
2634         Changed to take a pointer to its owner Document.
2635         (WebCore::AXObjectCache::focusedUIElementForPage):
2636         Added; code moved from AccessiblityRenderObject::focusedUIElement().
2637         Returns the focused element with respect to accessibility.
2638         (WebCore::AXObjectCache::platformGenerateAXID):
2639         Declare a function to generate an AXID.
2640         (WebCore::AXObjectCache::objectFromAXID):
2641         Return the AccessibilityObject with the given AXID.
2642
2643         * accessibility/AccessibilityObject.h:
2644         Moved the typedef for AXID from AXObjectCache to here. Made the m_id
2645         member use the typedef.
2646         (WebCore::AccessibilityObject::axObjectID):
2647         Changed the return type to use the typedef.
2648         (WebCore::AccessibilityObject::setAXObjectID):
2649         Changed the argument type to use the typedef.
2650
2651         * accessibility/AccessibilityRenderObject.cpp:
2652         Removed some unneeded #includes.
2653         (WebCore::AccessibilityRenderObject::focusedUIElement):
2654         Moved the code to AXObjectCache::focusedUIElementForPage(), which we now
2655         call.
2656
2657         * accessibility/win/AXObjectCacheWin.cpp:
2658         (WebCore::AXObjectCache::platformGenerateAXID):
2659         Ensure that we generate an AXID that is in the range 1 to LONG_MAX.
2660         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2661         If the Document has no Page, return. If the Page has not focused
2662         element (respecting accessibility), return. Assert that the
2663         accessibility of the focused element is not ignored, and that the
2664         object's AXID will be negative and fit into a LONG when negated.
2665         Broadcast a focus event for the object.
2666
2667         * dom/Document.cpp:
2668         (WebCore::Document::axObjectCache):
2669         Pass this when creating the AXObjectCache.
2670         (WebCore::Document::setFocusedNode):
2671         Call AXObjectCache::handleFocusedUIElementChanged() on Windows.
2672
2673 2009-08-14  Jiahua Huang  <jhuangjiahua@gmail.com>
2674
2675         Reviewed by Jan Alonzo.
2676
2677         [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target.
2678         https://bugs.webkit.org/show_bug.cgi?id=27028
2679
2680         Remove the improper set of enum WebKitWebViewTargetInfo
2681         by grabbing the target infos via m_helper.
2682
2683         * manual-tests/gtk/copy-htmltext.html: Added.
2684         * platform/Pasteboard.h:
2685         * platform/gtk/PasteboardGtk.cpp:
2686         (WebCore::clipboard_get_contents_cb):
2687         * platform/gtk/PasteboardHelper.h:
2688
2689 2009-08-14  Simon Fraser  <simon.fraser@apple.com>
2690
2691         Reviewed by Dave Hyatt.
2692
2693         Fix an assertion when bringing up the Inspector.
2694         https://bugs.webkit.org/show_bug.cgi?id=28318
2695         
2696         The fix for bug 28295 assumed that image clients count the number of times
2697         addClient/removeClient is called. That was true for CachedResource clients,
2698         but not StyleGeneratedImage clients, which pass the call onto CSSImageGeneratorValue.
2699         
2700         Fix by making CSSImageGeneratorValue count the number of times a client is
2701         added/removed.
2702
2703         * css/CSSCanvasValue.cpp:
2704         (WebCore::CSSCanvasValue::canvasChanged):
2705         (WebCore::CSSCanvasValue::canvasResized):
2706         * css/CSSImageGeneratorValue.cpp:
2707         (WebCore::CSSImageGeneratorValue::addClient):
2708         (WebCore::CSSImageGeneratorValue::removeClient):
2709         (WebCore::CSSImageGeneratorValue::getImage):
2710         * css/CSSImageGeneratorValue.h:
2711
2712 2009-08-14  Brent Fulgham  <bfulgham@webkit.org>
2713
2714         Reviewed by Kevin Ollivier.
2715
2716         Correct libcurl crash when downloading local files.
2717         https://bugs.webkit.org/show_bug.cgi?id=28312
2718
2719         No new tests. Test is covered by fast/encoding/char-encoding-mac.html.
2720
2721         * platform/network/curl/ResourceHandleManager.cpp:
2722         (WebCore::handleLocalReceiveResponse): New static function that
2723           performs the local setting of valid URL and firing didReceiveResponse.
2724           This code was moved from writeCallback.
2725         (WebCore::writeCallback): Move local file handling to static function
2726           (above) and use the function instead.
2727         (WebCore::readCallback): Add check
2728           for responseFired, and handle as a local file if it was not.
2729
2730 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
2731
2732         Reviewed by Oliver Hunt.
2733
2734         [Haiku] Fix RenderThemeHaiku build.
2735         https://bugs.webkit.org/show_bug.cgi?id=28307
2736
2737         * platform/haiku/RenderThemeHaiku.cpp: Included RenderThemeHaiku.h
2738         instead of RenderTheme.h.
2739         (WebCore::RenderThemeHaiku::paintCheckbox): Removed the wrong 'virtual'
2740         before the function.
2741         (WebCore::RenderThemeHaiku::paintRadio): Removed the wrong 'virtual'
2742         before the function.
2743         * platform/haiku/RenderThemeHaiku.h: Corrected wrong function definitions.
2744
2745 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
2746
2747         Reviewed by Oliver Hunt.
2748
2749         [Haiku] Adding SharedBufferHaiku to WebCore.
2750         https://bugs.webkit.org/show_bug.cgi?id=28309
2751
2752         * platform/haiku/SharedBufferHaiku.cpp: Added.
2753         (WebCore::SharedBuffer::createWithContentsOfFile):
2754         * platform/haiku/TemporaryLinkStubs.cpp: Removed unnecessary headers
2755         and functions.
2756         (WebCore::signedPublicKeyAndChallengeString):
2757         (WebCore::getSupportedKeySizes):
2758
2759 2009-08-14  Nate Chapin  <japhet@chromium.org>
2760
2761         Reviewed by Dimitri Glazkov.
2762
2763         Ensure we're getting the right v8 context in the V8 DOMWindowEvent custom getter.
2764
2765         https://bugs.webkit.org/show_bug.cgi?id=28311
2766
2767         This should fix Chromium failing LayoutTests/fast/events/set-event-in-another-frame.html.
2768
2769         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2770         (WebCore::ACCESSOR_GETTER):
2771
2772 2009-08-14  Aaron Boodman  <aa@chromium.org>
2773
2774         Reviewed by Alexey Proskuryakov.
2775
2776         BUG 28134: Move the remaining parts of Access Control from XMLHttpRequest to ThreadableDocumentLoader.
2777         https://bugs.webkit.org/show_bug.cgi?id=28134
2778
2779         No new tests added since Access Control was already well tested and this is a pure refactor.
2780
2781         * loader/DocumentThreadableLoader.cpp: Move a lot of the access control code from XHR in, preserving its
2782         basic strategy. Also, modify the synchronous path to not be a special case, but reuse more of the async
2783         path.
2784
2785         (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Go through the async path and pass additional flags.
2786         (WebCore::DocumentThreadableLoader::create): Group enum params into an options struct.
2787         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
2788         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Brought mostly from XHR.
2789         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Ditto.
2790         (WebCore::DocumentThreadableLoader::willSendRequest): Handle preflight case.
2791         (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
2792         (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
2793         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Ditto.
2794         (WebCore::DocumentThreadableLoader::preflightSuccess): Preflight handling.
2795         (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
2796         (WebCore::DocumentThreadableLoader::loadRequest): Common request function that handles async/sync.
2797         * loader/DocumentThreadableLoader.h: Group enum params into an options struct.
2798         * loader/ThreadableLoader.cpp: Ditto.
2799         (WebCore::ThreadableLoader::create): Ditto.
2800         (WebCore::ThreadableLoader::loadResourceSynchronously): Ditto.
2801         * loader/ThreadableLoader.h: Ditto.
2802         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Ditto.
2803         * loader/WorkerThreadableLoader.cpp: Ditto.
2804         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):Ditto.
2805         (WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto.
2806         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto.
2807         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Ditto.
2808         * loader/WorkerThreadableLoader.h: Ditto.
2809         (WebCore::WorkerThreadableLoader::create): Ditto.
2810         * platform/CrossThreadCopier.h: Allow ThreadableLoaderOptions to be copied across threads.
2811         (WebCore::):
2812         * workers/WorkerScriptLoader.cpp: More enum->struct grouping.
2813         (WebCore::WorkerScriptLoader::loadSynchronously): More enum->struct grouping.
2814         (WebCore::WorkerScriptLoader::loadAsynchronously): More enum->struct grouping.
2815         * xml/XMLHttpRequest.cpp: Remove all the access control code and some supporting state.
2816         (WebCore::XMLHttpRequest::XMLHttpRequest): Ditto.
2817         (WebCore::XMLHttpRequest::createRequest): Ditto.
2818         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
2819         (WebCore::XMLHttpRequest::didReceiveResponse): Ditto.
2820         (WebCore::XMLHttpRequest::didReceiveData): Ditto.
2821         * xml/XMLHttpRequest.h: Ditto.
2822
2823 2009-08-14  Darin Adler  <darin@apple.com>
2824
2825         Reviewed by Sam Weinig.
2826
2827         Rename the confusing isObject(<class>) to inherits(<class>).
2828         It still works on non-objects, returning false.
2829
2830         * bindings/js/JSEventTarget.cpp:
2831         (WebCore::toEventTarget):
2832         * bindings/js/JSGeolocationCustom.cpp:
2833         (WebCore::createPositionCallback):
2834         (WebCore::createPositionErrorCallback):
2835         * bindings/js/JSNodeFilterCustom.cpp:
2836         (WebCore::toNodeFilter):
2837         * bindings/js/JSXMLHttpRequestCustom.cpp:
2838         (WebCore::JSXMLHttpRequest::send):
2839         * bindings/js/JSXSLTProcessorCustom.cpp:
2840         (WebCore::JSXSLTProcessor::importStylesheet):
2841         (WebCore::JSXSLTProcessor::transformToFragment):
2842         (WebCore::JSXSLTProcessor::transformToDocument):
2843         * bindings/scripts/CodeGeneratorJS.pm:
2844         * bridge/objc/objc_runtime.mm:
2845         (JSC::Bindings::callObjCFallbackObject):
2846         * bridge/runtime_method.cpp:
2847         (JSC::callRuntimeMethod):
2848         Updated to new name, inherits, from old name, isObject.
2849
2850 2009-08-14  Yael Aharon  <yael.aharon@nokia.com>
2851
2852         Reviewed by Simon Hausmann.
2853
2854         Allow Qt API to list and to remove URL schemes that were registered as
2855         local URL schemes.
2856         [Qt] Allow applications to register their own local URL scheme.
2857         https://bugs.webkit.org/show_bug.cgi?id=28240
2858
2859         * page/SecurityOrigin.cpp:
2860         (WebCore::SecurityOrigin::removeURLSchemeRegisteredAsLocal):
2861         (WebCore::SecurityOrigin::localURLSchemes):
2862         * page/SecurityOrigin.h:
2863
2864 2009-08-14  Pavel Feldman  <pfeldman@chromium.org>
2865
2866         Reviewed by Timothy Hatcher.
2867
2868         WebInspector: Wrap console objects late (in the frontend) so that injected
2869         script was already in place.
2870
2871         https://bugs.webkit.org/show_bug.cgi?id=28297
2872
2873         * inspector/ConsoleMessage.cpp:
2874         (WebCore::ConsoleMessage::ConsoleMessage):
2875         * inspector/ConsoleMessage.h:
2876         * inspector/InspectorController.cpp:
2877         (WebCore::InspectorController::addMessageToConsole):
2878         (WebCore::InspectorController::startGroup):
2879         (WebCore::InspectorController::setFrontendProxyObject):
2880         * inspector/InspectorController.h:
2881         * inspector/InspectorFrontend.cpp:
2882         (WebCore::InspectorFrontend::InspectorFrontend):
2883         (WebCore::InspectorFrontend::addMessageToConsole):
2884         * inspector/InspectorFrontend.h:
2885
2886 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
2887
2888         Reviewed by Dan Bernstein.
2889
2890         Fix logic in RenderObject::updateFillImages() that led to incorrect client
2891         counts if an image was used twice in the background-image property.
2892         https://bugs.webkit.org/show_bug.cgi?id=28295
2893
2894         Test: fast/backgrounds/multiple-backgrounds-assert.html
2895
2896         * rendering/RenderObject.cpp:
2897         (WebCore::RenderObject::updateFillImages):
2898         Simplify the logic to call addClient()/removeClient() for every background
2899         image, but go through the new layers first to avoid removing all the
2900         clients of an image.
2901
2902 2009-08-13  Oliver Hunt  <oliver@apple.com>
2903
2904         Reviewed by Maciej Stachowiak.
2905
2906         Devirtualise marking
2907         https://bugs.webkit.org/show_bug.cgi?id=28294
2908
2909         Make sure we override the JSObject createStructure method on those
2910         objects that have custom marking routines.
2911
2912         * bindings/scripts/CodeGeneratorJS.pm:
2913
2914 2009-08-13  Darin Adler  <darin@apple.com>
2915
2916         Reviewed by Mark Rowe.
2917
2918         Follow-up to earlier work to remove dependencies on JavaScriptCore.
2919
2920         * ForwardingHeaders/parser/Parser.h: Removed.
2921         * inspector/JavaScriptDebugServer.cpp: Removed now-unneeded includes
2922         of Parser.h.
2923
2924 2009-08-13  Dan Bernstein  <mitz@apple.com>
2925
2926         Reviewed by Eric Seidel.
2927
2928         'box-orient: block-axis' behaves like 'box-orient: horizontal', causes
2929         an assertion failure in debug builds
2930         https://bugs.webkit.org/show_bug.cgi?id=28279
2931
2932         Test: fast/flexbox/block-axis.html
2933
2934         * css/CSSPrimitiveValueMappings.h:
2935         (WebCore::CSSPrimitiveValue::operator EBoxOrient): Map block-axis to
2936         vertical.
2937
2938 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
2939
2940         Reviewed by Dan Bernstein.
2941
2942         Fix crash when removing reflection on an absolutely-positioned image.
2943         https://bugs.webkit.org/show_bug.cgi?id=28289
2944         
2945         Make sure we clean up the reflection layer when removing the reflection,
2946         so that the RenderLayer tree does not contain pointers to deleted layers.
2947
2948         Test: fast/reflections/reflected-img-crash.html
2949
2950         * rendering/RenderLayer.cpp:
2951         (WebCore::RenderLayer::~RenderLayer):
2952         (WebCore::RenderLayer::styleChanged):
2953         (WebCore::RenderLayer::removeReflection):
2954         * rendering/RenderLayer.h:
2955
2956 2009-08-13  Dan Bernstein  <mitz@apple.com>
2957
2958         Reviewed by Simon Fraser.
2959
2960         misalignment because of float:left of <div> tag
2961         https://bugs.webkit.org/show_bug.cgi?id=15869
2962
2963         One section of http://edgar.sec.gov site draws to the right of the rest
2964         of the content
2965         <rdar://problem/7135951>
2966
2967         Tests: fast/block/float/avoidance-percent-width-compat.html
2968                fast/block/float/avoidance-percent-width-strict.html
2969
2970         * rendering/RenderBlock.cpp:
2971         (WebCore::RenderBlock::getClearDelta): Changed to apply the same float
2972             avoidance logic in strict mode and in compatibility mode, which
2973             matches Firefox and IE. Changed to compute and use the computed
2974             width of the child, instead of ignoring non-fixed widths.
2975
2976 2009-08-13  Steve Block  <steveblock@google.com>
2977
2978         Reviewed by Darin Adler.
2979
2980         Geolocation PositionOptions does not use correct default values.
2981         https://bugs.webkit.org/show_bug.cgi?id=27254
2982
2983         Sets the correct default values for the properties of the PositionOptions object
2984         passed to Geolocation methods. See http://www.w3.org/TR/geolocation-API/.
2985
2986         Also adds checking to throw an exception if arguments of the incorrect type are
2987         passed to Geolocation methods. Adds a layout test to test this. This test should
2988         pass on all platforms where Geolocation is implemented.
2989
2990         Test: fast/dom/Geolocation/argument-types.html
2991
2992         * bindings/js/JSGeolocationCustom.cpp:
2993         (WebCore::createPositionCallback): Added. Creates the callback.
2994         (WebCore::createPositionErrorCallback): Added. Creates the calback.
2995         (WebCore::createPositionOptions): Added. Creates the PositionOptions object, setting defaults where required.
2996         (WebCore::JSGeolocation::getCurrentPosition): Modified. Now uses above helper functions.
2997         (WebCore::JSGeolocation::watchPosition): Modified. Now uses above helper functions.
2998         * page/Geolocation.cpp:
2999         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Asserts that PositionOptions object is present.
3000         (WebCore::Geolocation::GeoNotifier::startTimer): Modified. Only starts timer if timeout has been set.
3001         * page/PositionOptions.h:
3002         (WebCore::PositionOptions::create): Modified. Creates object with default values.
3003         (WebCore::PositionOptions::timeout): Modified. Uses correct type.
3004         (WebCore::PositionOptions::hasTimeout): Added. Determines whether a timeout has been set.
3005         (WebCore::PositionOptions::setTimeout): Modified. Uses correct type.
3006         (WebCore::PositionOptions::maximumAge): Modified. Uses correct type.
3007         (WebCore::PositionOptions::setMaximumAge): Modified. Uses correct type.
3008         (WebCore::PositionOptions::PositionOptions): Modified. Creates object with default values.
3009
3010 2009-08-13  David Levin  <levin@chromium.org>
3011
3012         Unreviewed chromium build fix.
3013
3014         [Chromium] Let CodeGeneratorV8.pm know that RGBColor is ref-counted.
3015
3016         * bindings/scripts/CodeGeneratorV8.pm:
3017
3018 2009-08-13  Drew Wilson  <atwilson@google.com>
3019
3020         Reviewed by David Levin.
3021
3022         Merge error in SharedWorker code
3023         https://bugs.webkit.org/show_bug.cgi?id=28277
3024
3025         Fixed merge error that prevents WebKit from compiling with SHARED_WORKERS enabled.
3026         No new tests needed.
3027
3028         * workers/DefaultSharedWorkerRepository.cpp:
3029         Removed duplicated functions.
3030
3031 2009-08-13  Kyle Prete  <kylep@chromium.org>
3032
3033         Reviewed by Dave Levin.
3034
3035         Chromium: Show a "Playback Disabled" button on media error.
3036         https://bugs.webkit.org/show_bug.cgi?id=28196
3037         Use a disabled play button when the media file cannot be played.
3038
3039         No new tests needed. Covered by LayoutTests/media/video-empty-source.html
3040
3041         * rendering/RenderThemeChromiumSkia.cpp:
3042         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
3043
3044 2009-08-13  Mark Rowe  <mrowe@apple.com>
3045
3046         Try and fix the Qt build.
3047
3048         * bridge/qt/qt_runtime.cpp:
3049
3050 2009-08-13  Zan Dobersek  <zandobersek@gmail.com>
3051
3052         Reviewed by Gustavo Noronha.
3053
3054         [GTK] Drag and drop support
3055         https://bugs.webkit.org/show_bug.cgi?id=23642
3056
3057         Utilizes functions that are being called upon drag and drop actions.
3058         Uses different GTK clipboards that hold different types
3059         of drag data - images, HTML markup, text, URL, URL label.
3060         Also clears each clipboard before setting new data to it.
3061
3062         No new tests - despite some implementations, no new functionality
3063         is added until implementations of the GTK drag and drop protocol
3064         in WebKit part.
3065
3066         * platform/gtk/ClipboardGtk.cpp:
3067         (WebCore::ClipboardGtk::ClipboardGtk):
3068         (WebCore::ClipboardGtk::~ClipboardGtk):
3069         (WebCore::getCachedImage):
3070         (WebCore::ClipboardGtk::declareAndWriteDragImage):
3071         (WebCore::ClipboardGtk::writeURL):
3072         (WebCore::ClipboardGtk::writeRange):
3073         * platform/gtk/ClipboardGtk.h: ClipboardGdk -> ClipboardGtk
3074
3075 2009-08-13  Darin Adler  <darin@apple.com>
3076
3077         Reviewed by David Levin.
3078
3079         JavaScriptCore tweaks to get ready for the parser arena
3080         https://bugs.webkit.org/show_bug.cgi?id=28243
3081
3082         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Removed.
3083
3084         * WebCore.xcodeproj/project.pbxproj: Exposed a couple header
3085         files as Private that are now needed to compile Mac WebKit.
3086
3087         * bindings/js/JSAudioConstructor.cpp:
3088         * bindings/js/JSDOMBinding.cpp:
3089         * bindings/js/JSDOMBinding.h:
3090         * bindings/js/JSDOMWindowCustom.cpp:
3091         * bindings/js/JSHTMLInputElementCustom.cpp:
3092         * bindings/js/JSHistoryCustom.cpp:
3093         * bindings/js/JSImageConstructor.cpp:
3094         * bindings/js/JSLazyEventListener.cpp:
3095         * bindings/js/JSLocationCustom.cpp:
3096         * bindings/js/JSMessageChannelConstructor.cpp:
3097         * bindings/js/JSOptionConstructor.cpp:
3098         * bindings/js/JSWebSocketConstructor.cpp:
3099         * bindings/js/JSWebSocketCustom.cpp:
3100         * bindings/js/JSWorkerConstructor.cpp:
3101         * bindings/js/JSXMLHttpRequestConstructor.cpp:
3102         * bridge/jni/jni_jsobject.mm:
3103         Updated includes.
3104
3105         * inspector/JavaScriptDebugServer.cpp:
3106         (WebCore::JavaScriptDebugServer::sourceParsed):
3107         Change to not assert if this is called with no listeners.
3108         I don't think this was guaranteed before, and we now use
3109         this code path when recompiling. Slightly less efficient,
3110         but this is a one-time cost when turning on the debugger.
3111         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
3112         Change to call Debugger::recompileAllJSFunctions.
3113
3114 2009-08-13  Brady Eidson  <beidson@apple.com>
3115
3116         Reviewed by Eric Seidel.
3117
3118         <rdar://problem/7138591> and https://bugs.webkit.org/show_bug.cgi?id=28260
3119         onhashchange property cannot be set from javascript.
3120
3121         Test: fast/loader/onhashchange-attribute-listeners.html
3122
3123         * html/HTMLBodyElement.cpp:
3124         (WebCore::HTMLBodyElement::onhashchange):
3125         (WebCore::HTMLBodyElement::setOnhashchange):
3126         * html/HTMLBodyElement.h:
3127         * html/HTMLBodyElement.idl:
3128
3129         * html/HTMLFrameSetElement.cpp:
3130         (WebCore::HTMLFrameSetElement::onhashchange):
3131         (WebCore::HTMLFrameSetElement::setOnhashchange):
3132         * html/HTMLFrameSetElement.h:
3133         * html/HTMLFrameSetElement.idl:
3134
3135         * page/DOMWindow.cpp:
3136         (WebCore::DOMWindow::onhashchange):
3137         (WebCore::DOMWindow::setOnhashchange):
3138         * page/DOMWindow.h:
3139         * page/DOMWindow.idl:
3140
3141 2009-08-13  Mark Rowe  <mrowe@apple.com>
3142
3143         Reviewed by Geoff Garen.
3144
3145         Fix leaks of RGBColor instances from below SVGColor::rgbColor.
3146
3147         * svg/SVGColor.cpp:
3148         (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
3149         RGBColor is cleaned up by the caller.
3150         * svg/SVGColor.h:
3151
3152 2009-08-13  Pavel Feldman  <pfeldman@chromium.org>
3153
3154         Reviewed by Timothy Hatcher.
3155
3156         WebInspector: Migrate to DOMAgent (serialized access to DOM).
3157
3158         https://bugs.webkit.org/show_bug.cgi?id=28177
3159
3160         * bindings/js/JSInspectorBackendCustom.cpp:
3161         (WebCore::JSInspectorBackend::highlightDOMNode):
3162         (WebCore::JSInspectorBackend::nodeForId):
3163         (WebCore::JSInspectorBackend::idForNode):
3164         (WebCore::JSInspectorBackend::wrapObject):
3165         (WebCore::JSInspectorBackend::unwrapObject):
3166         (WebCore::JSInspectorBackend::pushNodePathToFrontend):
3167         (WebCore::JSInspectorBackend::selectDatabase):
3168         (WebCore::JSInspectorBackend::selectDOMStorage):
3169         * bindings/js/ScriptObjectQuarantine.cpp:
3170         (WebCore::getQuarantinedScriptObject):
3171         * bindings/js/ScriptObjectQuarantine.h:
3172         * bindings/js/ScriptValue.cpp:
3173         (WebCore::ScriptValue::isObject):
3174         * bindings/js/ScriptValue.h:
3175         * bindings/v8/ScriptObjectQuarantine.cpp:
3176         (WebCore::getQuarantinedScriptObject):
3177         * bindings/v8/ScriptObjectQuarantine.h:
3178         * bindings/v8/ScriptValue.h:
3179         (WebCore::ScriptValue::isObject):
3180         * bindings/v8/custom/V8CustomBinding.h:
3181         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
3182         (WebCore::CALLBACK_FUNC_DECL):
3183         * inspector/ConsoleMessage.cpp:
3184         (WebCore::ConsoleMessage::ConsoleMessage):
3185         * inspector/ConsoleMessage.h:
3186         * inspector/InspectorBackend.cpp:
3187         (WebCore::InspectorBackend::clearMessages):
3188         (WebCore::InspectorBackend::loaded):
3189         (WebCore::InspectorBackend::highlight):
3190         (WebCore::InspectorBackend::nodeForId):
3191         (WebCore::InspectorBackend::idForNode):
3192         (WebCore::InspectorBackend::wrapObject):
3193         (WebCore::InspectorBackend::unwrapObject):
3194         (WebCore::InspectorBackend::pushNodePathToFrontend):
3195         (WebCore::InspectorBackend::addNodesToSearchResult):
3196         (WebCore::InspectorBackend::selectDatabase):
3197         (WebCore::InspectorBackend::selectDOMStorage):
3198         * inspector/InspectorBackend.h:
3199         * inspector/InspectorBackend.idl:
3200         * inspector/InspectorController.cpp:
3201         (WebCore::InspectorController::InspectorController):
3202         (WebCore::InspectorController::focusNode):
3203         (WebCore::InspectorController::addMessageToConsole):
3204         (WebCore::InspectorController::clearConsoleMessages):
3205         (WebCore::InspectorController::startGroup):
3206         (WebCore::InspectorController::scriptObjectReady):
3207         (WebCore::InspectorController::setFrontendProxyObject):
3208         (WebCore::InspectorController::close):
3209         (WebCore::InspectorController::didCommitLoad):
3210         (WebCore::InspectorController::wrapObject):
3211         (WebCore::InspectorController::unwrapObject):
3212         * inspector/InspectorController.h:
3213         * inspector/InspectorDOMAgent.cpp:
3214         (WebCore::InspectorDOMAgent::setDocument):
3215         (WebCore::InspectorDOMAgent::handleEvent):
3216         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
3217         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3218         (WebCore::InspectorDOMAgent::nodeForId):
3219         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
3220         (WebCore::InspectorDOMAgent::buildObjectForNode):
3221         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
3222         (WebCore::InspectorDOMAgent::innerParentElement):
3223         * inspector/InspectorDOMAgent.h:
3224         * inspector/InspectorDOMStorageResource.cpp:
3225         (WebCore::InspectorDOMStorageResource::bind):
3226         * inspector/InspectorFrontend.cpp:
3227         (WebCore::InspectorFrontend::clearConsoleMessages):
3228         (WebCore::InspectorFrontend::updateFocusedNode):
3229         (WebCore::InspectorFrontend::setDocument):
3230         (WebCore::InspectorFrontend::selectDatabase):
3231         (WebCore::InspectorFrontend::selectDOMStorage):
3232         (WebCore::InspectorFrontend::addNodesToSearchResult):
3233         * inspector/InspectorFrontend.h:
3234         * inspector/front-end/ConsoleView.js:
3235         (WebInspector.ConsoleView.prototype.clearMessages):
3236         (WebInspector.ConsoleView.prototype.completions):
3237         (WebInspector.ConsoleView.prototype._reportCompletions):
3238         (WebInspector.ConsoleView.prototype._messagesClicked):
3239         (WebInspector.ConsoleView.prototype.doEvalInWindow.evalCallback):
3240         (WebInspector.ConsoleView.prototype.doEvalInWindow):
3241         (WebInspector.ConsoleView.prototype._format):
3242         (WebInspector.ConsoleView.prototype._formatfunction):
3243         (WebInspector.ConsoleView.prototype._formatdate):
3244         (WebInspector.ConsoleView.prototype._formatregexp):
3245         (WebInspector.ConsoleView.prototype._formatnode):
3246         (WebInspector.ConsoleView.prototype._formatobject):
3247         * inspector/front-end/DOMAgent.js:
3248         (WebInspector.DOMNode):
3249         (WebInspector.DOMNode.prototype._renumber):
3250         (WebInspector.DOMDocument):
3251         (WebInspector.DOMAgent):
3252         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
3253         (WebInspector.DOMAgent.prototype.setAttributeAsync):
3254         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
3255         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
3256         (WebInspector.DOMAgent.prototype.nodeForId):
3257         (WebInspector.DOMAgent.prototype._setDocument):
3258         (WebInspector.DOMAgent.prototype._setChildNodes):
3259         (WebInspector.DOMAgent.prototype._bindNodes):
3260         (WebInspector.DOMAgent.prototype._childNodeInserted):
3261         (WebInspector.CSSStyleDeclaration):
3262         (WebInspector.CSSStyleDeclaration.parseRule):
3263         (WebInspector.setDocument):
3264         (InspectorController.getStyles):
3265         (InspectorController.getComputedStyle):
3266         (InspectorController.getInlineStyle):
3267         (InspectorController.applyStyleText):
3268         (InspectorController.setStyleText):
3269         (InspectorController.toggleStyleEnabled):
3270         (InspectorController.applyStyleRuleText):
3271         (InspectorController.addStyleSelector):
3272         (InspectorController.setStyleProperty):
3273         (InspectorController.getPrototypes):
3274         (InspectorController.getProperties):
3275         (InspectorController.setPropertyValue):
3276         (InspectorController.evaluate):
3277         (InspectorController.addInspectedNode):
3278         (InspectorController.performSearch):
3279         (InspectorController.searchCanceled):
3280         * inspector/front-end/ElementsPanel.js:
3281         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
3282         (WebInspector.ElementsPanel.prototype.searchCanceled):
3283         (WebInspector.ElementsPanel.prototype.performSearch):
3284         (WebInspector.ElementsPanel.prototype._updateMatchesCount):
3285         (WebInspector.ElementsPanel.prototype._updateMatchesCountSoon):
3286         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
3287         * inspector/front-end/ElementsTreeOutline.js:
3288         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
3289         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
3290         (WebInspector.ElementsTreeElement.prototype.updateChildren):
3291         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
3292         * inspector/front-end/InjectedScript.js:
3293         (InjectedScript.applyStyleRuleText):
3294         (InjectedScript.addStyleSelector):
3295         (InjectedScript._doesSelectorAffectNode):
3296         (InjectedScript._serializeRule):
3297         (InjectedScript._serializeStyle):
3298         (InjectedScript.getProperties):
3299         (InjectedScript.evaluate):
3300         (InjectedScript.addInspectedNode):
3301         (InjectedScript.performSearch.addNodesToResults):
3302         (InjectedScript.performSearch.matchExactItems):
3303         (InjectedScript.performSearch.matchExactId.addNodesToResults.call):
3304         (InjectedScript.performSearch.matchExactId):
3305         (InjectedScript.performSearch):
3306         (InjectedScript.performSearch.matchExactTagNames):
3307         (InjectedScript.performSearch.matchExactAttributeNames):
3308         (InjectedScript.performSearch.matchPartialTagNames):
3309         (InjectedScript.performSearch.matchStartOfTagNames):
3310         (InjectedScript.performSearch.matchPartialTagNamesAndAttributeValues):
3311         (InjectedScript.performSearch.matchPartialAttributeValues):
3312         (InjectedScript.performSearch.matchStyleSelector):
3313         (InjectedScript.performSearch.matchPlainText):
3314         (InjectedScript.performSearch.matchXPathQuery):
3315         (InjectedScript.performSearch.finishedSearching):
3316         (InjectedScript.performSearch.processChunk):
3317         (InjectedScript.searchCanceled):
3318         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
3319         (InjectedScript._ensureCommandLineAPIInstalled):
3320         (InjectedScript._resolveObject):
3321         (InjectedScript._nodeForId):
3322         (InjectedScript._objectForId):
3323         (InjectedScript._createProxyObject):
3324         * inspector/front-end/ObjectPropertiesSection.js:
3325         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
3326         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3327         * inspector/front-end/ObjectProxy.js:
3328         (WebInspector.ObjectProxy):
3329         (WebInspector.ObjectPropertyProxy):
3330         * inspector/front-end/PropertiesSidebarPane.js:
3331         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
3332         (WebInspector.PropertiesSidebarPane.prototype.update):
3333         * inspector/front-end/StylesSidebarPane.js:
3334         (WebInspector.StylesSidebarPane.prototype.update.callback):
3335         (WebInspector.StylesSidebarPane.prototype.update):
3336         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3337         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
3338         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted.callback):
3339         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
3340         (WebInspector.StylePropertyTreeElement.prototype):
3341         * inspector/front-end/inspector.js:
3342         (WebInspector._updateHoverHighlight):
3343         (WebInspector.loaded):
3344         (WebInspector.clearConsoleMessages):
3345         (WebInspector.selectDatabase):
3346         (WebInspector.selectDOMStorage):
3347         (WebInspector.updateFocusedNode):
3348         (WebInspector.addNodesToSearchResult):
3349         * inspector/front-end/utilities.js:
3350         (Object.proxyType):
3351         * storage/Storage.h:
3352         (WebCore::Storage::frame):
3353
3354 2009-08-13  Mark Rowe  <mrowe@apple.com>
3355
3356         Reviewed by Geoff Garen.
3357
3358         Fix leaks of RGBColor instances from below CSSPrimitiveValue::getRGBColorValue.
3359
3360         * css/CSSPrimitiveValue.cpp:
3361         (WebCore::CSSPrimitiveValue::getRGBColorValue): Return a PassRefPtr to ensure that the
3362         newly-allocated RGBColor is cleaned up by the caller.
3363         * css/CSSPrimitiveValue.h:
3364
3365 2009-08-13  Eric Seidel  <eric@webkit.org>
3366
3367         Reviewed by David Hyatt.
3368
3369         wrong font size when css font-family includes monospace
3370         https://bugs.webkit.org/show_bug.cgi?id=19161
3371
3372         Firefox only uses fixed-width default size for exactly "font-family: monospace;".
3373         WebKit has historically used fixed-width default size any time a
3374         font-family includes monospace in the fallback list.
3375
3376         This patch corrects WebKit's behavior to match Firefox.
3377         I also had to fix a bug in WebKit's font-family fallback behavior where
3378         child elements would inherit parts of their parents fallback lists.
3379
3380         This patch is mostly just replacing all cases where we used to check for:
3381         fontDescription.genericFontFamily() == MonospaceFamily
3382         with:
3383         fontDescription.useFixedDefaultSize()
3384
3385         Tests: fast/css/getComputedStyle/computed-style-font-family-monospace.html
3386                fast/css/getComputedStyle/font-family-fallback-reset.html
3387
3388         * css/CSSStyleSelector.cpp:
3389         (WebCore::CSSStyleSelector::applyProperty):
3390            Deploy useFixedDefaultSize().  Also fix the bug where child
3391            FontDescriptions would carry part of the parent font-family fallback list.
3392         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
3393            It's no longer alright to just check genericFontFamily(),
3394            we have to check to make sure the changed style has a matching useFixedDefaultSize().
3395         * platform/graphics/FontDescription.h:
3396         (WebCore::FontDescription::useFixedDefaultSize):
3397            Only use the fixed default size if we have one font family and it is "monospace".
3398            "-webkit-monospace" is the internal representation of the CSS identifier "monospace".
3399
3400 2009-08-13  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
3401
3402         Reviewed by Dimitri Glazkov.
3403
3404         [v8] Fix atomic string externalization crash.
3405         Atomic string externalization assumes that all non-empty strings
3406         can be externalized which is untrue on 64-bit.  This change fixed
3407         that.
3408
3409         https://bugs.webkit.org/show_bug.cgi?id=28215
3410
3411         This bug causes loads of test crashes, no need to add new tests
3412         specifically for this.
3413
3414         * bindings/v8/V8Binding.cpp:
3415         (WebCore::v8StringToAtomicWebCoreString):
3416
3417 2009-08-13  George Staikos  <george.staikos@torchmobile.com>
3418
3419         Rubberstamped by Darin Adler.
3420
3421         Use ASSERT_UNUSED instead of UNUSED_PARAM
3422
3423         * wml/WMLAnchorElement.cpp:
3424         (WebCore::WMLAnchorElement::deregisterTask):
3425         * wml/WMLDoElement.cpp:
3426         (WebCore::WMLDoElement::deregisterTask):
3427
3428 2009-08-13  Steve Block  <steveblock@google.com>
3429
3430         Reviewed by Darin Adler.
3431
3432         Fixes a couple of bugs in SecurityOrigin::createFromDatabaseIdentifier.
3433         https://bugs.webkit.org/show_bug.cgi?id=28262
3434
3435         No new tests possible.
3436
3437         * page/SecurityOrigin.cpp:
3438         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
3439
3440 2009-08-13  Dirk Schulze  <krit@webkit.org>
3441
3442         Reviewed by Eric Seidel.
3443
3444         [CAIRO] getImageData fails on a given rect bigger than the image rect
3445
3446         The destination image and the source image was mixed up on creating the
3447         imageData.
3448
3449         This is just a clean up and doesn't affect the current behavior. It's not
3450         possible to test this failure in a LayoutTest. Only canvas uses getImageData
3451         at the moment and returns before calling getImageData, if the image rect does
3452         not contain the requested rect.
3453
3454         * platform/graphics/cairo/ImageBufferCairo.cpp:
3455         (WebCore::getImageData):
3456
3457 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
3458
3459         Reviewed by Eric Seidel.
3460
3461         [Haiku] Adding RenderTheme to WebCore.
3462         https://bugs.webkit.org/show_bug.cgi?id=28258
3463
3464         * platform/haiku/RenderThemeHaiku.cpp: Added.
3465         (WebCore::RenderThemeHaiku::create):
3466         (WebCore::RenderTheme::themeForPage):
3467         (WebCore::RenderThemeHaiku::RenderThemeHaiku):
3468         (WebCore::RenderThemeHaiku::~RenderThemeHaiku):
3469         (WebCore::supportsFocus):
3470         (WebCore::RenderThemeHaiku::supportsFocusRing):
3471         (WebCore::RenderThemeHaiku::platformActiveSelectionBackgroundColor):
3472         (WebCore::RenderThemeHaiku::platformInactiveSelectionBackgroundColor):
3473         (WebCore::RenderThemeHaiku::platformActiveSelectionForegroundColor):
3474         (WebCore::RenderThemeHaiku::platformInactiveSelectionForegroundColor):
3475         (WebCore::RenderThemeHaiku::platformTextSearchHighlightColor):
3476         (WebCore::RenderThemeHaiku::systemFont):
3477         (WebCore::RenderThemeHaiku::paintCheckbox):
3478         (WebCore::RenderThemeHaiku::setCheckboxSize):
3479         (WebCore::RenderThemeHaiku::paintRadio):
3480         (WebCore::RenderThemeHaiku::setRadioSize):
3481         (WebCore::RenderThemeHaiku::adjustMenuListStyle):
3482         (WebCore::RenderThemeHaiku::paintMenuList):
3483         * platform/haiku/RenderThemeHaiku.h: Added.
3484         (WebCore::RenderThemeHaiku::supportsHover):
3485
3486 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
3487
3488         Reviewed by Eric Seidel.
3489
3490         [Haiku] Remove the "m_point" code from ContextMenuHaiku.cpp
3491         https://bugs.webkit.org/show_bug.cgi?id=28256
3492
3493         * platform/haiku/ContextMenuHaiku.cpp:
3494         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
3495         (WebCore::ContextMenu::ContextMenu):
3496         (WebCore::ContextMenu::appendItem):
3497         (WebCore::ContextMenu::insertItem):
3498
3499 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
3500
3501         Reviewed by Darin Adler.
3502
3503         Inspector: Show Hidden Cookie Data
3504         https://bugs.webkit.org/show_bug.cgi?id=28185
3505
3506           Added new file Cookie.h to the WebCore XCode
3507
3508         * WebCore.xcodeproj/project.pbxproj:
3509
3510           InspectorController.cookies() binding
3511
3512         * bindings/js/JSInspectorBackendCustom.cpp:
3513         (WebCore::JSInspectorBackend::cookies):
3514         * inspector/InspectorBackend.idl:
3515
3516           Struct for static Cookie information
3517           (name, value, path, domain, expires, httpOnly, secure, session)
3518
3519         * platform/Cookie.h: Added.
3520         (WebCore::Cookie::Cookie):
3521         
3522           Getter for the a list of raw Cookies
3523           getRawCookies(., ., out Vector<Cookie>)
3524         
3525         * platform/CookieJar.h:
3526
3527           Implementation of getRawCookies for the mac platform.
3528
3529         * platform/mac/CookieJar.mm:
3530         (WebCore::getRawCookies):
3531
3532           Stub other CookieJar implementations to satisfy the interface.
3533
3534         * platform/haiku/CookieJarHaiku.cpp:
3535         (WebCore::getRawCookies):
3536         * platform/network/chromium/CookieJarChromium.cpp:
3537         (WebCore::getRawCookies):
3538         * platform/network/curl/CookieJarCurl.cpp:
3539         (WebCore::getRawCookies):
3540         * platform/network/soup/CookieJarSoup.cpp:
3541         (WebCore::getRawCookies):
3542         * platform/network/win/CookieJarCFNetWin.cpp:
3543         (WebCore::getRawCookies):
3544         * platform/network/win/CookieJarWin.cpp:
3545         (WebCore::getRawCookies):
3546         * platform/qt/CookieJarQt.cpp:
3547         (WebCore::getRawCookies):
3548
3549 2009-08-13  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3550
3551         Reviewed by Timothy Hatcher.
3552
3553         Add a new gesture in Web Inspector to remove breakpoints
3554         https://bugs.webkit.org/show_bug.cgi?id=19131
3555         
3556         * inspector/front-end/SourceFrame.js:
3557         (WebInspector.SourceFrame.prototype._documentMouseDown):
3558
3559 2009-08-13  Norbert Leser  <norbert.leser@nokia.com>
3560
3561         Reviewed by Simon Hausmann.
3562
3563         Symbian target components (library and executable files)
3564         require Unique Identifiers (i.e., UID3).
3565         These identifiers are defined in the respective project
3566         file, conditionally for "symbian" platform.
3567
3568         * WebCore.pro:
3569
3570 2009-08-13  Shinichiro Hamaji  <hamaji@chromium.org>
3571
3572         Reviewed by Eric Seidel.
3573
3574         wrong calculation of overflow size for flexbox and table
3575         https://bugs.webkit.org/show_bug.cgi?id=28064
3576
3577         RenderFlexibleBox and RenderTable were using the width of overflow
3578         to update height of overflow, so height became wrong value and
3579         width was not updated. As the corresponding code of RenderBlock
3580         was sane, I factored it out and used from RenderFlexibleBox and
3581         RenderTable.
3582
3583         * rendering/RenderBlock.cpp:
3584         (WebCore::RenderBlock::updateOverflowWithShadowAndReflection): created from code of layoutBlock
3585         (WebCore::RenderBlock::layoutBlock):
3586         * rendering/RenderBlock.h:
3587         * rendering/RenderFlexibleBox.cpp: use updateOverflowWithShadowAndReflection
3588         (WebCore::RenderFlexibleBox::layoutBlock):
3589         * rendering/RenderTable.cpp:
3590         (WebCore::RenderTable::layout): use updateOverflowWithShadowAndReflection
3591
3592 2009-08-13  Mark Rowe  <mrowe@apple.com>
3593
3594         Revert r47185, the fix for <https://bugs.webkit.org/show_bug.cgi?id=28185>, as it broke the
3595         Windows build in a non-obvious manner.
3596
3597         * WebCore.xcodeproj/project.pbxproj:
3598         * bindings/js/JSInspectorBackendCustom.cpp:
3599         * inspector/InspectorBackend.idl:
3600         * platform/Cookie.h: Removed.
3601         * platform/CookieJar.h:
3602         * platform/haiku/CookieJarHaiku.cpp:
3603         (WebCore::setCookies):
3604         (WebCore::cookies):
3605         * platform/mac/CookieJar.mm:
3606         * platform/network/chromium/CookieJarChromium.cpp:
3607         * platform/network/curl/CookieJarCurl.cpp:
3608         * platform/network/soup/CookieJarSoup.cpp:
3609         * platform/network/win/CookieJarCFNetWin.cpp:
3610         * platform/network/win/CookieJarWin.cpp:
3611         * platform/qt/CookieJarQt.cpp:
3612
3613 2009-08-13  Ariya Hidayat  <ariya.hidayat@nokia.com>
3614
3615         Not reviewed: build fix (for r47192), adding new file from
3616         https://bugs.webkit.org/show_bug.cgi?id=28174
3617
3618         * inspector/front-end/StatusBarButton.js: Added.
3619
3620 2009-08-13  Mikhail Naganov  <mnaganov@chromium.org>
3621
3622         Reviewed by Timothy Hatcher.
3623
3624         Introduced StatusBarButton class that encapsulates glyphs support.
3625         Views updated accordingly.
3626
3627         https://bugs.webkit.org/show_bug.cgi?id=28174
3628
3629         * WebCore.gypi:
3630         * WebCore.vcproj/WebCore.vcproj:
3631         * inspector/front-end/CookieItemsView.js:
3632         (WebInspector.CookieItemsView):
3633         (WebInspector.CookieItemsView.prototype.get statusBarItems): Updated to retrieve DOM element from StatusBarButton instance (here and in similar getters below.)
3634         (WebInspector.CookieItemsView.prototype.hide):
3635         (WebInspector.CookieItemsView.prototype.update):
3636         * inspector/front-end/DOMStorageItemsView.js:
3637         (WebInspector.DOMStorageItemsView):
3638         (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
3639         (WebInspector.DOMStorageItemsView.prototype.hide):
3640         (WebInspector.DOMStorageItemsView.prototype.update):
3641         * inspector/front-end/ElementsPanel.js:
3642         (WebInspector.ElementsPanel):
3643         (WebInspector.ElementsPanel.prototype.get statusBarItems):
3644         (WebInspector.ElementsPanel.prototype.hide):
3645         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
3646         * inspector/front-end/Panel.js:
3647         * inspector/front-end/ProfileView.js:
3648         (WebInspector.ProfileView):
3649         (WebInspector.ProfileView.prototype.get statusBarItems):
3650         (WebInspector.ProfileView.prototype._updatePercentButton):
3651         (WebInspector.ProfileView.prototype._focusClicked):
3652         (WebInspector.ProfileView.prototype._excludeClicked):
3653         (WebInspector.ProfileView.prototype._resetClicked):
3654         * inspector/front-end/ProfilesPanel.js:
3655         (WebInspector.ProfilesPanel):
3656         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
3657         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
3658         (WebInspector.ProfilesPanel.prototype._updateInterface):
3659         * inspector/front-end/ResourcesPanel.js:
3660         (WebInspector.ResourcesPanel.prototype.get statusBarItems):
3661         (WebInspector.ResourcesPanel.prototype.reset):
3662         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
3663         * inspector/front-end/ScriptsPanel.js:
3664         (WebInspector.ScriptsPanel):
3665         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
3666         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
3667         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
3668         * inspector/front-end/StatusBarButton.js: Added.
3669         (WebInspector.StatusBarButton):
3670         (WebInspector.StatusBarButton.prototype._clicked):
3671         (WebInspector.StatusBarButton.prototype.get disabled):
3672         (WebInspector.StatusBarButton.prototype.set disabled):
3673         (WebInspector.StatusBarButton.prototype.get title):
3674         (WebInspector.StatusBarButton.prototype.set title):
3675         (WebInspector.StatusBarButton.prototype.get toggled):
3676         (WebInspector.StatusBarButton.prototype.set toggled):
3677         (WebInspector.StatusBarButton.prototype.get visible):
3678         (WebInspector.StatusBarButton.prototype.set visible):
3679         * inspector/front-end/WebKit.qrc:
3680         * inspector/front-end/inspector.css: For uniformity, class names are always used to identify status bar buttons. Also, fixed "Reload" button style to use glyphs.
3681         * inspector/front-end/inspector.html:
3682
3683 2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
3684
3685         Reviewed by Simon Hausmann.
3686
3687         [Qt] Add shadow support in GraphicsContext::fillRect().
3688
3689         * platform/graphics/qt/GraphicsContextQt.cpp:
3690         (WebCore::GraphicsContext::fillRect): Paint shadow if necessary.
3691         (WebCore::GraphicsContext::setPlatformShadow): Inverse y offset.
3692
3693 2009-08-13  David Levin  <levin@chromium.org>
3694
3695         Unreviewed build fix for Chromium Linux.
3696
3697         Rollback r47157 as this broke debug tests of Chromium Linux.
3698
3699         * platform/graphics/skia/PlatformContextSkia.cpp:
3700         (PlatformContextSkia::setupPaintCommon):
3701
3702 2009-08-13  David Levin  <levin@chromium.org>
3703
3704         Unreviewed build fix for chromium.
3705
3706         The chromium build broke due to r47185 which added
3707         a cookies array to inspector/InspectorBackend.idl.
3708
3709         * bindings/v8/custom/V8CustomBinding.h: Added the declaration for the cookies callback.
3710         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
3711         (WebCore::CALLBACK_FUNC_DECL(InspectorBackendCookies)): Stubbed out an implementation
3712          for the cookies callback.
3713
3714 2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
3715
3716         Reviewed by Timothy Hatcher.
3717
3718         Inspector: Show Hidden Cookie Data
3719         https://bugs.webkit.org/show_bug.cgi?id=28185
3720
3721           Added new file Cookie.h to the WebCore XCode
3722
3723         * WebCore.xcodeproj/project.pbxproj:
3724
3725           InspectorController.cookies() binding
3726
3727         * bindings/js/JSInspectorBackendCustom.cpp:
3728         (WebCore::JSInspectorBackend::cookies):
3729         * inspector/InspectorBackend.idl:
3730
3731           Struct for static Cookie information
3732           (name, value, path, domain, expires, httpOnly, secure, session)
3733
3734         * platform/Cookie.h: Added.
3735         (WebCore::Cookie::Cookie):
3736         
3737           Getter for the a list of raw Cookies
3738           getRawCookies(., ., out Vector<Cookie>)
3739         
3740         * platform/CookieJar.h:
3741
3742           Implementation of getRawCookies for the mac platform.
3743
3744         * platform/mac/CookieJar.mm:
3745         (WebCore::getRawCookies):
3746
3747           Stub other CookieJar implementations to satisfy the interface.
3748
3749         * platform/haiku/CookieJarHaiku.cpp:
3750         (WebCore::getRawCookies):
3751         * platform/network/chromium/CookieJarChromium.cpp:
3752         (WebCore::getRawCookies):
3753         * platform/network/curl/CookieJarCurl.cpp:
3754         (WebCore::getRawCookies):
3755         * platform/network/soup/CookieJarSoup.cpp:
3756         (WebCore::getRawCookies):
3757         * platform/network/win/CookieJarCFNetWin.cpp:
3758         (WebCore::getRawCookies):
3759         * platform/network/win/CookieJarWin.cpp:
3760         (WebCore::getRawCookies):
3761         * platform/qt/CookieJarQt.cpp:
3762         (WebCore::getRawCookies):
3763
3764 2009-08-08  Joseph Pecoraro  <joepeck02@gmail.com>
3765
3766         Reviewed by Timothy Hatcher.
3767
3768         Inspector: Cookies in Storage Panel
3769         https://bugs.webkit.org/show_bug.cgi?id=27202
3770
3771           Data Structure for a Cookie. Just Key/Value for Now:
3772
3773         * inspector/front-end/Cookie.js: Added.
3774         (WebInspector.Cookie):
3775         (WebInspector.Cookie.prototype.get key):
3776         (WebInspector.Cookie.prototype.set key):
3777         (WebInspector.Cookie.prototype.get value):
3778         (WebInspector.Cookie.prototype.set value):
3779
3780           A Storage View for Cookies.  Allows for Refresh/Delete:
3781
3782         * inspector/front-end/CookieItemsView.js: Added.
3783         (WebInspector.CookieItemsView):
3784         (WebInspector.CookieItemsView.prototype.get statusBarItems): refresh and delete buttons
3785         (WebInspector.CookieItemsView.prototype.show):
3786         (WebInspector.CookieItemsView.prototype.hide):
3787         (WebInspector.CookieItemsView.prototype.update):
3788         (WebInspector.CookieItemsView.prototype.buildCookies): parses the inspected window's document.cookie string
3789         (WebInspector.CookieItemsView.prototype.dataGridForCookies): creates a datagrid for cookies
3790         (WebInspector.CookieItemsView.prototype._deleteButtonClicked): attempt at deleting the cookie (not flawless)
3791         (WebInspector.CookieItemsView.prototype._refreshButtonClicked): rebuild the datagrid
3792
3793           Include a SidebarSection Section in the Databases Panel:
3794
3795         * inspector/front-end/DatabasesPanel.js:
3796         (WebInspector.DatabasesPanel):
3797         (WebInspector.DatabasesPanel.prototype.show): calls populateInterface
3798         (WebInspector.DatabasesPanel.prototype.populateInterface): adds cookies if they don't exist
3799         (WebInspector.DatabasesPanel.prototype.reset): remove cookie specific parts
3800         (WebInspector.DatabasesPanel.prototype.addCookies): add cookies sidebar tree element
3801         (WebInspector.DatabasesPanel.prototype.showCookies): sets the visible view to a CookiesItemView
3802         (WebInspector.CookieSidebarTreeElement):
3803         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
3804         (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): just "Cookies" at the moment
3805         (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
3806         (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): no subtitle yet
3807         (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
3808
3809           New "Cookies" Image for the Sidebar:
3810
3811         * inspector/front-end/Images/cookie.png: Added.
3812         * inspector/front-end/inspector.css:
3813
3814           Include the Added Files where appropriate:
3815
3816         * inspector/front-end/WebKit.qrc:
3817         * inspector/front-end/inspector.html:
3818
3819 2009-08-12  George Wright  <george.wright@torchmobile.com>
3820
3821         Reviewed by George Staikos.
3822
3823         Add SQLTransactionCoordinator.[h,cpp] to WebCore.pro.
3824
3825         https://bugs.webkit.org/show_bug.cgi?id=28246
3826
3827         * WebCore.pro:
3828
3829 2009-08-12  George Staikos  <george.staikos@torchmobile.com>
3830
3831         Reviewed by Adam Treat.
3832
3833         Mark unused variables to avoid compile failures in -Werror.
3834
3835         * wml/WMLAnchorElement.cpp:
3836         (WebCore::WMLAnchorElement::deregisterTask):
3837         * wml/WMLDoElement.cpp:
3838         (WebCore::WMLDoElement::deregisterTask):
3839
3840 2009-08-12  Charles Wei  <charles.wei@torchmobile.com.cn>
3841
3842         Reviewed by Niko Zimmermann.
3843
3844         This is to add WCSS marquee support , which is defined by OMA and is an extension for CSS2, 
3845         It extends CSS display with "display:-wap-marquee;-wap-marquee-dir:xxx;-wap-marquee-speed:xxx;-wap-marquee-style:xxx"
3846         Minor fixes by Eric Seidel and George Staikos.
3847         https://bugs.webkit.org/show_bug.cgi?id=23727
3848
3849         No new tests, the tests have already been landed at LayoutTests/fast/wcss/
3850
3851         * WebCore.pro:
3852         * css/CSSParser.cpp:
3853         (WebCore::CSSParser::parseValue):
3854         * css/CSSPrimitiveValueMappings.h:
3855         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3856         * css/CSSStyleSelector.cpp:
3857         (WebCore::CSSStyleSelector::applyProperty):
3858         * css/CSSValueKeywords.in:
3859         * css/WCSSPropertyNames.in: Added.
3860         * css/WCSSValueKeywords.in: Added.
3861         * rendering/RenderMarquee.cpp:
3862         (WebCore::RenderMarquee::start):
3863         * rendering/RenderObject.cpp:
3864         (WebCore::RenderObject::createObject):
3865         * rendering/style/RenderStyleConstants.h:
3866         (WebCore::):
3867
3868 2009-08-12  George Wright  <george.wright@torchmobile.com>
3869
3870         Reviewed by David Hyatt.
3871
3872         Update the canvas renderer's intrinsic size with the zoomed
3873         lengths and ensure the intrinsic size is correct when setting
3874         an initial style.
3875
3876         https://bugs.webkit.org/show_bug.cgi?id=26908
3877
3878         Test: fast/canvas/canvas-zoom.html
3879
3880         * rendering/RenderHTMLCanvas.cpp:
3881         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
3882         * rendering/RenderReplaced.cpp:
3883         (WebCore::RenderReplaced::styleDidChange):
3884
3885 2009-08-12  Alpha Lam  <hclam@chromium.org>
3886
3887         Reviewed by Simon Fraser.
3888
3889         Fix regression for dragging the media controller thumb.
3890         https://bugs.webkit.org/show_bug.cgi?id=28211
3891
3892         Modified the conditions for rejecting events on the media controller
3893         to only rejecting mouse events not from the left button.
3894
3895         Test: media/controls-drag-timebar.html
3896
3897         * rendering/MediaControlElements.cpp:
3898         (WebCore::MediaControlTimelineElement::defaultEventHandler):
3899
3900 2009-08-12  Dumitru Daniliuc  <dumi@chromium.org>
3901
3902         Reviewed by Eric Seidel.
3903
3904         Fixing a deadlock caused by two transactions that run on two
3905         different database handles for the same DB. Adding a per-DB thread
3906         transaction coordinator that allows the DB thread to run only one
3907         transaction per DB file at any given time.
3908
3909         Adding a regression test for this bug.
3910
3911         Test: storage/multiple-transactions-on-different-handles.html
3912
3913         https://bugs.webkit.org/show_bug.cgi?id=27966
3914
3915         * GNUmakefile.am:
3916         * WebCore.gypi:
3917         * WebCore.vcproj/WebCore.vcproj:
3918         * WebCore.xcodeproj/project.pbxproj:
3919         * storage/Database.cpp:
3920         (WebCore::Database::transactionCoordinator):
3921         * storage/Database.h:
3922         * storage/DatabaseThread.cpp:
3923         (WebCore::DatabaseThread::DatabaseThread):
3924         * storage/DatabaseThread.h:
3925         (WebCore::DatabaseThread::transactionCoordinator):
3926         * storage/SQLTransaction.cpp:
3927         (WebCore::SQLTransaction::SQLTransaction):
3928         (WebCore::SQLTransaction::debugStepName):
3929         (WebCore::SQLTransaction::performNextStep):
3930         (WebCore::SQLTransaction::aquireLock):
3931         (WebCore::SQLTransaction::lockAquired):
3932         (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
3933         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
3934         * storage/SQLTransaction.h:
3935         * storage/SQLTransactionCoordinator.cpp: Added.
3936         * storage/SQLTransactionCoordinator.h: Added.
3937
3938 2009-08-12  Darin Adler  <darin@apple.com>
3939
3940         Reviewed by Geoff Garen.
3941
3942         Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test)
3943         https://bugs.webkit.org/show_bug.cgi?id=28194
3944
3945         * GNUmakefile.am: Added the two new source files.
3946         * WebCore.gypi: Ditto.
3947         * WebCore.pro: Ditto.
3948         * WebCore.vcproj/WebCore.vcproj: Ditto.
3949         * WebCore.xcodeproj/project.pbxproj: Ditto.
3950         * WebCoreSources.bkl: Ditto.
3951
3952         * bindings/js/JSCSSRuleListCustom.cpp: Added.
3953         (WebCore::JSCSSRuleList::markChildren): Call markDOMObjectWrapper
3954         on rules in the list.
3955
3956         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3957         (WebCore::JSCSSStyleDeclaration::markChildren): Added. Call
3958         markDOMObjectWrapper on the CSSValue objects that are owned by the
3959         declaration as values of the properties.
3960
3961         * bindings/js/JSDOMBinding.cpp:
3962         (WebCore::isObservableThroughDOM): Added code to handle some
3963         cases where nodes are observable because they own objects that
3964         in turn have custom properties.
3965
3966         * bindings/js/JSDOMBinding.h: Fix a typo in the header.
3967
3968         * bindings/js/JSDocumentCustom.cpp:
3969         (WebCore::JSDocument::markChildren): Added call to markDOMObjectWrapper
3970         for implementation and styleSheets.
3971
3972         * bindings/js/JSElementCustom.cpp:
3973         (WebCore::JSElement::markChildren): Added. Calls markDOMObjectWrapper
3974         for attributes and style.
3975
3976         * bindings/js/JSHTMLCanvasElementCustom.cpp: Added.
3977         (WebCore::JSHTMLCanvasElement::markChildren): Call markDOMObjectWrapper
3978         on the rendering context.
3979
3980         * bindings/js/JSStyleSheetCustom.cpp:
3981         (WebCore::JSStyleSheet::markChildren): Call markDOMObjectWrapper on
3982         items in the stylesheet.
3983
3984         * bindings/js/JSStyleSheetListCustom.cpp:
3985         (WebCore::JSStyleSheetList::markChildren): Added. Calls
3986         markDOMObjectWrapper on stylesheets in the list.
3987
3988         * css/CSSRuleList.idl: Added CustomMarkFunction.
3989         * css/CSSStyleDeclaration.idl: Ditto.
3990         * css/StyleSheetList.idl: Ditto.
3991         * dom/Element.idl: Ditto.
3992         * html/HTMLCanvasElement.idl: Ditto.
3993
3994         * dom/Element.h: Made everything private that could be.
3995         Added access to the attributeMap that does returns
3996         the existing map without doing any of the lazy-updating work. This
3997         is needed to get at the existing attributes during garbage collection
3998         without having side effects.
3999
4000         * html/HTMLCanvasElement.h: Cleaned up the header a bit, making
4001         members private. Added renderingContext2D function for use in
4002         JSHTMLCanvasElement::markChildren.
4003
4004 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
4005
4006         Reviewed by Eric Seidel.
4007
4008         Fixes two bugs about Pan Scrolling - Scrolling with middle mouse button doesn't 
4009         work in Expanded view on reader.google.com, and Can enter auto scroll from a non-scrollable area.
4010         https://bugs.webkit.org/show_bug.cgi?id=28023
4011         https://bugs.webkit.org/show_bug.cgi?id=24794
4012         
4013         Added a new method to RenderBox seeing if the Box can be scrolled and actually has something to
4014         scroll, and use that for pan scrolling.
4015
4016         Test: platform/win/fast/events/panScroll-nested-divs.html
4017
4018         * page/EventHandler.cpp:
4019         (WebCore::EventHandler::handleMouseDraggedEvent):
4020         (WebCore::EventHandler::updateAutoscrollRenderer):
4021         (WebCore::EventHandler::handleMousePressEvent):
4022         * rendering/RenderBox.cpp:
4023         (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
4024         * rendering/RenderBox.h:
4025         * rendering/RenderLayer.cpp:
4026         (WebCore::RenderLayer::scrollByRecursively):
4027
4028 2009-08-12  Brian Weinstein  <bweinstein@apple.com>
4029
4030         Reviewed by Adam Roben.
4031
4032         Fix of <rdar://6728361> Mouse wheel scrolling on a page with expanded drop down 
4033         list detaches drop down.
4034
4035         Added a function for Windows PopupMenu's to return their class name.
4036
4037          * platform/PopupMenu.h:
4038          * platform/win/PopupMenuWin.cpp:
4039          (WebCore::PopupMenu::popupClassName):
4040
4041 2009-08-12  Shinichiro Hamaji  <hamaji@chromium.org>
4042
4043         Reviewed by Dan Bernstein.
4044
4045         WINCE PORT: Color and Gradient
4046         https://bugs.webkit.org/show_bug.cgi?id=27511
4047
4048         * platform/graphics/wince/ColorWince.cpp: Added.
4049         * platform/graphics/wince/GradientWince.cpp: Added.
4050
4051 2009-08-12  Yong Li  <yong.li@torchmobile.com>
4052
4053         Reviewed by Eric Seidel.
4054
4055         fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
4056         https://bugs.webkit.org/show_bug.cgi?id=28172
4057
4058         No new tests because it's a just typo fix.
4059
4060         * platform/graphics/skia/PlatformContextSkia.cpp:
4061         (PlatformContextSkia::setupPaintCommon):
4062
4063 2009-08-12  Michelangelo De Simone  <micdesim@gmail.com>
4064
4065         Reviewed by Darin Adler.
4066
4067         https://bugs.webkit.org/show_bug.cgi?id=27458
4068         Support for the :default CSS pseudoclass, as per HTML5 spec.
4069         http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#selector-default
4070
4071         Tests: fast/css/pseudo-default-001.html
4072                fast/css/pseudo-default-002.html
4073                fast/css/pseudo-default-003.html
4074                fast/css/pseudo-default-004.html
4075
4076         * css/CSSSelector.cpp:
4077         (WebCore::CSSSelector::extractPseudoType): pseudoDefault
4078         * css/CSSSelector.h:
4079         (WebCore::CSSSelector::):
4080         * css/CSSStyleSelector.cpp:
4081         (WebCore::CSSStyleSelector::canShareStyleWithElement): sharing stuff is
4082         aware that only one default button can be present in a form
4083         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
4084         the :default CSS pseudoclass
4085         * dom/Element.h:
4086         (WebCore::Element::isDefaultButtonForForm): new method to determine
4087         whether a FormControl is a default button for a given form
4088         * html/HTMLFormControlElement.cpp:
4089         (WebCore::HTMLFormControlElement::isDefaultButtonForForm): ditto
4090         * html/HTMLFormControlElement.h:
4091         * html/HTMLFormElement.cpp:
4092         (WebCore::HTMLFormElement::defaultButton): extracts the default button
4093         from the form
4094         * html/HTMLFormElement.h:
4095
4096 2009-08-12  David Levin  <levin@chromium.org>
4097
4098         No review, rolling out r47106.
4099         https://bugs.webkit.org/show_bug.cgi?id=28215
4100
4101         This patch relied on a new version of v8 which is not available
4102         in chromium yet.
4103
4104         * bindings/v8/V8Binding.cpp:
4105         (WebCore::v8StringToAtomicWebCoreString):
4106
4107 2009-08-12  Steve Block  <steveblock@google.com>
4108
4109         Reviewed by Eric Seidel.
4110
4111         Bug 26993 : Geolocation::requestPermission()
4112         https://bugs.webkit.org/show_bug.cgi?id=26993
4113
4114         Second patch to allow the Geolocation permission request to chrome to be asynchronous
4115         or synchronous. Fixes a bug where callbacks were called twice when permissions
4116         are granted synchronously.
4117
4118         No new tests required.
4119
4120         * page/Geolocation.cpp:
4121         (WebCore::Geolocation::setIsAllowed): Modified. Calls makeSuccessCallbacks() rather than geolocationServicePositionChanged().
4122         (WebCore::Geolocation::geolocationServicePositionChanged): Modified. Updated logic to avoid repeated callbacks when permissions are granted synchronously.
4123         (WebCore::Geolocation::makeSuccessCallbacks): Added. Calls success callbacks.
4124         * page/Geolocation.h: Modified. Adds makeSuccessCallbacks().
4125
4126 2009-08-12  Anders Carlsson  <andersca@apple.com>
4127
4128         Reviewed by Sam Weinig.
4129
4130         <rdar://problem/6952336>
4131         CrashTracer: [USER] 3 crashes in Safari at com.apple.WebCore • WebCore::SecurityOrigin::canAccess const + 27
4132
4133         Make sure to set the security origin before calling dispatchWindowObjectAvailable.
4134         
4135         * loader/FrameLoader.cpp:
4136         (WebCore::FrameLoader::begin):
4137
4138 2009-08-12  Xiaomei Ji  <xji@chromium.org>
4139
4140         Reviewed by Eric Seidel.
4141
4142         Fix [Chromium] drop down menu letter selection, skip selections
4143         https://bugs.webkit.org/show_bug.cgi?id=28205
4144
4145         Not auto-testable since it is chromim platform specific code, and it involves sending a keyboard 
4146         event to the popup, which is not possible (eventSender sends the key
4147         events through webview, we want to go through the webwidget).
4148
4149         * manual-tests/keyboard_select_elements_with_same_beginning.html: Added.
4150         * platform/chromium/PopupMenuChromium.cpp:
4151         (WebCore::isCharacterTypeEvent): style change.
4152         (WebCore::PopupListBox::handleKeyEvent): typeAheadFind should be called only when the event is
4153         a character type event to avoid calling twice for English.
4154         (WebCore::PopupListBox::typeAheadFind): remove unnecessary checking of isCharacterTypeEvent() since the whole function is only called under that condition.
4155
4156 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
4157
4158         Reviewed by Eric Seidel.
4159
4160         [Haiku] Adding GraphicsContext to WebCore/platform/graphics/haiku.
4161         https://bugs.webkit.org/show_bug.cgi?id=28130
4162
4163         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Added.
4164         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4165         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
4166         (WebCore::GraphicsContext::GraphicsContext):
4167         (WebCore::GraphicsContext::~GraphicsContext):
4168         (WebCore::GraphicsContext::platformContext):
4169         (WebCore::GraphicsContext::savePlatformState):
4170         (WebCore::GraphicsContext::restorePlatformState):
4171         (WebCore::GraphicsContext::drawRect):
4172         (WebCore::GraphicsContext::drawLine):
4173         (WebCore::GraphicsContext::drawEllipse):
4174         (WebCore::GraphicsContext::strokeArc):
4175         (WebCore::GraphicsContext::strokePath):
4176         (WebCore::GraphicsContext::drawConvexPolygon):
4177         (WebCore::GraphicsContext::fillRect):
4178         (WebCore::GraphicsContext::fillRoundedRect):
4179         (WebCore::GraphicsContext::fillPath):
4180         (WebCore::GraphicsContext::beginPath):
4181         (WebCore::GraphicsContext::addPath):
4182         (WebCore::GraphicsContext::clip):
4183         (WebCore::GraphicsContext::drawFocusRing):
4184         (WebCore::GraphicsContext::drawLineForText):
4185         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
4186         (WebCore::GraphicsContext::roundToDevicePixels):
4187         (WebCore::GraphicsContext::beginTransparencyLayer):
4188         (WebCore::GraphicsContext::endTransparencyLayer):
4189         (WebCore::GraphicsContext::clearRect):
4190         (WebCore::GraphicsContext::strokeRect):
4191         (WebCore::GraphicsContext::setLineCap):
4192         (WebCore::GraphicsContext::setLineJoin):
4193         (WebCore::GraphicsContext::setMiterLimit):
4194         (WebCore::GraphicsContext::setAlpha):
4195         (WebCore::GraphicsContext::setCompositeOperation):
4196         (WebCore::GraphicsContext::clipOut):
4197         (WebCore::GraphicsContext::clipToImageBuffer):
4198         (WebCore::GraphicsContext::getCTM):
4199         (WebCore::GraphicsContext::translate):
4200         (WebCore::GraphicsContext::origin):
4201         (WebCore::GraphicsContext::rotate):
4202         (WebCore::GraphicsContext::scale):
4203         (WebCore::GraphicsContext::clipOutEllipseInRect):
4204         (WebCore::GraphicsContext::addInnerRoundedRectClip):
4205         (WebCore::GraphicsContext::concatCTM):
4206         (WebCore::GraphicsContext::setPlatformShouldAntialias):
4207         (WebCore::GraphicsContext::setImageInterpolationQuality):
4208         (WebCore::GraphicsContext::setURLForRect):
4209         (WebCore::GraphicsContext::setPlatformFont):
4210         (WebCore::GraphicsContext::setPlatformStrokeColor):
4211         (WebCore::GraphicsContext::getHaikuStrokeStyle):
4212         (WebCore::GraphicsContext::setPlatformStrokeStyle):
4213         (WebCore::GraphicsContext::setPlatformStrokeThickness):
4214         (WebCore::GraphicsContext::setPlatformFillColor):
4215         (WebCore::GraphicsContext::clearPlatformShadow):
4216         (WebCore::GraphicsContext::setPlatformShadow):
4217
4218 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
4219
4220         Reviewed by Eric Seidel.
4221
4222         [Haiku] Modifying WebCore/platform/graphics files to allow Haiku port.
4223         https://bugs.webkit.org/show_bug.cgi?id=28128
4224
4225         * platform/graphics/BitmapImage.h: Adding getBBitmap() function.
4226         * platform/graphics/Color.h: rgb_color is the Color struct in Haiku.
4227         * platform/graphics/FloatPoint.h: BPoint is the Point class in Haiku.
4228         * platform/graphics/FloatRect.h: BRect is the Rect class in Haiku.
4229         * platform/graphics/GraphicsContext.cpp: 
4230         * platform/graphics/GraphicsContext.h: BView is the PlatformGraphicsContext
4231         class for Haiku. Adding getHaikuStrokeStyle() function.
4232         * platform/graphics/Icon.h: Adding an empty Icon() constructor because
4233         this class isn't implemented for the moment.
4234         * platform/graphics/ImageSource.h: BBitmap is the native bitmap class 
4235         for Haiku.
4236         * platform/graphics/IntPoint.h: BPoint is the Point class in Haiku.
4237         * platform/graphics/IntRect.h: BRect is the Rect class in Haiku.
4238         * platform/graphics/IntSize.h: BSize is the Size class in Haiku.
4239         * platform/graphics/Path.h: BRegion is the Path class in Haiku.
4240         * platform/graphics/Pattern.h: Adding the GraphicsDef.h header and the 
4241         native pattern type.
4242         * platform/graphics/SimpleFontData.h: Adding Haiku's Font.h header.
4243
4244 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
4245
4246         Reviewed by Eric Seidel.
4247
4248         [Haiku] Adding modification to the WebCore/platform/ files to allow
4249         the Haiku port.
4250         https://bugs.webkit.org/show_bug.cgi?id=28128
4251
4252         * platform/ContextMenuItem.h: BMenu is the PlatformMenuItemDescription
4253         class of Haiku.
4254         * platform/Cursor.h: BCursor is the Cursor class of Haiku.
4255         * platform/DragData.h: Use a BMessage as DragDataRef.
4256         * platform/DragImage.h: Use a BBitmap as DragImageRef.
4257         * platform/PlatformKeyboardEvent.h: Use BMessage as event vehicle.
4258         * platform/PlatformMenuDescription.h: BMenu is the 
4259         PlatformMenuDescription class of Haiku.
4260         * platform/PlatformMouseEvent.h: Use BMessage as event vehicle.
4261         * platform/PlatformWheelEvent.h: Use BMessage as event vehicle.
4262         * platform/PopupMenu.h: Adding a m_menu attribute for Haiku.
4263         * platform/Widget.h: BView is the PlatformWidget class of Haiku.
4264
4265 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
4266
4267         Reviewed by Eric Seidel.
4268
4269         [Haiku] Tiny modifications on WebCore files to allow Haiku port.
4270         https://bugs.webkit.org/show_bug.cgi?id=28128
4271
4272         * bindings/js/ScriptControllerHaiku.cpp: Style cleanup.
4273         * loader/CachedFont.cpp: Haiku behaves like Qt, Gtk, or Chromium,
4274         so many PLATFORM(HAIKU) were added to these functions.
4275         (WebCore::CachedFont::~CachedFont):
4276         (WebCore::CachedFont::ensureCustomFontData):
4277         (WebCore::CachedFont::platformDataFromCustomData):
4278         (WebCore::CachedFont::allClientsRemoved):
4279         * page/EventHandler.cpp: Like the mac and Qt port, Haiku doesn't need the
4280         invertSenseOfTabsToLinks() function.
4281         * page/haiku/DragControllerHaiku.cpp: Style cleanup.
4282         * platform/image-decoders/ImageDecoder.h: For image decoding Haiku
4283         behaves like Cairo or Wx, (not like Skia).
4284         (WebCore::RGBA32Buffer::getAddr):
4285         * platform/text/PlatformString.h: Adding the String(BString&) and BString()
4286         methods specific to Haiku.
4287         * platform/text/UnicodeRange.h: Haiku needs to include stdint.h.
4288         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp:
4289         (WebCore::currentSearchLocaleID): Missing function.
4290
4291 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
4292
4293         Reviewed by Eric Seidel.
4294
4295         [Haiku] Adding the ScrollbarTheme files.
4296         https://bugs.webkit.org/show_bug.cgi?id=28125
4297
4298         * platform/haiku/ScrollbarThemeHaiku.cpp: Added.
4299         (buttonWidth):
4300         (WebCore::ScrollbarTheme::nativeTheme):
4301         (WebCore::ScrollbarThemeHaiku::ScrollbarThemeHaiku):
4302         (WebCore::ScrollbarThemeHaiku::~ScrollbarThemeHaiku):
4303         (WebCore::ScrollbarThemeHaiku::scrollbarThickness):
4304         (WebCore::ScrollbarThemeHaiku::hasButtons):
4305         (WebCore::ScrollbarThemeHaiku::hasThumb):
4306         (WebCore::ScrollbarThemeHaiku::backButtonRect):
4307         (WebCore::ScrollbarThemeHaiku::forwardButtonRect):
4308         (WebCore::ScrollbarThemeHaiku::trackRect):
4309         (WebCore::ScrollbarThemeHaiku::paintScrollbarBackground):
4310         (WebCore::ScrollbarThemeHaiku::paintButton):
4311         (WebCore::ScrollbarThemeHaiku::paintThumb):
4312         * platform/haiku/ScrollbarThemeHaiku.h: Added.
4313
4314 2009-08-12  Maxime Simon  <simon.maxime@gmail.com>
4315
4316         Reviewed by Eric Seidel.
4317
4318         [Haiku] Adding eight simple files to WebCore/platform/graphics/haiku.
4319         https://bugs.webkit.org/show_bug.cgi?id=28122
4320
4321         * platform/graphics/haiku/ColorHaiku.cpp: Added.
4322         (WebCore::Color::Color):
4323         (WebCore::Colo